dashboard.proto 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // Copyright 2022 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. syntax = "proto3";
  15. package google.monitoring.dashboard.v1;
  16. import "google/api/field_behavior.proto";
  17. import "google/api/resource.proto";
  18. import "google/monitoring/dashboard/v1/dashboard_filter.proto";
  19. import "google/monitoring/dashboard/v1/layouts.proto";
  20. option csharp_namespace = "Google.Cloud.Monitoring.Dashboard.V1";
  21. option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
  22. option java_multiple_files = true;
  23. option java_outer_classname = "DashboardsProto";
  24. option java_package = "com.google.monitoring.dashboard.v1";
  25. option php_namespace = "Google\\Cloud\\Monitoring\\Dashboard\\V1";
  26. option ruby_package = "Google::Cloud::Monitoring::Dashboard::V1";
  27. // A Google Stackdriver dashboard. Dashboards define the content and layout
  28. // of pages in the Stackdriver web application.
  29. message Dashboard {
  30. option (google.api.resource) = {
  31. type: "monitoring.googleapis.com/Dashboard"
  32. pattern: "projects/{project}/dashboards/{dashboard}"
  33. };
  34. // Immutable. The resource name of the dashboard.
  35. string name = 1 [(google.api.field_behavior) = IMMUTABLE];
  36. // Required. The mutable, human-readable name.
  37. string display_name = 2 [(google.api.field_behavior) = REQUIRED];
  38. // `etag` is used for optimistic concurrency control as a way to help
  39. // prevent simultaneous updates of a policy from overwriting each other.
  40. // An `etag` is returned in the response to `GetDashboard`, and
  41. // users are expected to put that etag in the request to `UpdateDashboard` to
  42. // ensure that their change will be applied to the same version of the
  43. // Dashboard configuration. The field should not be passed during
  44. // dashboard creation.
  45. string etag = 4;
  46. // A dashboard's root container element that defines the layout style.
  47. oneof layout {
  48. // Content is arranged with a basic layout that re-flows a simple list of
  49. // informational elements like widgets or tiles.
  50. GridLayout grid_layout = 5;
  51. // The content is arranged as a grid of tiles, with each content widget
  52. // occupying one or more grid blocks.
  53. MosaicLayout mosaic_layout = 6;
  54. // The content is divided into equally spaced rows and the widgets are
  55. // arranged horizontally.
  56. RowLayout row_layout = 8;
  57. // The content is divided into equally spaced columns and the widgets are
  58. // arranged vertically.
  59. ColumnLayout column_layout = 9;
  60. }
  61. // Filters to reduce the amount of data charted based on the filter criteria.
  62. repeated DashboardFilter dashboard_filters = 11;
  63. // Labels applied to the dashboard
  64. map<string, string> labels = 12;
  65. }