| 
									
										
										
										
											2019-10-17 00:37:28 +00:00
										 |  |  | # Copyright 2015 Google Inc. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Licensed under the Apache License, Version 2.0 (the "License"); | 
					
						
							|  |  |  | # you may not use this file except in compliance with the License. | 
					
						
							|  |  |  | # You may obtain a copy of the License at | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | #      http://www.apache.org/licenses/LICENSE-2.0 | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Unless required by applicable law or agreed to in writing, software | 
					
						
							|  |  |  | # distributed under the License is distributed on an "AS IS" BASIS, | 
					
						
							|  |  |  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
					
						
							|  |  |  | # See the License for the specific language governing permissions and | 
					
						
							|  |  |  | # limitations under the License. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require 'date' | 
					
						
							|  |  |  | require 'google/apis/core/base_service' | 
					
						
							|  |  |  | require 'google/apis/core/json_representation' | 
					
						
							|  |  |  | require 'google/apis/core/hashable' | 
					
						
							|  |  |  | require 'google/apis/errors' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Google | 
					
						
							|  |  |  |   module Apis | 
					
						
							|  |  |  |     module MonitoringV1 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |       # Describes how to combine multiple time series to provide a different view of | 
					
						
							|  |  |  |       # the data. Aggregation of time series is done in two steps. First, each time | 
					
						
							|  |  |  |       # series in the set is aligned to the same time interval boundaries, then the | 
					
						
							|  |  |  |       # set of time series is optionally reduced in number.Alignment consists of | 
					
						
							|  |  |  |       # applying the per_series_aligner operation to each time series after its data | 
					
						
							|  |  |  |       # has been divided into regular alignment_period time intervals. This process | 
					
						
							|  |  |  |       # takes all of the data points in an alignment period, applies a mathematical | 
					
						
							|  |  |  |       # transformation such as averaging, minimum, maximum, delta, etc., and converts | 
					
						
							|  |  |  |       # them into a single data point per period.Reduction is when the aligned and | 
					
						
							|  |  |  |       # transformed time series can optionally be combined, reducing the number of | 
					
						
							|  |  |  |       # time series through similar mathematical transformations. Reduction involves | 
					
						
							|  |  |  |       # applying a cross_series_reducer to all the time series, optionally sorting the | 
					
						
							|  |  |  |       # time series into subsets with group_by_fields, and applying the reducer to | 
					
						
							|  |  |  |       # each subset.The raw time series data can contain a huge amount of information | 
					
						
							|  |  |  |       # from multiple sources. Alignment and reduction transforms this mass of data | 
					
						
							|  |  |  |       # into a more manageable and representative collection of data, for example "the | 
					
						
							|  |  |  |       # 95% latency across the average of all tasks in a cluster". This representative | 
					
						
							|  |  |  |       # data can be more easily graphed and comprehended, and the individual time | 
					
						
							|  |  |  |       # series data is still available for later drilldown. For more details, see | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |       # Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/ | 
					
						
							|  |  |  |       # aggregation). | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       class Aggregation | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # The alignment_period specifies a time interval, in seconds, that is used to | 
					
						
							|  |  |  |         # divide the data in all the time series into consistent blocks of time. This | 
					
						
							|  |  |  |         # will be done before the per-series aligner can be applied to the data.The | 
					
						
							|  |  |  |         # value must be at least 60 seconds. If a per-series aligner other than | 
					
						
							|  |  |  |         # ALIGN_NONE is specified, this field is required or an error is returned. If no | 
					
						
							|  |  |  |         # per-series aligner is specified, or the aligner ALIGN_NONE is specified, then | 
					
						
							| 
									
										
										
										
											2020-07-24 00:38:50 +00:00
										 |  |  |         # this field is ignored.The maximum value of the alignment_period is 2 years, or | 
					
						
							|  |  |  |         # 104 weeks. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `alignmentPeriod` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :alignment_period | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # The reduction operation to be used to combine time series into a single time | 
					
						
							|  |  |  |         # series, where the value of each data point in the resulting series is a | 
					
						
							|  |  |  |         # function of all the already aligned values in the input time series.Not all | 
					
						
							|  |  |  |         # reducer operations can be applied to all time series. The valid choices depend | 
					
						
							|  |  |  |         # on the metric_kind and the value_type of the original time series. Reduction | 
					
						
							|  |  |  |         # can yield a time series with a different metric_kind or value_type than the | 
					
						
							|  |  |  |         # input time series.Time series data must first be aligned (see | 
					
						
							|  |  |  |         # per_series_aligner) in order to perform cross-time series reduction. If | 
					
						
							|  |  |  |         # cross_series_reducer is specified, then per_series_aligner must be specified, | 
					
						
							|  |  |  |         # and must not be ALIGN_NONE. An alignment_period must also be specified; | 
					
						
							|  |  |  |         # otherwise, an error is returned. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `crossSeriesReducer` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :cross_series_reducer | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # The set of fields to preserve when cross_series_reducer is specified. The | 
					
						
							|  |  |  |         # group_by_fields determine how the time series are partitioned into subsets | 
					
						
							|  |  |  |         # prior to applying the aggregation operation. Each subset contains time series | 
					
						
							|  |  |  |         # that have the same value for each of the grouping fields. Each individual time | 
					
						
							|  |  |  |         # series is a member of exactly one subset. The cross_series_reducer is applied | 
					
						
							|  |  |  |         # to each subset of time series. It is not possible to reduce across different | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # resource types, so this field implicitly contains resource.type. Fields not | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # specified in group_by_fields are aggregated away. If group_by_fields is not | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # specified and all the time series have the same resource type, then the time | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # series are aggregated into a single output time series. If | 
					
						
							|  |  |  |         # cross_series_reducer is not defined, this field is ignored. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `groupByFields` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :group_by_fields | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # An Aligner describes how to bring the data points in a single time series into | 
					
						
							|  |  |  |         # temporal alignment. Except for ALIGN_NONE, all alignments cause all the data | 
					
						
							|  |  |  |         # points in an alignment_period to be mathematically grouped together, resulting | 
					
						
							|  |  |  |         # in a single data point for each alignment_period with end timestamp at the end | 
					
						
							|  |  |  |         # of the period.Not all alignment operations may be applied to all time series. | 
					
						
							|  |  |  |         # The valid choices depend on the metric_kind and value_type of the original | 
					
						
							|  |  |  |         # time series. Alignment can change the metric_kind or the value_type of the | 
					
						
							|  |  |  |         # time series.Time series data must be aligned in order to perform cross-time | 
					
						
							|  |  |  |         # series reduction. If cross_series_reducer is specified, then | 
					
						
							|  |  |  |         # per_series_aligner must be specified and not equal to ALIGN_NONE and | 
					
						
							|  |  |  |         # alignment_period must be specified; otherwise, an error is returned. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `perSeriesAligner` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :per_series_aligner | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @alignment_period = args[:alignment_period] if args.key?(:alignment_period) | 
					
						
							|  |  |  |           @cross_series_reducer = args[:cross_series_reducer] if args.key?(:cross_series_reducer) | 
					
						
							|  |  |  |           @group_by_fields = args[:group_by_fields] if args.key?(:group_by_fields) | 
					
						
							|  |  |  |           @per_series_aligner = args[:per_series_aligner] if args.key?(:per_series_aligner) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A chart axis. | 
					
						
							|  |  |  |       class Axis | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The label of the axis. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `label` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :label | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The axis scale. By default, a linear scale is used. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `scale` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :scale | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @label = args[:label] if args.key?(:label) | 
					
						
							|  |  |  |           @scale = args[:scale] if args.key?(:scale) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Options to control visual rendering of a chart. | 
					
						
							|  |  |  |       class ChartOptions | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The chart mode. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `mode` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :mode | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @mode = args[:mode] if args.key?(:mode) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Defines the layout properties and content for a column. | 
					
						
							|  |  |  |       class Column | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The relative weight of this column. The column weight is used to adjust the | 
					
						
							| 
									
										
										
										
											2019-12-14 00:37:41 +00:00
										 |  |  |         # width of columns on the screen (relative to peers). Greater the weight, | 
					
						
							|  |  |  |         # greater the width of the column on the screen. If omitted, a value of 1 is | 
					
						
							|  |  |  |         # used while rendering. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `weight` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :weight | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The display widgets arranged vertically in this column. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `widgets` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Widget>] | 
					
						
							|  |  |  |         attr_accessor :widgets | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @weight = args[:weight] if args.key?(:weight) | 
					
						
							|  |  |  |           @widgets = args[:widgets] if args.key?(:widgets) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A simplified layout that divides the available space into vertical columns and | 
					
						
							|  |  |  |       # arranges a set of widgets vertically in each column. | 
					
						
							|  |  |  |       class ColumnLayout | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The columns of content to display. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `columns` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Column>] | 
					
						
							|  |  |  |         attr_accessor :columns | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @columns = args[:columns] if args.key?(:columns) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A Google Stackdriver dashboard. Dashboards define the content and layout of | 
					
						
							|  |  |  |       # pages in the Stackdriver web application. | 
					
						
							|  |  |  |       class Dashboard | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A simplified layout that divides the available space into vertical columns and | 
					
						
							|  |  |  |         # arranges a set of widgets vertically in each column. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `columnLayout` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::ColumnLayout] | 
					
						
							|  |  |  |         attr_accessor :column_layout | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Required. The mutable, human-readable name. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `displayName` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :display_name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # etag is used for optimistic concurrency control as a way to help prevent | 
					
						
							|  |  |  |         # simultaneous updates of a policy from overwriting each other. An etag is | 
					
						
							|  |  |  |         # returned in the response to GetDashboard, and users are expected to put that | 
					
						
							|  |  |  |         # etag in the request to UpdateDashboard to ensure that their change will be | 
					
						
							|  |  |  |         # applied to the same version of the Dashboard configuration. The field should | 
					
						
							|  |  |  |         # not be passed during dashboard creation. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `etag` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :etag | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A basic layout divides the available space into vertical columns of equal | 
					
						
							|  |  |  |         # width and arranges a list of widgets using a row-first strategy. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `gridLayout` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::GridLayout] | 
					
						
							|  |  |  |         attr_accessor :grid_layout | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-09-19 00:39:29 +00:00
										 |  |  |         # A mosaic layout divides the available space into a grid of blocks, and | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |         # overlays the grid with tiles. Unlike GridLayout, tiles may span multiple grid | 
					
						
							| 
									
										
										
										
											2020-09-19 00:39:29 +00:00
										 |  |  |         # blocks and can be placed at arbitrary locations in the grid. | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |         # Corresponds to the JSON property `mosaicLayout` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::MosaicLayout] | 
					
						
							|  |  |  |         attr_accessor :mosaic_layout | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Immutable. The resource name of the dashboard. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A simplified layout that divides the available space into rows and arranges a | 
					
						
							|  |  |  |         # set of widgets horizontally in each row. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `rowLayout` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::RowLayout] | 
					
						
							|  |  |  |         attr_accessor :row_layout | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @column_layout = args[:column_layout] if args.key?(:column_layout) | 
					
						
							|  |  |  |           @display_name = args[:display_name] if args.key?(:display_name) | 
					
						
							|  |  |  |           @etag = args[:etag] if args.key?(:etag) | 
					
						
							|  |  |  |           @grid_layout = args[:grid_layout] if args.key?(:grid_layout) | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |           @mosaic_layout = args[:mosaic_layout] if args.key?(:mosaic_layout) | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |           @name = args[:name] if args.key?(:name) | 
					
						
							|  |  |  |           @row_layout = args[:row_layout] if args.key?(:row_layout) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Groups a time series query definition with charting options. | 
					
						
							|  |  |  |       class DataSet | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A template string for naming TimeSeries in the resulting data set. This should | 
					
						
							|  |  |  |         # be a string with interpolations of the form $`label_name`, which will resolve | 
					
						
							|  |  |  |         # to the label's value. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `legendTemplate` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :legend_template | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-14 00:37:41 +00:00
										 |  |  |         # Optional. The lower bound on data point frequency for this data set, | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # implemented by specifying the minimum alignment period to use in a time series | 
					
						
							| 
									
										
										
										
											2019-12-14 00:37:41 +00:00
										 |  |  |         # query For example, if the data is published once every 10 minutes, the | 
					
						
							|  |  |  |         # min_alignment_period should be at least 10 minutes. It would not make sense to | 
					
						
							|  |  |  |         # fetch and align data at one minute intervals. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `minAlignmentPeriod` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :min_alignment_period | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # How this data should be plotted on the chart. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `plotType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :plot_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # TimeSeriesQuery collects the set of supported methods for querying time series | 
					
						
							|  |  |  |         # data from the Stackdriver metrics API. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `timeSeriesQuery` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::TimeSeriesQuery] | 
					
						
							|  |  |  |         attr_accessor :time_series_query | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @legend_template = args[:legend_template] if args.key?(:legend_template) | 
					
						
							|  |  |  |           @min_alignment_period = args[:min_alignment_period] if args.key?(:min_alignment_period) | 
					
						
							|  |  |  |           @plot_type = args[:plot_type] if args.key?(:plot_type) | 
					
						
							|  |  |  |           @time_series_query = args[:time_series_query] if args.key?(:time_series_query) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-07-31 00:37:55 +00:00
										 |  |  |       # A set of (label, value) pairs that were removed from a Distribution time | 
					
						
							|  |  |  |       # series during aggregation and then added as an attachment to a Distribution. | 
					
						
							|  |  |  |       # Exemplar.The full label set for the exemplars is constructed by using the | 
					
						
							|  |  |  |       # dropped pairs in combination with the label values that remain on the | 
					
						
							|  |  |  |       # aggregated Distribution time series. The constructed full label set can be | 
					
						
							|  |  |  |       # used to identify the specific entity, such as the instance or job, which might | 
					
						
							|  |  |  |       # be contributing to a long-tail. However, with dropped labels, the storage | 
					
						
							|  |  |  |       # requirements are reduced because only the aggregated distribution values for a | 
					
						
							|  |  |  |       # large group of time series are stored.Note that there are no guarantees on | 
					
						
							|  |  |  |       # ordering of the labels from exemplar-to-exemplar and from distribution-to- | 
					
						
							|  |  |  |       # distribution in the same stream, and there may be duplicates. It is up to | 
					
						
							|  |  |  |       # clients to resolve any ambiguities. | 
					
						
							| 
									
										
										
										
											2019-10-17 00:37:28 +00:00
										 |  |  |       class DroppedLabels | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Map from label to its value, for all labels dropped in any aggregation. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `label` | 
					
						
							|  |  |  |         # @return [Hash<String,String>] | 
					
						
							|  |  |  |         attr_accessor :label | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @label = args[:label] if args.key?(:label) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       # A generic empty message that you can re-use to avoid defining duplicated empty | 
					
						
							|  |  |  |       # messages in your APIs. A typical example is to use it as the request or the | 
					
						
							| 
									
										
										
										
											2020-08-07 00:38:13 +00:00
										 |  |  |       # response type of an API method. For instance: service Foo ` rpc Bar(google. | 
					
						
							|  |  |  |       # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for | 
					
						
							|  |  |  |       # Empty is empty JSON object ``. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       class Empty | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-10-17 00:37:28 +00:00
										 |  |  |       # A single field of a message type. | 
					
						
							|  |  |  |       class Field | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The field cardinality. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `cardinality` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :cardinality | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The string value of the default value of this field. Proto2 syntax only. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `defaultValue` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :default_value | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The field JSON name. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `jsonName` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :json_name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The field type. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The field name. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The field number. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `number` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :number | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The index of the field type in Type.oneofs, for message or enumeration types. | 
					
						
							|  |  |  |         # The first type has index 1; zero means the type is not in the list. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `oneofIndex` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :oneof_index | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The protocol buffer options. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `options` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Option>] | 
					
						
							|  |  |  |         attr_accessor :options | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Whether to use alternative packed wire representation. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `packed` | 
					
						
							|  |  |  |         # @return [Boolean] | 
					
						
							|  |  |  |         attr_accessor :packed | 
					
						
							|  |  |  |         alias_method :packed?, :packed | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The field type URL, without the scheme, for message or enumeration types. | 
					
						
							|  |  |  |         # Example: "type.googleapis.com/google.protobuf.Timestamp". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `typeUrl` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :type_url | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @cardinality = args[:cardinality] if args.key?(:cardinality) | 
					
						
							|  |  |  |           @default_value = args[:default_value] if args.key?(:default_value) | 
					
						
							|  |  |  |           @json_name = args[:json_name] if args.key?(:json_name) | 
					
						
							|  |  |  |           @kind = args[:kind] if args.key?(:kind) | 
					
						
							|  |  |  |           @name = args[:name] if args.key?(:name) | 
					
						
							|  |  |  |           @number = args[:number] if args.key?(:number) | 
					
						
							|  |  |  |           @oneof_index = args[:oneof_index] if args.key?(:oneof_index) | 
					
						
							|  |  |  |           @options = args[:options] if args.key?(:options) | 
					
						
							|  |  |  |           @packed = args[:packed] if args.key?(:packed) | 
					
						
							|  |  |  |           @type_url = args[:type_url] if args.key?(:type_url) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       # A gauge chart shows where the current value sits within a pre-defined range. | 
					
						
							|  |  |  |       # The upper and lower bounds should define the possible range of values for the | 
					
						
							|  |  |  |       # scorecard's query (inclusive). | 
					
						
							|  |  |  |       class GaugeView | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The lower bound for this gauge chart. The value of the chart should always be | 
					
						
							|  |  |  |         # greater than or equal to this. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `lowerBound` | 
					
						
							|  |  |  |         # @return [Float] | 
					
						
							|  |  |  |         attr_accessor :lower_bound | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The upper bound for this gauge chart. The value of the chart should always be | 
					
						
							|  |  |  |         # less than or equal to this. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `upperBound` | 
					
						
							|  |  |  |         # @return [Float] | 
					
						
							|  |  |  |         attr_accessor :upper_bound | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @lower_bound = args[:lower_bound] if args.key?(:lower_bound) | 
					
						
							|  |  |  |           @upper_bound = args[:upper_bound] if args.key?(:upper_bound) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A basic layout divides the available space into vertical columns of equal | 
					
						
							|  |  |  |       # width and arranges a list of widgets using a row-first strategy. | 
					
						
							|  |  |  |       class GridLayout | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The number of columns into which the view's width is divided. If omitted or | 
					
						
							| 
									
										
										
										
											2019-12-14 00:37:41 +00:00
										 |  |  |         # set to zero, a system default will be used while rendering. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `columns` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :columns | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The informational elements that are arranged into the columns row-first. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `widgets` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Widget>] | 
					
						
							|  |  |  |         attr_accessor :widgets | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @columns = args[:columns] if args.key?(:columns) | 
					
						
							|  |  |  |           @widgets = args[:widgets] if args.key?(:widgets) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The ListDashboards request. | 
					
						
							|  |  |  |       class ListDashboardsResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The list of requested dashboards. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dashboards` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Dashboard>] | 
					
						
							|  |  |  |         attr_accessor :dashboards | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # If there are more results than have been returned, then this field is set to a | 
					
						
							| 
									
										
										
										
											2020-02-14 00:37:48 +00:00
										 |  |  |         # non-empty value. To see the additional results, use that value as page_token | 
					
						
							|  |  |  |         # in the next call to this method. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `nextPageToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :next_page_token | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @dashboards = args[:dashboards] if args.key?(:dashboards) | 
					
						
							|  |  |  |           @next_page_token = args[:next_page_token] if args.key?(:next_page_token) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-09-19 00:39:29 +00:00
										 |  |  |       # A mosaic layout divides the available space into a grid of blocks, and | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |       # overlays the grid with tiles. Unlike GridLayout, tiles may span multiple grid | 
					
						
							| 
									
										
										
										
											2020-09-19 00:39:29 +00:00
										 |  |  |       # blocks and can be placed at arbitrary locations in the grid. | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |       class MosaicLayout | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-09-14 23:21:28 +00:00
										 |  |  |         # The number of columns in the mosaic grid. The number of columns must be | 
					
						
							|  |  |  |         # between 1 and 12, inclusive. | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |         # Corresponds to the JSON property `columns` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :columns | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The tiles to display. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `tiles` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Tile>] | 
					
						
							|  |  |  |         attr_accessor :tiles | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @columns = args[:columns] if args.key?(:columns) | 
					
						
							|  |  |  |           @tiles = args[:tiles] if args.key?(:tiles) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-10-17 00:37:28 +00:00
										 |  |  |       # A protocol buffer option, which can be attached to a message, field, | 
					
						
							|  |  |  |       # enumeration, etc. | 
					
						
							|  |  |  |       class Option | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The option's name. For protobuf built-in options (options defined in | 
					
						
							|  |  |  |         # descriptor.proto), this is the short name. For example, "map_entry". For | 
					
						
							|  |  |  |         # custom options, it should be the fully-qualified name. For example, "google. | 
					
						
							|  |  |  |         # api.http". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The option's value packed in an Any message. If the value is a primitive, the | 
					
						
							|  |  |  |         # corresponding wrapper type defined in google/protobuf/wrappers.proto should be | 
					
						
							|  |  |  |         # used. If the value is an enum, it should be stored as an int32 value using the | 
					
						
							|  |  |  |         # google.protobuf.Int32Value type. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `value` | 
					
						
							|  |  |  |         # @return [Hash<String,Object>] | 
					
						
							|  |  |  |         attr_accessor :value | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @name = args[:name] if args.key?(:name) | 
					
						
							|  |  |  |           @value = args[:value] if args.key?(:value) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       # Describes a ranking-based time series filter. Each input time series is ranked | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |       # with an aligner. The filter will allow up to num_time_series time series to | 
					
						
							|  |  |  |       # pass through it, selecting them based on the relative ranking.For example, if | 
					
						
							|  |  |  |       # ranking_method is METHOD_MEAN,direction is BOTTOM, and num_time_series is 3, | 
					
						
							|  |  |  |       # then the 3 times series with the lowest mean values will pass through the | 
					
						
							|  |  |  |       # filter. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       class PickTimeSeriesFilter | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # How to use the ranking to select time series that pass through the filter. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `direction` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :direction | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # How many time series to allow to pass through the filter. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `numTimeSeries` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :num_time_series | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # ranking_method is applied to each time series independently to produce the | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # value which will be used to compare the time series to other time series. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `rankingMethod` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :ranking_method | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @direction = args[:direction] if args.key?(:direction) | 
					
						
							|  |  |  |           @num_time_series = args[:num_time_series] if args.key?(:num_time_series) | 
					
						
							|  |  |  |           @ranking_method = args[:ranking_method] if args.key?(:ranking_method) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Describes a query to build the numerator or denominator of a | 
					
						
							|  |  |  |       # TimeSeriesFilterRatio. | 
					
						
							|  |  |  |       class RatioPart | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Describes how to combine multiple time series to provide a different view of | 
					
						
							|  |  |  |         # the data. Aggregation of time series is done in two steps. First, each time | 
					
						
							|  |  |  |         # series in the set is aligned to the same time interval boundaries, then the | 
					
						
							|  |  |  |         # set of time series is optionally reduced in number.Alignment consists of | 
					
						
							|  |  |  |         # applying the per_series_aligner operation to each time series after its data | 
					
						
							|  |  |  |         # has been divided into regular alignment_period time intervals. This process | 
					
						
							|  |  |  |         # takes all of the data points in an alignment period, applies a mathematical | 
					
						
							|  |  |  |         # transformation such as averaging, minimum, maximum, delta, etc., and converts | 
					
						
							|  |  |  |         # them into a single data point per period.Reduction is when the aligned and | 
					
						
							|  |  |  |         # transformed time series can optionally be combined, reducing the number of | 
					
						
							|  |  |  |         # time series through similar mathematical transformations. Reduction involves | 
					
						
							|  |  |  |         # applying a cross_series_reducer to all the time series, optionally sorting the | 
					
						
							|  |  |  |         # time series into subsets with group_by_fields, and applying the reducer to | 
					
						
							|  |  |  |         # each subset.The raw time series data can contain a huge amount of information | 
					
						
							|  |  |  |         # from multiple sources. Alignment and reduction transforms this mass of data | 
					
						
							|  |  |  |         # into a more manageable and representative collection of data, for example "the | 
					
						
							|  |  |  |         # 95% latency across the average of all tasks in a cluster". This representative | 
					
						
							|  |  |  |         # data can be more easily graphed and comprehended, and the individual time | 
					
						
							|  |  |  |         # series data is still available for later drilldown. For more details, see | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/ | 
					
						
							|  |  |  |         # aggregation). | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `aggregation` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Aggregation] | 
					
						
							|  |  |  |         attr_accessor :aggregation | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Required. The monitoring filter (https://cloud.google.com/monitoring/api/v3/ | 
					
						
							|  |  |  |         # filters) that identifies the metric types, resources, and projects to query. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `filter` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :filter | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @aggregation = args[:aggregation] if args.key?(:aggregation) | 
					
						
							|  |  |  |           @filter = args[:filter] if args.key?(:filter) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Defines the layout properties and content for a row. | 
					
						
							|  |  |  |       class Row | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The relative weight of this row. The row weight is used to adjust the height | 
					
						
							| 
									
										
										
										
											2019-12-14 00:37:41 +00:00
										 |  |  |         # of rows on the screen (relative to peers). Greater the weight, greater the | 
					
						
							|  |  |  |         # height of the row on the screen. If omitted, a value of 1 is used while | 
					
						
							|  |  |  |         # rendering. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `weight` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :weight | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The display widgets arranged horizontally in this row. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `widgets` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Widget>] | 
					
						
							|  |  |  |         attr_accessor :widgets | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @weight = args[:weight] if args.key?(:weight) | 
					
						
							|  |  |  |           @widgets = args[:widgets] if args.key?(:widgets) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A simplified layout that divides the available space into rows and arranges a | 
					
						
							|  |  |  |       # set of widgets horizontally in each row. | 
					
						
							|  |  |  |       class RowLayout | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The rows of content to display. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `rows` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Row>] | 
					
						
							|  |  |  |         attr_accessor :rows | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @rows = args[:rows] if args.key?(:rows) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A widget showing the latest value of a metric, and how this value relates to | 
					
						
							|  |  |  |       # one or more thresholds. | 
					
						
							|  |  |  |       class Scorecard | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A gauge chart shows where the current value sits within a pre-defined range. | 
					
						
							|  |  |  |         # The upper and lower bounds should define the possible range of values for the | 
					
						
							|  |  |  |         # scorecard's query (inclusive). | 
					
						
							|  |  |  |         # Corresponds to the JSON property `gaugeView` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::GaugeView] | 
					
						
							|  |  |  |         attr_accessor :gauge_view | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A sparkChart is a small chart suitable for inclusion in a table-cell or inline | 
					
						
							|  |  |  |         # in text. This message contains the configuration for a sparkChart to show up | 
					
						
							|  |  |  |         # on a Scorecard, showing recent trends of the scorecard's timeseries. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `sparkChartView` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::SparkChartView] | 
					
						
							|  |  |  |         attr_accessor :spark_chart_view | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The thresholds used to determine the state of the scorecard given the time | 
					
						
							|  |  |  |         # series' current value. For an actual value x, the scorecard is in a danger | 
					
						
							|  |  |  |         # state if x is less than or equal to a danger threshold that triggers below, or | 
					
						
							|  |  |  |         # greater than or equal to a danger threshold that triggers above. Similarly, if | 
					
						
							|  |  |  |         # x is above/below a warning threshold that triggers above/below, then the | 
					
						
							|  |  |  |         # scorecard is in a warning state - unless x also puts it in a danger state. ( | 
					
						
							|  |  |  |         # Danger trumps warning.)As an example, consider a scorecard with the following | 
					
						
							| 
									
										
										
										
											2020-08-07 00:38:13 +00:00
										 |  |  |         # four thresholds: ` value: 90, category: 'DANGER', trigger: 'ABOVE', `, ` value: | 
					
						
							|  |  |  |         # 70, category: 'WARNING', trigger: 'ABOVE', `, ` value: 10, category: 'DANGER', | 
					
						
							|  |  |  |         # trigger: 'BELOW', `, ` value: 20, category: 'WARNING', trigger: 'BELOW', ` | 
					
						
							|  |  |  |         # Then: values less than or equal to 10 would put the scorecard in a DANGER | 
					
						
							|  |  |  |         # state, values greater than 10 but less than or equal to 20 a WARNING state, | 
					
						
							|  |  |  |         # values strictly between 20 and 70 an OK state, values greater than or equal to | 
					
						
							|  |  |  |         # 70 but less than 90 a WARNING state, and values greater than or equal to 90 a | 
					
						
							|  |  |  |         # DANGER state. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `thresholds` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Threshold>] | 
					
						
							|  |  |  |         attr_accessor :thresholds | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # TimeSeriesQuery collects the set of supported methods for querying time series | 
					
						
							|  |  |  |         # data from the Stackdriver metrics API. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `timeSeriesQuery` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::TimeSeriesQuery] | 
					
						
							|  |  |  |         attr_accessor :time_series_query | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @gauge_view = args[:gauge_view] if args.key?(:gauge_view) | 
					
						
							|  |  |  |           @spark_chart_view = args[:spark_chart_view] if args.key?(:spark_chart_view) | 
					
						
							|  |  |  |           @thresholds = args[:thresholds] if args.key?(:thresholds) | 
					
						
							|  |  |  |           @time_series_query = args[:time_series_query] if args.key?(:time_series_query) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-10-17 00:37:28 +00:00
										 |  |  |       # SourceContext represents information about the source of a protobuf element, | 
					
						
							|  |  |  |       # like the file in which it is defined. | 
					
						
							|  |  |  |       class SourceContext | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The path-qualified name of the .proto file that contained the associated | 
					
						
							|  |  |  |         # protobuf element. For example: "google/protobuf/source_context.proto". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `fileName` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :file_name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @file_name = args[:file_name] if args.key?(:file_name) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-02-14 00:37:48 +00:00
										 |  |  |       # The context of a span, attached to Exemplars in Distribution values during | 
					
						
							| 
									
										
										
										
											2020-08-07 00:38:13 +00:00
										 |  |  |       # aggregation.It contains the name of a span with format: projects/[ | 
					
						
							|  |  |  |       # PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] | 
					
						
							| 
									
										
										
										
											2019-10-17 00:37:28 +00:00
										 |  |  |       class SpanContext | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-07 00:38:13 +00:00
										 |  |  |         # The resource name of the span. The format is: projects/[PROJECT_ID_OR_NUMBER]/ | 
					
						
							|  |  |  |         # traces/[TRACE_ID]/spans/[SPAN_ID] [TRACE_ID] is a unique identifier for a | 
					
						
							|  |  |  |         # trace within a project; it is a 32-character hexadecimal encoding of a 16-byte | 
					
						
							|  |  |  |         # array.[SPAN_ID] is a unique identifier for a span within a trace; it is a 16- | 
					
						
							|  |  |  |         # character hexadecimal encoding of an 8-byte array. | 
					
						
							| 
									
										
										
										
											2019-10-17 00:37:28 +00:00
										 |  |  |         # Corresponds to the JSON property `spanName` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :span_name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @span_name = args[:span_name] if args.key?(:span_name) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       # A sparkChart is a small chart suitable for inclusion in a table-cell or inline | 
					
						
							|  |  |  |       # in text. This message contains the configuration for a sparkChart to show up | 
					
						
							|  |  |  |       # on a Scorecard, showing recent trends of the scorecard's timeseries. | 
					
						
							|  |  |  |       class SparkChartView | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The lower bound on data point frequency in the chart implemented by specifying | 
					
						
							|  |  |  |         # the minimum alignment period to use in a time series query. For example, if | 
					
						
							|  |  |  |         # the data is published once every 10 minutes it would not make sense to fetch | 
					
						
							|  |  |  |         # and align data at one minute intervals. This field is optional and exists only | 
					
						
							|  |  |  |         # as a hint. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `minAlignmentPeriod` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :min_alignment_period | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Required. The type of sparkchart to show in this chartView. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `sparkChartType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :spark_chart_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @min_alignment_period = args[:min_alignment_period] if args.key?(:min_alignment_period) | 
					
						
							|  |  |  |           @spark_chart_type = args[:spark_chart_type] if args.key?(:spark_chart_type) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-06-12 00:38:41 +00:00
										 |  |  |       # A filter that ranks streams based on their statistical relation to other | 
					
						
							|  |  |  |       # streams in a request. Note: This field is deprecated and completely ignored by | 
					
						
							|  |  |  |       # the API. | 
					
						
							|  |  |  |       class StatisticalTimeSeriesFilter | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # How many time series to output. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `numTimeSeries` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :num_time_series | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # rankingMethod is applied to a set of time series, and then the produced value | 
					
						
							|  |  |  |         # for each individual time series is used to compare a given time series to | 
					
						
							|  |  |  |         # others. These are methods that cannot be applied stream-by-stream, but rather | 
					
						
							|  |  |  |         # require the full context of a request to evaluate time series. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `rankingMethod` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :ranking_method | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @num_time_series = args[:num_time_series] if args.key?(:num_time_series) | 
					
						
							|  |  |  |           @ranking_method = args[:ranking_method] if args.key?(:ranking_method) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       # A widget that displays textual content. | 
					
						
							|  |  |  |       class Text | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The text content to be displayed. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `content` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :content | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # How the text content is formatted. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `format` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :format | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @content = args[:content] if args.key?(:content) | 
					
						
							|  |  |  |           @format = args[:format] if args.key?(:format) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Defines a threshold for categorizing time series values. | 
					
						
							|  |  |  |       class Threshold | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The state color for this threshold. Color is not allowed in a XyChart. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `color` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :color | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The direction for the current threshold. Direction is not allowed in a XyChart. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `direction` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :direction | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A label for the threshold. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `label` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :label | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The value of the threshold. The value should be defined in the native scale of | 
					
						
							|  |  |  |         # the metric. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `value` | 
					
						
							|  |  |  |         # @return [Float] | 
					
						
							|  |  |  |         attr_accessor :value | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @color = args[:color] if args.key?(:color) | 
					
						
							|  |  |  |           @direction = args[:direction] if args.key?(:direction) | 
					
						
							|  |  |  |           @label = args[:label] if args.key?(:label) | 
					
						
							|  |  |  |           @value = args[:value] if args.key?(:value) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |       # A single tile in the mosaic. The placement and size of the tile are | 
					
						
							|  |  |  |       # configurable. | 
					
						
							|  |  |  |       class Tile | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-09-19 00:39:29 +00:00
										 |  |  |         # The height of the tile, measured in grid blocks. Tiles must have a minimum | 
					
						
							| 
									
										
										
										
											2020-09-14 23:21:28 +00:00
										 |  |  |         # height of 1. | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |         # Corresponds to the JSON property `height` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :height | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Widget contains a single dashboard component and configuration of how to | 
					
						
							|  |  |  |         # present the component in the dashboard. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `widget` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Widget] | 
					
						
							|  |  |  |         attr_accessor :widget | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-09-19 00:39:29 +00:00
										 |  |  |         # The width of the tile, measured in grid blocks. Tiles must have a minimum | 
					
						
							| 
									
										
										
										
											2020-09-14 23:21:28 +00:00
										 |  |  |         # width of 1. | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |         # Corresponds to the JSON property `width` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :width | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-09-19 00:39:29 +00:00
										 |  |  |         # The zero-indexed position of the tile in grid blocks relative to the left edge | 
					
						
							|  |  |  |         # of the grid. Tiles must be contained within the specified number of columns. | 
					
						
							|  |  |  |         # x_pos cannot be negative. | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |         # Corresponds to the JSON property `xPos` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :x_pos | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-09-19 00:39:29 +00:00
										 |  |  |         # The zero-indexed position of the tile in grid blocks relative to the top edge | 
					
						
							| 
									
										
										
										
											2020-09-14 23:21:28 +00:00
										 |  |  |         # of the grid. y_pos cannot be negative. | 
					
						
							| 
									
										
										
										
											2020-08-28 00:38:58 +00:00
										 |  |  |         # Corresponds to the JSON property `yPos` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :y_pos | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @height = args[:height] if args.key?(:height) | 
					
						
							|  |  |  |           @widget = args[:widget] if args.key?(:widget) | 
					
						
							|  |  |  |           @width = args[:width] if args.key?(:width) | 
					
						
							|  |  |  |           @x_pos = args[:x_pos] if args.key?(:x_pos) | 
					
						
							|  |  |  |           @y_pos = args[:y_pos] if args.key?(:y_pos) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       # A filter that defines a subset of time series data that is displayed in a | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |       # widget. Time series data is fetched using the ListTimeSeries (https://cloud. | 
					
						
							|  |  |  |       # google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |       class TimeSeriesFilter | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Describes how to combine multiple time series to provide a different view of | 
					
						
							|  |  |  |         # the data. Aggregation of time series is done in two steps. First, each time | 
					
						
							|  |  |  |         # series in the set is aligned to the same time interval boundaries, then the | 
					
						
							|  |  |  |         # set of time series is optionally reduced in number.Alignment consists of | 
					
						
							|  |  |  |         # applying the per_series_aligner operation to each time series after its data | 
					
						
							|  |  |  |         # has been divided into regular alignment_period time intervals. This process | 
					
						
							|  |  |  |         # takes all of the data points in an alignment period, applies a mathematical | 
					
						
							|  |  |  |         # transformation such as averaging, minimum, maximum, delta, etc., and converts | 
					
						
							|  |  |  |         # them into a single data point per period.Reduction is when the aligned and | 
					
						
							|  |  |  |         # transformed time series can optionally be combined, reducing the number of | 
					
						
							|  |  |  |         # time series through similar mathematical transformations. Reduction involves | 
					
						
							|  |  |  |         # applying a cross_series_reducer to all the time series, optionally sorting the | 
					
						
							|  |  |  |         # time series into subsets with group_by_fields, and applying the reducer to | 
					
						
							|  |  |  |         # each subset.The raw time series data can contain a huge amount of information | 
					
						
							|  |  |  |         # from multiple sources. Alignment and reduction transforms this mass of data | 
					
						
							|  |  |  |         # into a more manageable and representative collection of data, for example "the | 
					
						
							|  |  |  |         # 95% latency across the average of all tasks in a cluster". This representative | 
					
						
							|  |  |  |         # data can be more easily graphed and comprehended, and the individual time | 
					
						
							|  |  |  |         # series data is still available for later drilldown. For more details, see | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/ | 
					
						
							|  |  |  |         # aggregation). | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `aggregation` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Aggregation] | 
					
						
							|  |  |  |         attr_accessor :aggregation | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Required. The monitoring filter (https://cloud.google.com/monitoring/api/v3/ | 
					
						
							|  |  |  |         # filters) that identifies the metric types, resources, and projects to query. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `filter` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :filter | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Describes a ranking-based time series filter. Each input time series is ranked | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # with an aligner. The filter will allow up to num_time_series time series to | 
					
						
							|  |  |  |         # pass through it, selecting them based on the relative ranking.For example, if | 
					
						
							|  |  |  |         # ranking_method is METHOD_MEAN,direction is BOTTOM, and num_time_series is 3, | 
					
						
							|  |  |  |         # then the 3 times series with the lowest mean values will pass through the | 
					
						
							|  |  |  |         # filter. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `pickTimeSeriesFilter` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::PickTimeSeriesFilter] | 
					
						
							|  |  |  |         attr_accessor :pick_time_series_filter | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Describes how to combine multiple time series to provide a different view of | 
					
						
							|  |  |  |         # the data. Aggregation of time series is done in two steps. First, each time | 
					
						
							|  |  |  |         # series in the set is aligned to the same time interval boundaries, then the | 
					
						
							|  |  |  |         # set of time series is optionally reduced in number.Alignment consists of | 
					
						
							|  |  |  |         # applying the per_series_aligner operation to each time series after its data | 
					
						
							|  |  |  |         # has been divided into regular alignment_period time intervals. This process | 
					
						
							|  |  |  |         # takes all of the data points in an alignment period, applies a mathematical | 
					
						
							|  |  |  |         # transformation such as averaging, minimum, maximum, delta, etc., and converts | 
					
						
							|  |  |  |         # them into a single data point per period.Reduction is when the aligned and | 
					
						
							|  |  |  |         # transformed time series can optionally be combined, reducing the number of | 
					
						
							|  |  |  |         # time series through similar mathematical transformations. Reduction involves | 
					
						
							|  |  |  |         # applying a cross_series_reducer to all the time series, optionally sorting the | 
					
						
							|  |  |  |         # time series into subsets with group_by_fields, and applying the reducer to | 
					
						
							|  |  |  |         # each subset.The raw time series data can contain a huge amount of information | 
					
						
							|  |  |  |         # from multiple sources. Alignment and reduction transforms this mass of data | 
					
						
							|  |  |  |         # into a more manageable and representative collection of data, for example "the | 
					
						
							|  |  |  |         # 95% latency across the average of all tasks in a cluster". This representative | 
					
						
							|  |  |  |         # data can be more easily graphed and comprehended, and the individual time | 
					
						
							|  |  |  |         # series data is still available for later drilldown. For more details, see | 
					
						
							|  |  |  |         # Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/ | 
					
						
							|  |  |  |         # aggregation). | 
					
						
							|  |  |  |         # Corresponds to the JSON property `secondaryAggregation` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Aggregation] | 
					
						
							|  |  |  |         attr_accessor :secondary_aggregation | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-06-12 00:38:41 +00:00
										 |  |  |         # A filter that ranks streams based on their statistical relation to other | 
					
						
							|  |  |  |         # streams in a request. Note: This field is deprecated and completely ignored by | 
					
						
							|  |  |  |         # the API. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `statisticalTimeSeriesFilter` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter] | 
					
						
							|  |  |  |         attr_accessor :statistical_time_series_filter | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @aggregation = args[:aggregation] if args.key?(:aggregation) | 
					
						
							|  |  |  |           @filter = args[:filter] if args.key?(:filter) | 
					
						
							|  |  |  |           @pick_time_series_filter = args[:pick_time_series_filter] if args.key?(:pick_time_series_filter) | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |           @secondary_aggregation = args[:secondary_aggregation] if args.key?(:secondary_aggregation) | 
					
						
							| 
									
										
										
										
											2020-06-12 00:38:41 +00:00
										 |  |  |           @statistical_time_series_filter = args[:statistical_time_series_filter] if args.key?(:statistical_time_series_filter) | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A pair of time series filters that define a ratio computation. The output time | 
					
						
							|  |  |  |       # series is the pair-wise division of each aligned element from the numerator | 
					
						
							|  |  |  |       # and denominator time series. | 
					
						
							|  |  |  |       class TimeSeriesFilterRatio | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Describes a query to build the numerator or denominator of a | 
					
						
							|  |  |  |         # TimeSeriesFilterRatio. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `denominator` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::RatioPart] | 
					
						
							|  |  |  |         attr_accessor :denominator | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Describes a query to build the numerator or denominator of a | 
					
						
							|  |  |  |         # TimeSeriesFilterRatio. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `numerator` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::RatioPart] | 
					
						
							|  |  |  |         attr_accessor :numerator | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Describes a ranking-based time series filter. Each input time series is ranked | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # with an aligner. The filter will allow up to num_time_series time series to | 
					
						
							|  |  |  |         # pass through it, selecting them based on the relative ranking.For example, if | 
					
						
							|  |  |  |         # ranking_method is METHOD_MEAN,direction is BOTTOM, and num_time_series is 3, | 
					
						
							|  |  |  |         # then the 3 times series with the lowest mean values will pass through the | 
					
						
							|  |  |  |         # filter. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `pickTimeSeriesFilter` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::PickTimeSeriesFilter] | 
					
						
							|  |  |  |         attr_accessor :pick_time_series_filter | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Describes how to combine multiple time series to provide a different view of | 
					
						
							|  |  |  |         # the data. Aggregation of time series is done in two steps. First, each time | 
					
						
							|  |  |  |         # series in the set is aligned to the same time interval boundaries, then the | 
					
						
							|  |  |  |         # set of time series is optionally reduced in number.Alignment consists of | 
					
						
							|  |  |  |         # applying the per_series_aligner operation to each time series after its data | 
					
						
							|  |  |  |         # has been divided into regular alignment_period time intervals. This process | 
					
						
							|  |  |  |         # takes all of the data points in an alignment period, applies a mathematical | 
					
						
							|  |  |  |         # transformation such as averaging, minimum, maximum, delta, etc., and converts | 
					
						
							|  |  |  |         # them into a single data point per period.Reduction is when the aligned and | 
					
						
							|  |  |  |         # transformed time series can optionally be combined, reducing the number of | 
					
						
							|  |  |  |         # time series through similar mathematical transformations. Reduction involves | 
					
						
							|  |  |  |         # applying a cross_series_reducer to all the time series, optionally sorting the | 
					
						
							|  |  |  |         # time series into subsets with group_by_fields, and applying the reducer to | 
					
						
							|  |  |  |         # each subset.The raw time series data can contain a huge amount of information | 
					
						
							|  |  |  |         # from multiple sources. Alignment and reduction transforms this mass of data | 
					
						
							|  |  |  |         # into a more manageable and representative collection of data, for example "the | 
					
						
							|  |  |  |         # 95% latency across the average of all tasks in a cluster". This representative | 
					
						
							|  |  |  |         # data can be more easily graphed and comprehended, and the individual time | 
					
						
							|  |  |  |         # series data is still available for later drilldown. For more details, see | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Filtering and aggregation (https://cloud.google.com/monitoring/api/v3/ | 
					
						
							|  |  |  |         # aggregation). | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `secondaryAggregation` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Aggregation] | 
					
						
							|  |  |  |         attr_accessor :secondary_aggregation | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-06-12 00:38:41 +00:00
										 |  |  |         # A filter that ranks streams based on their statistical relation to other | 
					
						
							|  |  |  |         # streams in a request. Note: This field is deprecated and completely ignored by | 
					
						
							|  |  |  |         # the API. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `statisticalTimeSeriesFilter` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter] | 
					
						
							|  |  |  |         attr_accessor :statistical_time_series_filter | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @denominator = args[:denominator] if args.key?(:denominator) | 
					
						
							|  |  |  |           @numerator = args[:numerator] if args.key?(:numerator) | 
					
						
							|  |  |  |           @pick_time_series_filter = args[:pick_time_series_filter] if args.key?(:pick_time_series_filter) | 
					
						
							|  |  |  |           @secondary_aggregation = args[:secondary_aggregation] if args.key?(:secondary_aggregation) | 
					
						
							| 
									
										
										
										
											2020-06-12 00:38:41 +00:00
										 |  |  |           @statistical_time_series_filter = args[:statistical_time_series_filter] if args.key?(:statistical_time_series_filter) | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # TimeSeriesQuery collects the set of supported methods for querying time series | 
					
						
							|  |  |  |       # data from the Stackdriver metrics API. | 
					
						
							|  |  |  |       class TimeSeriesQuery | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A filter that defines a subset of time series data that is displayed in a | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # widget. Time series data is fetched using the ListTimeSeries (https://cloud. | 
					
						
							|  |  |  |         # google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) method. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `timeSeriesFilter` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::TimeSeriesFilter] | 
					
						
							|  |  |  |         attr_accessor :time_series_filter | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A pair of time series filters that define a ratio computation. The output time | 
					
						
							|  |  |  |         # series is the pair-wise division of each aligned element from the numerator | 
					
						
							|  |  |  |         # and denominator time series. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `timeSeriesFilterRatio` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::TimeSeriesFilterRatio] | 
					
						
							|  |  |  |         attr_accessor :time_series_filter_ratio | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # A query used to fetch time series. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `timeSeriesQueryLanguage` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :time_series_query_language | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # The unit of data contained in fetched time series. If non-empty, this unit | 
					
						
							|  |  |  |         # will override any unit that accompanies fetched data. The format is the same | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # as the unit (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects. | 
					
						
							|  |  |  |         # metricDescriptors) field in MetricDescriptor. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `unitOverride` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :unit_override | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @time_series_filter = args[:time_series_filter] if args.key?(:time_series_filter) | 
					
						
							|  |  |  |           @time_series_filter_ratio = args[:time_series_filter_ratio] if args.key?(:time_series_filter_ratio) | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |           @time_series_query_language = args[:time_series_query_language] if args.key?(:time_series_query_language) | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |           @unit_override = args[:unit_override] if args.key?(:unit_override) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-10-17 00:37:28 +00:00
										 |  |  |       # A protocol buffer message type. | 
					
						
							|  |  |  |       class Type | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The list of fields. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `fields` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Field>] | 
					
						
							|  |  |  |         attr_accessor :fields | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The fully qualified message name. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The list of types appearing in oneof definitions in this type. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `oneofs` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :oneofs | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The protocol buffer options. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `options` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Option>] | 
					
						
							|  |  |  |         attr_accessor :options | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # SourceContext represents information about the source of a protobuf element, | 
					
						
							|  |  |  |         # like the file in which it is defined. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `sourceContext` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::SourceContext] | 
					
						
							|  |  |  |         attr_accessor :source_context | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The source syntax. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `syntax` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :syntax | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @fields = args[:fields] if args.key?(:fields) | 
					
						
							|  |  |  |           @name = args[:name] if args.key?(:name) | 
					
						
							|  |  |  |           @oneofs = args[:oneofs] if args.key?(:oneofs) | 
					
						
							|  |  |  |           @options = args[:options] if args.key?(:options) | 
					
						
							|  |  |  |           @source_context = args[:source_context] if args.key?(:source_context) | 
					
						
							|  |  |  |           @syntax = args[:syntax] if args.key?(:syntax) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |        | 
					
						
							|  |  |  |       # Widget contains a single dashboard component and configuration of how to | 
					
						
							|  |  |  |       # present the component in the dashboard. | 
					
						
							|  |  |  |       class Widget | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A generic empty message that you can re-use to avoid defining duplicated empty | 
					
						
							|  |  |  |         # messages in your APIs. A typical example is to use it as the request or the | 
					
						
							| 
									
										
										
										
											2020-08-07 00:38:13 +00:00
										 |  |  |         # response type of an API method. For instance: service Foo ` rpc Bar(google. | 
					
						
							|  |  |  |         # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for | 
					
						
							|  |  |  |         # Empty is empty JSON object ``. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `blank` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Empty] | 
					
						
							|  |  |  |         attr_accessor :blank | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A widget showing the latest value of a metric, and how this value relates to | 
					
						
							|  |  |  |         # one or more thresholds. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `scorecard` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Scorecard] | 
					
						
							|  |  |  |         attr_accessor :scorecard | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A widget that displays textual content. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `text` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Text] | 
					
						
							|  |  |  |         attr_accessor :text | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Optional. The title of the widget. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `title` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :title | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A chart that displays data on a 2D (X and Y axes) plane. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `xyChart` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::XyChart] | 
					
						
							|  |  |  |         attr_accessor :xy_chart | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @blank = args[:blank] if args.key?(:blank) | 
					
						
							|  |  |  |           @scorecard = args[:scorecard] if args.key?(:scorecard) | 
					
						
							|  |  |  |           @text = args[:text] if args.key?(:text) | 
					
						
							|  |  |  |           @title = args[:title] if args.key?(:title) | 
					
						
							|  |  |  |           @xy_chart = args[:xy_chart] if args.key?(:xy_chart) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A chart that displays data on a 2D (X and Y axes) plane. | 
					
						
							|  |  |  |       class XyChart | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Options to control visual rendering of a chart. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `chartOptions` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::ChartOptions] | 
					
						
							|  |  |  |         attr_accessor :chart_options | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-04-13 16:49:10 +00:00
										 |  |  |         # Required. The data displayed in this chart. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `dataSets` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::DataSet>] | 
					
						
							|  |  |  |         attr_accessor :data_sets | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Threshold lines drawn horizontally across the chart. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `thresholds` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::MonitoringV1::Threshold>] | 
					
						
							|  |  |  |         attr_accessor :thresholds | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-12-14 00:37:41 +00:00
										 |  |  |         # The duration used to display a comparison chart. A comparison chart | 
					
						
							|  |  |  |         # simultaneously shows values from two similar-length time periods (e.g., week- | 
					
						
							|  |  |  |         # over-week metrics). The duration must be positive, and it can only be applied | 
					
						
							|  |  |  |         # to charts with data sets of LINE plot type. | 
					
						
							| 
									
										
										
										
											2019-12-07 00:36:43 +00:00
										 |  |  |         # Corresponds to the JSON property `timeshiftDuration` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :timeshift_duration | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A chart axis. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `xAxis` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Axis] | 
					
						
							|  |  |  |         attr_accessor :x_axis | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A chart axis. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `yAxis` | 
					
						
							|  |  |  |         # @return [Google::Apis::MonitoringV1::Axis] | 
					
						
							|  |  |  |         attr_accessor :y_axis | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @chart_options = args[:chart_options] if args.key?(:chart_options) | 
					
						
							|  |  |  |           @data_sets = args[:data_sets] if args.key?(:data_sets) | 
					
						
							|  |  |  |           @thresholds = args[:thresholds] if args.key?(:thresholds) | 
					
						
							|  |  |  |           @timeshift_duration = args[:timeshift_duration] if args.key?(:timeshift_duration) | 
					
						
							|  |  |  |           @x_axis = args[:x_axis] if args.key?(:x_axis) | 
					
						
							|  |  |  |           @y_axis = args[:y_axis] if args.key?(:y_axis) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							| 
									
										
										
										
											2019-10-17 00:37:28 +00:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |