1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.monitoring.dashboard.v1; 18 19import "google/api/field_behavior.proto"; 20import "google/monitoring/dashboard/v1/alertchart.proto"; 21import "google/monitoring/dashboard/v1/collapsible_group.proto"; 22import "google/monitoring/dashboard/v1/error_reporting_panel.proto"; 23import "google/monitoring/dashboard/v1/incident_list.proto"; 24import "google/monitoring/dashboard/v1/logs_panel.proto"; 25import "google/monitoring/dashboard/v1/piechart.proto"; 26import "google/monitoring/dashboard/v1/scorecard.proto"; 27import "google/monitoring/dashboard/v1/section_header.proto"; 28import "google/monitoring/dashboard/v1/single_view_group.proto"; 29import "google/monitoring/dashboard/v1/table.proto"; 30import "google/monitoring/dashboard/v1/text.proto"; 31import "google/monitoring/dashboard/v1/xychart.proto"; 32import "google/protobuf/empty.proto"; 33 34option csharp_namespace = "Google.Cloud.Monitoring.Dashboard.V1"; 35option go_package = "cloud.google.com/go/monitoring/dashboard/apiv1/dashboardpb;dashboardpb"; 36option java_multiple_files = true; 37option java_outer_classname = "WidgetProto"; 38option java_package = "com.google.monitoring.dashboard.v1"; 39option php_namespace = "Google\\Cloud\\Monitoring\\Dashboard\\V1"; 40option ruby_package = "Google::Cloud::Monitoring::Dashboard::V1"; 41 42// Widget contains a single dashboard component and configuration of how to 43// present the component in the dashboard. 44message Widget { 45 // Optional. The title of the widget. 46 string title = 1 [(google.api.field_behavior) = OPTIONAL]; 47 48 // Content defines the component used to populate the widget. 49 oneof content { 50 // A chart of time series data. 51 XyChart xy_chart = 2; 52 53 // A scorecard summarizing time series data. 54 Scorecard scorecard = 3; 55 56 // A raw string or markdown displaying textual content. 57 Text text = 4; 58 59 // A blank space. 60 google.protobuf.Empty blank = 5; 61 62 // A chart of alert policy data. 63 AlertChart alert_chart = 7; 64 65 // A widget that displays time series data in a tabular format. 66 TimeSeriesTable time_series_table = 8; 67 68 // A widget that groups the other widgets. All widgets that are within 69 // the area spanned by the grouping widget are considered member widgets. 70 CollapsibleGroup collapsible_group = 9; 71 72 // A widget that shows a stream of logs. 73 LogsPanel logs_panel = 10; 74 75 // A widget that shows list of incidents. 76 IncidentList incident_list = 12; 77 78 // A widget that displays timeseries data as a pie chart. 79 PieChart pie_chart = 14; 80 81 // A widget that displays a list of error groups. 82 ErrorReportingPanel error_reporting_panel = 19; 83 84 // A widget that defines a section header for easier navigation of the 85 // dashboard. 86 SectionHeader section_header = 21; 87 88 // A widget that groups the other widgets by using a dropdown menu. 89 SingleViewGroup single_view_group = 22; 90 } 91 92 // Optional. The widget id. Ids may be made up of alphanumerics, dashes and 93 // underscores. Widget ids are optional. 94 string id = 17 [(google.api.field_behavior) = OPTIONAL]; 95} 96