# Copyright 2025 Google LLC. All Rights Reserved.
# 
# 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.
info:
  title: Monitoring/Dashboard
  description: The Monitoring Dashboard resource
  x-dcl-struct-name: Dashboard
  x-dcl-has-iam: false
paths:
  get:
    description: The function used to get information about a Dashboard
    parameters:
    - name: dashboard
      required: true
      description: A full instance of a Dashboard
  apply:
    description: The function used to apply information about a Dashboard
    parameters:
    - name: dashboard
      required: true
      description: A full instance of a Dashboard
  delete:
    description: The function used to delete a Dashboard
    parameters:
    - name: dashboard
      required: true
      description: A full instance of a Dashboard
  deleteAll:
    description: The function used to delete all Dashboard
    parameters:
    - name: project
      required: true
      schema:
        type: string
  list:
    description: The function used to list information about many Dashboard
    parameters:
    - name: project
      required: true
      schema:
        type: string
components:
  schemas:
    Dashboard:
      title: Dashboard
      x-dcl-id: projects/{{project}}/dashboards/{{name}}
      x-dcl-parent-container: project
      x-dcl-has-create: true
      x-dcl-has-iam: false
      x-dcl-read-timeout: 0
      x-dcl-apply-timeout: 0
      x-dcl-delete-timeout: 0
      type: object
      required:
      - name
      - displayName
      - project
      properties:
        columnLayout:
          type: object
          x-dcl-go-name: ColumnLayout
          x-dcl-go-type: DashboardColumnLayout
          description: The content is divided into equally spaced columns and the
            widgets are arranged vertically.
          x-dcl-conflicts:
          - gridLayout
          - mosaicLayout
          - rowLayout
          properties:
            columns:
              type: array
              x-dcl-go-name: Columns
              description: The columns of content to display.
              x-dcl-send-empty: true
              x-dcl-list-type: list
              items:
                type: object
                x-dcl-go-type: DashboardColumnLayoutColumns
                properties:
                  weight:
                    type: integer
                    format: int64
                    x-dcl-go-name: Weight
                    description: The relative weight of this column. The column weight
                      is used to adjust the 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.
                  widgets:
                    type: array
                    x-dcl-go-name: Widgets
                    description: The display widgets arranged vertically in this column.
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: object
                      x-dcl-go-type: DashboardColumnLayoutColumnsWidgets
                      properties:
                        blank:
                          type: object
                          x-dcl-go-name: Blank
                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsBlank
                          description: A blank space.
                          x-dcl-conflicts:
                          - xyChart
                          - scorecard
                          - text
                          - logsPanel
                        logsPanel:
                          type: object
                          x-dcl-go-name: LogsPanel
                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsLogsPanel
                          x-dcl-conflicts:
                          - xyChart
                          - scorecard
                          - text
                          - blank
                          properties:
                            filter:
                              type: string
                              x-dcl-go-name: Filter
                              description: A filter that chooses which log entries
                                to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).
                                Only log entries that match the filter are returned.
                                An empty filter matches all log entries.
                            resourceNames:
                              type: array
                              x-dcl-go-name: ResourceNames
                              description: The names of logging resources to collect
                                logs for. Currently only projects are supported. If
                                empty, the widget will default to the host project.
                              x-dcl-send-empty: true
                              x-dcl-list-type: list
                              items:
                                type: string
                                x-dcl-go-type: string
                                x-dcl-references:
                                - resource: Cloudresourcemanager/Project
                                  field: name
                        scorecard:
                          type: object
                          x-dcl-go-name: Scorecard
                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecard
                          description: A scorecard summarizing time series data.
                          x-dcl-conflicts:
                          - xyChart
                          - text
                          - blank
                          - logsPanel
                          required:
                          - timeSeriesQuery
                          properties:
                            gaugeView:
                              type: object
                              x-dcl-go-name: GaugeView
                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardGaugeView
                              description: Will cause the scorecard to show a gauge
                                chart.
                              properties:
                                lowerBound:
                                  type: number
                                  format: double
                                  x-dcl-go-name: LowerBound
                                  description: The lower bound for this gauge chart.
                                    The value of the chart should always be greater
                                    than or equal to this.
                                upperBound:
                                  type: number
                                  format: double
                                  x-dcl-go-name: UpperBound
                                  description: The upper bound for this gauge chart.
                                    The value of the chart should always be less than
                                    or equal to this.
                            sparkChartView:
                              type: object
                              x-dcl-go-name: SparkChartView
                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardSparkChartView
                              description: Will cause the scorecard to show a spark
                                chart.
                              required:
                              - sparkChartType
                              properties:
                                minAlignmentPeriod:
                                  type: string
                                  x-dcl-go-name: MinAlignmentPeriod
                                  description: 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.
                                sparkChartType:
                                  type: string
                                  x-dcl-go-name: SparkChartType
                                  x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardSparkChartViewSparkChartTypeEnum
                                  description: 'Required. The type of sparkchart to
                                    show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,
                                    SPARK_LINE, SPARK_BAR'
                                  enum:
                                  - SPARK_CHART_TYPE_UNSPECIFIED
                                  - SPARK_LINE
                                  - SPARK_BAR
                            thresholds:
                              type: array
                              x-dcl-go-name: Thresholds
                              description: '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 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.'
                              x-dcl-send-empty: true
                              x-dcl-list-type: list
                              items:
                                type: object
                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardThresholds
                                properties:
                                  color:
                                    type: string
                                    x-dcl-go-name: Color
                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardThresholdsColorEnum
                                    description: 'The state color for this threshold.
                                      Color is not allowed in a XyChart. Possible
                                      values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,
                                      YELLOW, ORANGE, RED'
                                    enum:
                                    - COLOR_UNSPECIFIED
                                    - GREY
                                    - BLUE
                                    - GREEN
                                    - YELLOW
                                    - ORANGE
                                    - RED
                                  direction:
                                    type: string
                                    x-dcl-go-name: Direction
                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardThresholdsDirectionEnum
                                    description: 'The direction for the current threshold.
                                      Direction is not allowed in a XyChart. Possible
                                      values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
                                    enum:
                                    - DIRECTION_UNSPECIFIED
                                    - ABOVE
                                    - BELOW
                                  label:
                                    type: string
                                    x-dcl-go-name: Label
                                    description: A label for the threshold.
                                  value:
                                    type: number
                                    format: double
                                    x-dcl-go-name: Value
                                    description: The value of the threshold. The value
                                      should be defined in the native scale of the
                                      metric.
                            timeSeriesQuery:
                              type: object
                              x-dcl-go-name: TimeSeriesQuery
                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQuery
                              description: Required. Fields for querying time series
                                data from the Stackdriver metrics API.
                              properties:
                                timeSeriesFilter:
                                  type: object
                                  x-dcl-go-name: TimeSeriesFilter
                                  x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
                                  description: Filter parameters to fetch time series.
                                  required:
                                  - filter
                                  properties:
                                    aggregation:
                                      type: object
                                      x-dcl-go-name: Aggregation
                                      x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
                                      description: By default, the raw time series
                                        data is returned. Use this field to combine
                                        multiple time series for different views of
                                        the data.
                                      properties:
                                        alignmentPeriod:
                                          type: string
                                          x-dcl-go-name: AlignmentPeriod
                                          description: The `alignment_period` specifies
                                            a time interval, in seconds, that is used
                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                            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 this field is ignored.
                                        crossSeriesReducer:
                                          type: string
                                          x-dcl-go-name: CrossSeriesReducer
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
                                          description: '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. Possible
                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                            REDUCE_MAKE_DISTRIBUTION'
                                          enum:
                                          - REDUCE_NONE
                                          - REDUCE_MEAN
                                          - REDUCE_MIN
                                          - REDUCE_MAX
                                          - REDUCE_SUM
                                          - REDUCE_STDDEV
                                          - REDUCE_COUNT
                                          - REDUCE_COUNT_TRUE
                                          - REDUCE_COUNT_FALSE
                                          - REDUCE_FRACTION_TRUE
                                          - REDUCE_PERCENTILE_99
                                          - REDUCE_PERCENTILE_95
                                          - REDUCE_PERCENTILE_50
                                          - REDUCE_PERCENTILE_05
                                          - REDUCE_FRACTION_LESS_THAN
                                          - REDUCE_MAKE_DISTRIBUTION
                                        groupByFields:
                                          type: array
                                          x-dcl-go-name: GroupByFields
                                          description: 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
                                            resource types, so this field implicitly
                                            contains `resource.type`.  Fields not
                                            specified in `group_by_fields` are aggregated
                                            away.  If `group_by_fields` is not specified
                                            and all the time series have the same
                                            resource type, then the time series are
                                            aggregated into a single output time series.
                                            If `cross_series_reducer` is not defined,
                                            this field is ignored.
                                          x-dcl-send-empty: true
                                          x-dcl-list-type: list
                                          items:
                                            type: string
                                            x-dcl-go-type: string
                                        perSeriesAligner:
                                          type: string
                                          x-dcl-go-name: PerSeriesAligner
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
                                          description: 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.
                                          enum:
                                          - ALIGN_NONE
                                          - ALIGN_DELTA
                                          - ALIGN_RATE
                                          - ALIGN_INTERPOLATE
                                          - ALIGN_NEXT_OLDER
                                          - ALIGN_MIN
                                          - ALIGN_MAX
                                          - ALIGN_MEAN
                                          - ALIGN_COUNT
                                          - ALIGN_SUM
                                          - ALIGN_STDDEV
                                          - ALIGN_COUNT_TRUE
                                          - ALIGN_COUNT_FALSE
                                          - ALIGN_FRACTION_TRUE
                                          - ALIGN_PERCENTILE_99
                                          - ALIGN_PERCENTILE_95
                                          - ALIGN_PERCENTILE_50
                                          - ALIGN_PERCENTILE_05
                                          - ALIGN_MAKE_DISTRIBUTION
                                          - ALIGN_PERCENT_CHANGE
                                    filter:
                                      type: string
                                      x-dcl-go-name: Filter
                                      description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                        that identifies the metric types, resources,
                                        and projects to query.
                                    pickTimeSeriesFilter:
                                      type: object
                                      x-dcl-go-name: PickTimeSeriesFilter
                                      x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
                                      description: Ranking based time series filter.
                                      properties:
                                        direction:
                                          type: string
                                          x-dcl-go-name: Direction
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
                                          description: 'How to use the ranking to
                                            select time series that pass through the
                                            filter. Possible values: DIRECTION_UNSPECIFIED,
                                            TOP, BOTTOM'
                                          enum:
                                          - DIRECTION_UNSPECIFIED
                                          - TOP
                                          - BOTTOM
                                        numTimeSeries:
                                          type: integer
                                          format: int64
                                          x-dcl-go-name: NumTimeSeries
                                          description: How many time series to allow
                                            to pass through the filter.
                                        rankingMethod:
                                          type: string
                                          x-dcl-go-name: RankingMethod
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
                                          description: '`ranking_method` is applied
                                            to each time series independently to produce
                                            the value which will be used to compare
                                            the time series to other time series.
                                            Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
                                            METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                          enum:
                                          - METHOD_UNSPECIFIED
                                          - METHOD_MEAN
                                          - METHOD_MAX
                                          - METHOD_MIN
                                          - METHOD_SUM
                                          - METHOD_LATEST
                                    secondaryAggregation:
                                      type: object
                                      x-dcl-go-name: SecondaryAggregation
                                      x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
                                      description: Apply a second aggregation after
                                        `aggregation` is applied.
                                      properties:
                                        alignmentPeriod:
                                          type: string
                                          x-dcl-go-name: AlignmentPeriod
                                          description: The `alignment_period` specifies
                                            a time interval, in seconds, that is used
                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                            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 this field is ignored.
                                        crossSeriesReducer:
                                          type: string
                                          x-dcl-go-name: CrossSeriesReducer
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
                                          description: '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. Possible
                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                            REDUCE_MAKE_DISTRIBUTION'
                                          enum:
                                          - REDUCE_NONE
                                          - REDUCE_MEAN
                                          - REDUCE_MIN
                                          - REDUCE_MAX
                                          - REDUCE_SUM
                                          - REDUCE_STDDEV
                                          - REDUCE_COUNT
                                          - REDUCE_COUNT_TRUE
                                          - REDUCE_COUNT_FALSE
                                          - REDUCE_FRACTION_TRUE
                                          - REDUCE_PERCENTILE_99
                                          - REDUCE_PERCENTILE_95
                                          - REDUCE_PERCENTILE_50
                                          - REDUCE_PERCENTILE_05
                                          - REDUCE_FRACTION_LESS_THAN
                                          - REDUCE_MAKE_DISTRIBUTION
                                        groupByFields:
                                          type: array
                                          x-dcl-go-name: GroupByFields
                                          description: 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
                                            resource types, so this field implicitly
                                            contains `resource.type`.  Fields not
                                            specified in `group_by_fields` are aggregated
                                            away.  If `group_by_fields` is not specified
                                            and all the time series have the same
                                            resource type, then the time series are
                                            aggregated into a single output time series.
                                            If `cross_series_reducer` is not defined,
                                            this field is ignored.
                                          x-dcl-send-empty: true
                                          x-dcl-list-type: list
                                          items:
                                            type: string
                                            x-dcl-go-type: string
                                        perSeriesAligner:
                                          type: string
                                          x-dcl-go-name: PerSeriesAligner
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
                                          description: 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.
                                          enum:
                                          - ALIGN_NONE
                                          - ALIGN_DELTA
                                          - ALIGN_RATE
                                          - ALIGN_INTERPOLATE
                                          - ALIGN_NEXT_OLDER
                                          - ALIGN_MIN
                                          - ALIGN_MAX
                                          - ALIGN_MEAN
                                          - ALIGN_COUNT
                                          - ALIGN_SUM
                                          - ALIGN_STDDEV
                                          - ALIGN_COUNT_TRUE
                                          - ALIGN_COUNT_FALSE
                                          - ALIGN_FRACTION_TRUE
                                          - ALIGN_PERCENTILE_99
                                          - ALIGN_PERCENTILE_95
                                          - ALIGN_PERCENTILE_50
                                          - ALIGN_PERCENTILE_05
                                          - ALIGN_MAKE_DISTRIBUTION
                                          - ALIGN_PERCENT_CHANGE
                                timeSeriesFilterRatio:
                                  type: object
                                  x-dcl-go-name: TimeSeriesFilterRatio
                                  x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
                                  description: Parameters to fetch a ratio between
                                    two time series filters.
                                  properties:
                                    denominator:
                                      type: object
                                      x-dcl-go-name: Denominator
                                      x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
                                      description: The denominator of the ratio.
                                      required:
                                      - filter
                                      properties:
                                        aggregation:
                                          type: object
                                          x-dcl-go-name: Aggregation
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
                                          description: By default, the raw time series
                                            data is returned. Use this field to combine
                                            multiple time series for different views
                                            of the data.
                                          properties:
                                            alignmentPeriod:
                                              type: string
                                              x-dcl-go-name: AlignmentPeriod
                                              description: The `alignment_period`
                                                specifies a time interval, in seconds,
                                                that is used to divide the data in
                                                all the [time series][google.monitoring.v3.TimeSeries]
                                                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 this field is ignored.
                                            crossSeriesReducer:
                                              type: string
                                              x-dcl-go-name: CrossSeriesReducer
                                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
                                              description: '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. Possible values:
                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                REDUCE_MAKE_DISTRIBUTION'
                                              enum:
                                              - REDUCE_NONE
                                              - REDUCE_MEAN
                                              - REDUCE_MIN
                                              - REDUCE_MAX
                                              - REDUCE_SUM
                                              - REDUCE_STDDEV
                                              - REDUCE_COUNT
                                              - REDUCE_COUNT_TRUE
                                              - REDUCE_COUNT_FALSE
                                              - REDUCE_FRACTION_TRUE
                                              - REDUCE_PERCENTILE_99
                                              - REDUCE_PERCENTILE_95
                                              - REDUCE_PERCENTILE_50
                                              - REDUCE_PERCENTILE_05
                                              - REDUCE_FRACTION_LESS_THAN
                                              - REDUCE_MAKE_DISTRIBUTION
                                            groupByFields:
                                              type: array
                                              x-dcl-go-name: GroupByFields
                                              description: 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 resource types, so
                                                this field implicitly contains `resource.type`.  Fields
                                                not specified in `group_by_fields`
                                                are aggregated away.  If `group_by_fields`
                                                is not specified and all the time
                                                series have the same resource type,
                                                then the time series are aggregated
                                                into a single output time series.
                                                If `cross_series_reducer` is not defined,
                                                this field is ignored.
                                              x-dcl-send-empty: true
                                              x-dcl-list-type: list
                                              items:
                                                type: string
                                                x-dcl-go-type: string
                                            perSeriesAligner:
                                              type: string
                                              x-dcl-go-name: PerSeriesAligner
                                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
                                              description: 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.
                                              enum:
                                              - ALIGN_NONE
                                              - ALIGN_DELTA
                                              - ALIGN_RATE
                                              - ALIGN_INTERPOLATE
                                              - ALIGN_NEXT_OLDER
                                              - ALIGN_MIN
                                              - ALIGN_MAX
                                              - ALIGN_MEAN
                                              - ALIGN_COUNT
                                              - ALIGN_SUM
                                              - ALIGN_STDDEV
                                              - ALIGN_COUNT_TRUE
                                              - ALIGN_COUNT_FALSE
                                              - ALIGN_FRACTION_TRUE
                                              - ALIGN_PERCENTILE_99
                                              - ALIGN_PERCENTILE_95
                                              - ALIGN_PERCENTILE_50
                                              - ALIGN_PERCENTILE_05
                                              - ALIGN_MAKE_DISTRIBUTION
                                              - ALIGN_PERCENT_CHANGE
                                        filter:
                                          type: string
                                          x-dcl-go-name: Filter
                                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                            that identifies the metric types, resources,
                                            and projects to query.
                                    numerator:
                                      type: object
                                      x-dcl-go-name: Numerator
                                      x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
                                      description: The numerator of the ratio.
                                      required:
                                      - filter
                                      properties:
                                        aggregation:
                                          type: object
                                          x-dcl-go-name: Aggregation
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
                                          description: By default, the raw time series
                                            data is returned. Use this field to combine
                                            multiple time series for different views
                                            of the data.
                                          properties:
                                            alignmentPeriod:
                                              type: string
                                              x-dcl-go-name: AlignmentPeriod
                                              description: The `alignment_period`
                                                specifies a time interval, in seconds,
                                                that is used to divide the data in
                                                all the [time series][google.monitoring.v3.TimeSeries]
                                                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 this field is ignored.
                                            crossSeriesReducer:
                                              type: string
                                              x-dcl-go-name: CrossSeriesReducer
                                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
                                              description: '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. Possible values:
                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                REDUCE_MAKE_DISTRIBUTION'
                                              enum:
                                              - REDUCE_NONE
                                              - REDUCE_MEAN
                                              - REDUCE_MIN
                                              - REDUCE_MAX
                                              - REDUCE_SUM
                                              - REDUCE_STDDEV
                                              - REDUCE_COUNT
                                              - REDUCE_COUNT_TRUE
                                              - REDUCE_COUNT_FALSE
                                              - REDUCE_FRACTION_TRUE
                                              - REDUCE_PERCENTILE_99
                                              - REDUCE_PERCENTILE_95
                                              - REDUCE_PERCENTILE_50
                                              - REDUCE_PERCENTILE_05
                                              - REDUCE_FRACTION_LESS_THAN
                                              - REDUCE_MAKE_DISTRIBUTION
                                            groupByFields:
                                              type: array
                                              x-dcl-go-name: GroupByFields
                                              description: 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 resource types, so
                                                this field implicitly contains `resource.type`.  Fields
                                                not specified in `group_by_fields`
                                                are aggregated away.  If `group_by_fields`
                                                is not specified and all the time
                                                series have the same resource type,
                                                then the time series are aggregated
                                                into a single output time series.
                                                If `cross_series_reducer` is not defined,
                                                this field is ignored.
                                              x-dcl-send-empty: true
                                              x-dcl-list-type: list
                                              items:
                                                type: string
                                                x-dcl-go-type: string
                                            perSeriesAligner:
                                              type: string
                                              x-dcl-go-name: PerSeriesAligner
                                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
                                              description: 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.
                                              enum:
                                              - ALIGN_NONE
                                              - ALIGN_DELTA
                                              - ALIGN_RATE
                                              - ALIGN_INTERPOLATE
                                              - ALIGN_NEXT_OLDER
                                              - ALIGN_MIN
                                              - ALIGN_MAX
                                              - ALIGN_MEAN
                                              - ALIGN_COUNT
                                              - ALIGN_SUM
                                              - ALIGN_STDDEV
                                              - ALIGN_COUNT_TRUE
                                              - ALIGN_COUNT_FALSE
                                              - ALIGN_FRACTION_TRUE
                                              - ALIGN_PERCENTILE_99
                                              - ALIGN_PERCENTILE_95
                                              - ALIGN_PERCENTILE_50
                                              - ALIGN_PERCENTILE_05
                                              - ALIGN_MAKE_DISTRIBUTION
                                              - ALIGN_PERCENT_CHANGE
                                        filter:
                                          type: string
                                          x-dcl-go-name: Filter
                                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                            that identifies the metric types, resources,
                                            and projects to query.
                                    pickTimeSeriesFilter:
                                      type: object
                                      x-dcl-go-name: PickTimeSeriesFilter
                                      x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
                                      description: Ranking based time series filter.
                                      properties:
                                        direction:
                                          type: string
                                          x-dcl-go-name: Direction
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
                                          description: 'How to use the ranking to
                                            select time series that pass through the
                                            filter. Possible values: DIRECTION_UNSPECIFIED,
                                            TOP, BOTTOM'
                                          enum:
                                          - DIRECTION_UNSPECIFIED
                                          - TOP
                                          - BOTTOM
                                        numTimeSeries:
                                          type: integer
                                          format: int64
                                          x-dcl-go-name: NumTimeSeries
                                          description: How many time series to allow
                                            to pass through the filter.
                                        rankingMethod:
                                          type: string
                                          x-dcl-go-name: RankingMethod
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
                                          description: '`ranking_method` is applied
                                            to each time series independently to produce
                                            the value which will be used to compare
                                            the time series to other time series.
                                            Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
                                            METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                          enum:
                                          - METHOD_UNSPECIFIED
                                          - METHOD_MEAN
                                          - METHOD_MAX
                                          - METHOD_MIN
                                          - METHOD_SUM
                                          - METHOD_LATEST
                                    secondaryAggregation:
                                      type: object
                                      x-dcl-go-name: SecondaryAggregation
                                      x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
                                      description: Apply a second aggregation after
                                        the ratio is computed.
                                      properties:
                                        alignmentPeriod:
                                          type: string
                                          x-dcl-go-name: AlignmentPeriod
                                          description: The `alignment_period` specifies
                                            a time interval, in seconds, that is used
                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                            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 this field is ignored.
                                        crossSeriesReducer:
                                          type: string
                                          x-dcl-go-name: CrossSeriesReducer
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
                                          description: '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. Possible
                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                            REDUCE_MAKE_DISTRIBUTION'
                                          enum:
                                          - REDUCE_NONE
                                          - REDUCE_MEAN
                                          - REDUCE_MIN
                                          - REDUCE_MAX
                                          - REDUCE_SUM
                                          - REDUCE_STDDEV
                                          - REDUCE_COUNT
                                          - REDUCE_COUNT_TRUE
                                          - REDUCE_COUNT_FALSE
                                          - REDUCE_FRACTION_TRUE
                                          - REDUCE_PERCENTILE_99
                                          - REDUCE_PERCENTILE_95
                                          - REDUCE_PERCENTILE_50
                                          - REDUCE_PERCENTILE_05
                                          - REDUCE_FRACTION_LESS_THAN
                                          - REDUCE_MAKE_DISTRIBUTION
                                        groupByFields:
                                          type: array
                                          x-dcl-go-name: GroupByFields
                                          description: 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
                                            resource types, so this field implicitly
                                            contains `resource.type`.  Fields not
                                            specified in `group_by_fields` are aggregated
                                            away.  If `group_by_fields` is not specified
                                            and all the time series have the same
                                            resource type, then the time series are
                                            aggregated into a single output time series.
                                            If `cross_series_reducer` is not defined,
                                            this field is ignored.
                                          x-dcl-send-empty: true
                                          x-dcl-list-type: list
                                          items:
                                            type: string
                                            x-dcl-go-type: string
                                        perSeriesAligner:
                                          type: string
                                          x-dcl-go-name: PerSeriesAligner
                                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
                                          description: 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.
                                          enum:
                                          - ALIGN_NONE
                                          - ALIGN_DELTA
                                          - ALIGN_RATE
                                          - ALIGN_INTERPOLATE
                                          - ALIGN_NEXT_OLDER
                                          - ALIGN_MIN
                                          - ALIGN_MAX
                                          - ALIGN_MEAN
                                          - ALIGN_COUNT
                                          - ALIGN_SUM
                                          - ALIGN_STDDEV
                                          - ALIGN_COUNT_TRUE
                                          - ALIGN_COUNT_FALSE
                                          - ALIGN_FRACTION_TRUE
                                          - ALIGN_PERCENTILE_99
                                          - ALIGN_PERCENTILE_95
                                          - ALIGN_PERCENTILE_50
                                          - ALIGN_PERCENTILE_05
                                          - ALIGN_MAKE_DISTRIBUTION
                                          - ALIGN_PERCENT_CHANGE
                                timeSeriesQueryLanguage:
                                  type: string
                                  x-dcl-go-name: TimeSeriesQueryLanguage
                                  description: A query used to fetch time series.
                                unitOverride:
                                  type: string
                                  x-dcl-go-name: UnitOverride
                                  description: 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 as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
                                    field in `MetricDescriptor`.
                        text:
                          type: object
                          x-dcl-go-name: Text
                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsText
                          description: A raw string or markdown displaying textual
                            content.
                          x-dcl-conflicts:
                          - xyChart
                          - scorecard
                          - blank
                          - logsPanel
                          properties:
                            content:
                              type: string
                              x-dcl-go-name: Content
                              description: The text content to be displayed.
                            format:
                              type: string
                              x-dcl-go-name: Format
                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsTextFormatEnum
                              description: 'How the text content is formatted. Possible
                                values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'
                              enum:
                              - FORMAT_UNSPECIFIED
                              - MARKDOWN
                              - RAW
                        title:
                          type: string
                          x-dcl-go-name: Title
                          description: Optional. The title of the widget.
                        xyChart:
                          type: object
                          x-dcl-go-name: XyChart
                          x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChart
                          description: A chart of time series data.
                          x-dcl-conflicts:
                          - scorecard
                          - text
                          - blank
                          - logsPanel
                          required:
                          - dataSets
                          properties:
                            chartOptions:
                              type: object
                              x-dcl-go-name: ChartOptions
                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartChartOptions
                              description: Display options for the chart.
                              properties:
                                mode:
                                  type: string
                                  x-dcl-go-name: Mode
                                  x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartChartOptionsModeEnum
                                  description: 'The chart mode. Possible values: MODE_UNSPECIFIED,
                                    COLOR, X_RAY, STATS'
                                  enum:
                                  - MODE_UNSPECIFIED
                                  - COLOR
                                  - X_RAY
                                  - STATS
                            dataSets:
                              type: array
                              x-dcl-go-name: DataSets
                              description: Required. The data displayed in this chart.
                              x-dcl-send-empty: true
                              x-dcl-list-type: list
                              items:
                                type: object
                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSets
                                required:
                                - timeSeriesQuery
                                properties:
                                  legendTemplate:
                                    type: string
                                    x-dcl-go-name: LegendTemplate
                                    description: '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. '
                                  minAlignmentPeriod:
                                    type: string
                                    x-dcl-go-name: MinAlignmentPeriod
                                    description: Optional. The lower bound on data
                                      point frequency for this data set, 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, the
                                      `min_alignment_period` should be at least 10
                                      minutes. It would not make sense to fetch and
                                      align data at one minute intervals.
                                  plotType:
                                    type: string
                                    x-dcl-go-name: PlotType
                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsPlotTypeEnum
                                    description: 'How this data should be plotted
                                      on the chart. Possible values: PLOT_TYPE_UNSPECIFIED,
                                      LINE, STACKED_AREA, STACKED_BAR, HEATMAP'
                                    enum:
                                    - PLOT_TYPE_UNSPECIFIED
                                    - LINE
                                    - STACKED_AREA
                                    - STACKED_BAR
                                    - HEATMAP
                                  timeSeriesQuery:
                                    type: object
                                    x-dcl-go-name: TimeSeriesQuery
                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQuery
                                    description: Required. Fields for querying time
                                      series data from the Stackdriver metrics API.
                                    properties:
                                      timeSeriesFilter:
                                        type: object
                                        x-dcl-go-name: TimeSeriesFilter
                                        x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
                                        description: Filter parameters to fetch time
                                          series.
                                        required:
                                        - filter
                                        properties:
                                          aggregation:
                                            type: object
                                            x-dcl-go-name: Aggregation
                                            x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
                                            description: By default, the raw time
                                              series data is returned. Use this field
                                              to combine multiple time series for
                                              different views of the data.
                                            properties:
                                              alignmentPeriod:
                                                type: string
                                                x-dcl-go-name: AlignmentPeriod
                                                description: The `alignment_period`
                                                  specifies a time interval, in seconds,
                                                  that is used to divide the data
                                                  in all the [time series][google.monitoring.v3.TimeSeries]
                                                  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 this field is
                                                  ignored.
                                              crossSeriesReducer:
                                                type: string
                                                x-dcl-go-name: CrossSeriesReducer
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
                                                description: '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. Possible values:
                                                  REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                  REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                  REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                                  REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                                  REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                                enum:
                                                - REDUCE_NONE
                                                - REDUCE_MEAN
                                                - REDUCE_MIN
                                                - REDUCE_MAX
                                                - REDUCE_SUM
                                                - REDUCE_STDDEV
                                                - REDUCE_COUNT
                                                - REDUCE_COUNT_TRUE
                                                - REDUCE_COUNT_FALSE
                                                - REDUCE_FRACTION_TRUE
                                                - REDUCE_PERCENTILE_99
                                                - REDUCE_PERCENTILE_95
                                                - REDUCE_PERCENTILE_50
                                                - REDUCE_PERCENTILE_05
                                                - REDUCE_FRACTION_LESS_THAN
                                                - REDUCE_MAKE_DISTRIBUTION
                                              groupByFields:
                                                type: array
                                                x-dcl-go-name: GroupByFields
                                                description: 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 resource types,
                                                  so this field implicitly contains
                                                  `resource.type`.  Fields not specified
                                                  in `group_by_fields` are aggregated
                                                  away.  If `group_by_fields` is not
                                                  specified and all the time series
                                                  have the same resource type, then
                                                  the time series are aggregated into
                                                  a single output time series. If
                                                  `cross_series_reducer` is not defined,
                                                  this field is ignored.
                                                x-dcl-send-empty: true
                                                x-dcl-list-type: list
                                                items:
                                                  type: string
                                                  x-dcl-go-type: string
                                              perSeriesAligner:
                                                type: string
                                                x-dcl-go-name: PerSeriesAligner
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
                                                description: 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.
                                                enum:
                                                - ALIGN_NONE
                                                - ALIGN_DELTA
                                                - ALIGN_RATE
                                                - ALIGN_INTERPOLATE
                                                - ALIGN_NEXT_OLDER
                                                - ALIGN_MIN
                                                - ALIGN_MAX
                                                - ALIGN_MEAN
                                                - ALIGN_COUNT
                                                - ALIGN_SUM
                                                - ALIGN_STDDEV
                                                - ALIGN_COUNT_TRUE
                                                - ALIGN_COUNT_FALSE
                                                - ALIGN_FRACTION_TRUE
                                                - ALIGN_PERCENTILE_99
                                                - ALIGN_PERCENTILE_95
                                                - ALIGN_PERCENTILE_50
                                                - ALIGN_PERCENTILE_05
                                                - ALIGN_MAKE_DISTRIBUTION
                                                - ALIGN_PERCENT_CHANGE
                                          filter:
                                            type: string
                                            x-dcl-go-name: Filter
                                            description: Required. The [monitoring
                                              filter](https://cloud.google.com/monitoring/api/v3/filters)
                                              that identifies the metric types, resources,
                                              and projects to query.
                                          pickTimeSeriesFilter:
                                            type: object
                                            x-dcl-go-name: PickTimeSeriesFilter
                                            x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
                                            description: Ranking based time series
                                              filter.
                                            properties:
                                              direction:
                                                type: string
                                                x-dcl-go-name: Direction
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
                                                description: 'How to use the ranking
                                                  to select time series that pass
                                                  through the filter. Possible values:
                                                  DIRECTION_UNSPECIFIED, TOP, BOTTOM'
                                                enum:
                                                - DIRECTION_UNSPECIFIED
                                                - TOP
                                                - BOTTOM
                                              numTimeSeries:
                                                type: integer
                                                format: int64
                                                x-dcl-go-name: NumTimeSeries
                                                description: How many time series
                                                  to allow to pass through the filter.
                                              rankingMethod:
                                                type: string
                                                x-dcl-go-name: RankingMethod
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
                                                description: '`ranking_method` is
                                                  applied to each time series independently
                                                  to produce the value which will
                                                  be used to compare the time series
                                                  to other time series. Possible values:
                                                  METHOD_UNSPECIFIED, METHOD_MEAN,
                                                  METHOD_MAX, METHOD_MIN, METHOD_SUM,
                                                  METHOD_LATEST'
                                                enum:
                                                - METHOD_UNSPECIFIED
                                                - METHOD_MEAN
                                                - METHOD_MAX
                                                - METHOD_MIN
                                                - METHOD_SUM
                                                - METHOD_LATEST
                                          secondaryAggregation:
                                            type: object
                                            x-dcl-go-name: SecondaryAggregation
                                            x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
                                            description: Apply a second aggregation
                                              after `aggregation` is applied.
                                            properties:
                                              alignmentPeriod:
                                                type: string
                                                x-dcl-go-name: AlignmentPeriod
                                                description: The `alignment_period`
                                                  specifies a time interval, in seconds,
                                                  that is used to divide the data
                                                  in all the [time series][google.monitoring.v3.TimeSeries]
                                                  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 this field is
                                                  ignored.
                                              crossSeriesReducer:
                                                type: string
                                                x-dcl-go-name: CrossSeriesReducer
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
                                                description: '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. Possible values:
                                                  REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                  REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                  REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                                  REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                                  REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                                enum:
                                                - REDUCE_NONE
                                                - REDUCE_MEAN
                                                - REDUCE_MIN
                                                - REDUCE_MAX
                                                - REDUCE_SUM
                                                - REDUCE_STDDEV
                                                - REDUCE_COUNT
                                                - REDUCE_COUNT_TRUE
                                                - REDUCE_COUNT_FALSE
                                                - REDUCE_FRACTION_TRUE
                                                - REDUCE_PERCENTILE_99
                                                - REDUCE_PERCENTILE_95
                                                - REDUCE_PERCENTILE_50
                                                - REDUCE_PERCENTILE_05
                                                - REDUCE_FRACTION_LESS_THAN
                                                - REDUCE_MAKE_DISTRIBUTION
                                              groupByFields:
                                                type: array
                                                x-dcl-go-name: GroupByFields
                                                description: 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 resource types,
                                                  so this field implicitly contains
                                                  `resource.type`.  Fields not specified
                                                  in `group_by_fields` are aggregated
                                                  away.  If `group_by_fields` is not
                                                  specified and all the time series
                                                  have the same resource type, then
                                                  the time series are aggregated into
                                                  a single output time series. If
                                                  `cross_series_reducer` is not defined,
                                                  this field is ignored.
                                                x-dcl-send-empty: true
                                                x-dcl-list-type: list
                                                items:
                                                  type: string
                                                  x-dcl-go-type: string
                                              perSeriesAligner:
                                                type: string
                                                x-dcl-go-name: PerSeriesAligner
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
                                                description: 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.
                                                enum:
                                                - ALIGN_NONE
                                                - ALIGN_DELTA
                                                - ALIGN_RATE
                                                - ALIGN_INTERPOLATE
                                                - ALIGN_NEXT_OLDER
                                                - ALIGN_MIN
                                                - ALIGN_MAX
                                                - ALIGN_MEAN
                                                - ALIGN_COUNT
                                                - ALIGN_SUM
                                                - ALIGN_STDDEV
                                                - ALIGN_COUNT_TRUE
                                                - ALIGN_COUNT_FALSE
                                                - ALIGN_FRACTION_TRUE
                                                - ALIGN_PERCENTILE_99
                                                - ALIGN_PERCENTILE_95
                                                - ALIGN_PERCENTILE_50
                                                - ALIGN_PERCENTILE_05
                                                - ALIGN_MAKE_DISTRIBUTION
                                                - ALIGN_PERCENT_CHANGE
                                      timeSeriesFilterRatio:
                                        type: object
                                        x-dcl-go-name: TimeSeriesFilterRatio
                                        x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
                                        description: Parameters to fetch a ratio between
                                          two time series filters.
                                        properties:
                                          denominator:
                                            type: object
                                            x-dcl-go-name: Denominator
                                            x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
                                            description: The denominator of the ratio.
                                            required:
                                            - filter
                                            properties:
                                              aggregation:
                                                type: object
                                                x-dcl-go-name: Aggregation
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
                                                description: By default, the raw time
                                                  series data is returned. Use this
                                                  field to combine multiple time series
                                                  for different views of the data.
                                                properties:
                                                  alignmentPeriod:
                                                    type: string
                                                    x-dcl-go-name: AlignmentPeriod
                                                    description: The `alignment_period`
                                                      specifies a time interval, in
                                                      seconds, that is used to divide
                                                      the data in all the [time series][google.monitoring.v3.TimeSeries]
                                                      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 this field is ignored.
                                                  crossSeriesReducer:
                                                    type: string
                                                    x-dcl-go-name: CrossSeriesReducer
                                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
                                                    description: '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. Possible
                                                      values: REDUCE_NONE, REDUCE_MEAN,
                                                      REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                                      REDUCE_STDDEV, REDUCE_COUNT,
                                                      REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                      REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                      REDUCE_MAKE_DISTRIBUTION'
                                                    enum:
                                                    - REDUCE_NONE
                                                    - REDUCE_MEAN
                                                    - REDUCE_MIN
                                                    - REDUCE_MAX
                                                    - REDUCE_SUM
                                                    - REDUCE_STDDEV
                                                    - REDUCE_COUNT
                                                    - REDUCE_COUNT_TRUE
                                                    - REDUCE_COUNT_FALSE
                                                    - REDUCE_FRACTION_TRUE
                                                    - REDUCE_PERCENTILE_99
                                                    - REDUCE_PERCENTILE_95
                                                    - REDUCE_PERCENTILE_50
                                                    - REDUCE_PERCENTILE_05
                                                    - REDUCE_FRACTION_LESS_THAN
                                                    - REDUCE_MAKE_DISTRIBUTION
                                                  groupByFields:
                                                    type: array
                                                    x-dcl-go-name: GroupByFields
                                                    description: 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 resource
                                                      types, so this field implicitly
                                                      contains `resource.type`.  Fields
                                                      not specified in `group_by_fields`
                                                      are aggregated away.  If `group_by_fields`
                                                      is not specified and all the
                                                      time series have the same resource
                                                      type, then the time series are
                                                      aggregated into a single output
                                                      time series. If `cross_series_reducer`
                                                      is not defined, this field is
                                                      ignored.
                                                    x-dcl-send-empty: true
                                                    x-dcl-list-type: list
                                                    items:
                                                      type: string
                                                      x-dcl-go-type: string
                                                  perSeriesAligner:
                                                    type: string
                                                    x-dcl-go-name: PerSeriesAligner
                                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
                                                    description: 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.
                                                    enum:
                                                    - ALIGN_NONE
                                                    - ALIGN_DELTA
                                                    - ALIGN_RATE
                                                    - ALIGN_INTERPOLATE
                                                    - ALIGN_NEXT_OLDER
                                                    - ALIGN_MIN
                                                    - ALIGN_MAX
                                                    - ALIGN_MEAN
                                                    - ALIGN_COUNT
                                                    - ALIGN_SUM
                                                    - ALIGN_STDDEV
                                                    - ALIGN_COUNT_TRUE
                                                    - ALIGN_COUNT_FALSE
                                                    - ALIGN_FRACTION_TRUE
                                                    - ALIGN_PERCENTILE_99
                                                    - ALIGN_PERCENTILE_95
                                                    - ALIGN_PERCENTILE_50
                                                    - ALIGN_PERCENTILE_05
                                                    - ALIGN_MAKE_DISTRIBUTION
                                                    - ALIGN_PERCENT_CHANGE
                                              filter:
                                                type: string
                                                x-dcl-go-name: Filter
                                                description: Required. The [monitoring
                                                  filter](https://cloud.google.com/monitoring/api/v3/filters)
                                                  that identifies the metric types,
                                                  resources, and projects to query.
                                          numerator:
                                            type: object
                                            x-dcl-go-name: Numerator
                                            x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
                                            description: The numerator of the ratio.
                                            required:
                                            - filter
                                            properties:
                                              aggregation:
                                                type: object
                                                x-dcl-go-name: Aggregation
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
                                                description: By default, the raw time
                                                  series data is returned. Use this
                                                  field to combine multiple time series
                                                  for different views of the data.
                                                properties:
                                                  alignmentPeriod:
                                                    type: string
                                                    x-dcl-go-name: AlignmentPeriod
                                                    description: The `alignment_period`
                                                      specifies a time interval, in
                                                      seconds, that is used to divide
                                                      the data in all the [time series][google.monitoring.v3.TimeSeries]
                                                      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 this field is ignored.
                                                  crossSeriesReducer:
                                                    type: string
                                                    x-dcl-go-name: CrossSeriesReducer
                                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
                                                    description: '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. Possible
                                                      values: REDUCE_NONE, REDUCE_MEAN,
                                                      REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                                      REDUCE_STDDEV, REDUCE_COUNT,
                                                      REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                      REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                      REDUCE_MAKE_DISTRIBUTION'
                                                    enum:
                                                    - REDUCE_NONE
                                                    - REDUCE_MEAN
                                                    - REDUCE_MIN
                                                    - REDUCE_MAX
                                                    - REDUCE_SUM
                                                    - REDUCE_STDDEV
                                                    - REDUCE_COUNT
                                                    - REDUCE_COUNT_TRUE
                                                    - REDUCE_COUNT_FALSE
                                                    - REDUCE_FRACTION_TRUE
                                                    - REDUCE_PERCENTILE_99
                                                    - REDUCE_PERCENTILE_95
                                                    - REDUCE_PERCENTILE_50
                                                    - REDUCE_PERCENTILE_05
                                                    - REDUCE_FRACTION_LESS_THAN
                                                    - REDUCE_MAKE_DISTRIBUTION
                                                  groupByFields:
                                                    type: array
                                                    x-dcl-go-name: GroupByFields
                                                    description: 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 resource
                                                      types, so this field implicitly
                                                      contains `resource.type`.  Fields
                                                      not specified in `group_by_fields`
                                                      are aggregated away.  If `group_by_fields`
                                                      is not specified and all the
                                                      time series have the same resource
                                                      type, then the time series are
                                                      aggregated into a single output
                                                      time series. If `cross_series_reducer`
                                                      is not defined, this field is
                                                      ignored.
                                                    x-dcl-send-empty: true
                                                    x-dcl-list-type: list
                                                    items:
                                                      type: string
                                                      x-dcl-go-type: string
                                                  perSeriesAligner:
                                                    type: string
                                                    x-dcl-go-name: PerSeriesAligner
                                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
                                                    description: 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.
                                                    enum:
                                                    - ALIGN_NONE
                                                    - ALIGN_DELTA
                                                    - ALIGN_RATE
                                                    - ALIGN_INTERPOLATE
                                                    - ALIGN_NEXT_OLDER
                                                    - ALIGN_MIN
                                                    - ALIGN_MAX
                                                    - ALIGN_MEAN
                                                    - ALIGN_COUNT
                                                    - ALIGN_SUM
                                                    - ALIGN_STDDEV
                                                    - ALIGN_COUNT_TRUE
                                                    - ALIGN_COUNT_FALSE
                                                    - ALIGN_FRACTION_TRUE
                                                    - ALIGN_PERCENTILE_99
                                                    - ALIGN_PERCENTILE_95
                                                    - ALIGN_PERCENTILE_50
                                                    - ALIGN_PERCENTILE_05
                                                    - ALIGN_MAKE_DISTRIBUTION
                                                    - ALIGN_PERCENT_CHANGE
                                              filter:
                                                type: string
                                                x-dcl-go-name: Filter
                                                description: Required. The [monitoring
                                                  filter](https://cloud.google.com/monitoring/api/v3/filters)
                                                  that identifies the metric types,
                                                  resources, and projects to query.
                                          pickTimeSeriesFilter:
                                            type: object
                                            x-dcl-go-name: PickTimeSeriesFilter
                                            x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
                                            description: Ranking based time series
                                              filter.
                                            properties:
                                              direction:
                                                type: string
                                                x-dcl-go-name: Direction
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
                                                description: 'How to use the ranking
                                                  to select time series that pass
                                                  through the filter. Possible values:
                                                  DIRECTION_UNSPECIFIED, TOP, BOTTOM'
                                                enum:
                                                - DIRECTION_UNSPECIFIED
                                                - TOP
                                                - BOTTOM
                                              numTimeSeries:
                                                type: integer
                                                format: int64
                                                x-dcl-go-name: NumTimeSeries
                                                description: How many time series
                                                  to allow to pass through the filter.
                                              rankingMethod:
                                                type: string
                                                x-dcl-go-name: RankingMethod
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
                                                description: '`ranking_method` is
                                                  applied to each time series independently
                                                  to produce the value which will
                                                  be used to compare the time series
                                                  to other time series. Possible values:
                                                  METHOD_UNSPECIFIED, METHOD_MEAN,
                                                  METHOD_MAX, METHOD_MIN, METHOD_SUM,
                                                  METHOD_LATEST'
                                                enum:
                                                - METHOD_UNSPECIFIED
                                                - METHOD_MEAN
                                                - METHOD_MAX
                                                - METHOD_MIN
                                                - METHOD_SUM
                                                - METHOD_LATEST
                                          secondaryAggregation:
                                            type: object
                                            x-dcl-go-name: SecondaryAggregation
                                            x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
                                            description: Apply a second aggregation
                                              after the ratio is computed.
                                            properties:
                                              alignmentPeriod:
                                                type: string
                                                x-dcl-go-name: AlignmentPeriod
                                                description: The `alignment_period`
                                                  specifies a time interval, in seconds,
                                                  that is used to divide the data
                                                  in all the [time series][google.monitoring.v3.TimeSeries]
                                                  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 this field is
                                                  ignored.
                                              crossSeriesReducer:
                                                type: string
                                                x-dcl-go-name: CrossSeriesReducer
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
                                                description: '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. Possible values:
                                                  REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                  REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                  REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                                  REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                                  REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                                enum:
                                                - REDUCE_NONE
                                                - REDUCE_MEAN
                                                - REDUCE_MIN
                                                - REDUCE_MAX
                                                - REDUCE_SUM
                                                - REDUCE_STDDEV
                                                - REDUCE_COUNT
                                                - REDUCE_COUNT_TRUE
                                                - REDUCE_COUNT_FALSE
                                                - REDUCE_FRACTION_TRUE
                                                - REDUCE_PERCENTILE_99
                                                - REDUCE_PERCENTILE_95
                                                - REDUCE_PERCENTILE_50
                                                - REDUCE_PERCENTILE_05
                                                - REDUCE_FRACTION_LESS_THAN
                                                - REDUCE_MAKE_DISTRIBUTION
                                              groupByFields:
                                                type: array
                                                x-dcl-go-name: GroupByFields
                                                description: 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 resource types,
                                                  so this field implicitly contains
                                                  `resource.type`.  Fields not specified
                                                  in `group_by_fields` are aggregated
                                                  away.  If `group_by_fields` is not
                                                  specified and all the time series
                                                  have the same resource type, then
                                                  the time series are aggregated into
                                                  a single output time series. If
                                                  `cross_series_reducer` is not defined,
                                                  this field is ignored.
                                                x-dcl-send-empty: true
                                                x-dcl-list-type: list
                                                items:
                                                  type: string
                                                  x-dcl-go-type: string
                                              perSeriesAligner:
                                                type: string
                                                x-dcl-go-name: PerSeriesAligner
                                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
                                                description: 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.
                                                enum:
                                                - ALIGN_NONE
                                                - ALIGN_DELTA
                                                - ALIGN_RATE
                                                - ALIGN_INTERPOLATE
                                                - ALIGN_NEXT_OLDER
                                                - ALIGN_MIN
                                                - ALIGN_MAX
                                                - ALIGN_MEAN
                                                - ALIGN_COUNT
                                                - ALIGN_SUM
                                                - ALIGN_STDDEV
                                                - ALIGN_COUNT_TRUE
                                                - ALIGN_COUNT_FALSE
                                                - ALIGN_FRACTION_TRUE
                                                - ALIGN_PERCENTILE_99
                                                - ALIGN_PERCENTILE_95
                                                - ALIGN_PERCENTILE_50
                                                - ALIGN_PERCENTILE_05
                                                - ALIGN_MAKE_DISTRIBUTION
                                                - ALIGN_PERCENT_CHANGE
                                      timeSeriesQueryLanguage:
                                        type: string
                                        x-dcl-go-name: TimeSeriesQueryLanguage
                                        description: A query used to fetch time series.
                                      unitOverride:
                                        type: string
                                        x-dcl-go-name: UnitOverride
                                        description: 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 as
                                          the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
                                          field in `MetricDescriptor`.
                            thresholds:
                              type: array
                              x-dcl-go-name: Thresholds
                              description: Threshold lines drawn horizontally across
                                the chart.
                              x-dcl-send-empty: true
                              x-dcl-list-type: list
                              items:
                                type: object
                                x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartThresholds
                                properties:
                                  color:
                                    type: string
                                    x-dcl-go-name: Color
                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartThresholdsColorEnum
                                    description: 'The state color for this threshold.
                                      Color is not allowed in a XyChart. Possible
                                      values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,
                                      YELLOW, ORANGE, RED'
                                    enum:
                                    - COLOR_UNSPECIFIED
                                    - GREY
                                    - BLUE
                                    - GREEN
                                    - YELLOW
                                    - ORANGE
                                    - RED
                                  direction:
                                    type: string
                                    x-dcl-go-name: Direction
                                    x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartThresholdsDirectionEnum
                                    description: 'The direction for the current threshold.
                                      Direction is not allowed in a XyChart. Possible
                                      values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
                                    enum:
                                    - DIRECTION_UNSPECIFIED
                                    - ABOVE
                                    - BELOW
                                  label:
                                    type: string
                                    x-dcl-go-name: Label
                                    description: A label for the threshold.
                                  value:
                                    type: number
                                    format: double
                                    x-dcl-go-name: Value
                                    description: The value of the threshold. The value
                                      should be defined in the native scale of the
                                      metric.
                            timeshiftDuration:
                              type: string
                              x-dcl-go-name: TimeshiftDuration
                              description: 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.
                            xAxis:
                              type: object
                              x-dcl-go-name: XAxis
                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartXAxis
                              description: The properties applied to the X axis.
                              properties:
                                label:
                                  type: string
                                  x-dcl-go-name: Label
                                  description: The label of the axis.
                                scale:
                                  type: string
                                  x-dcl-go-name: Scale
                                  x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartXAxisScaleEnum
                                  description: 'The axis scale. By default, a linear
                                    scale is used. Possible values: SCALE_UNSPECIFIED,
                                    LINEAR, LOG10'
                                  enum:
                                  - SCALE_UNSPECIFIED
                                  - LINEAR
                                  - LOG10
                            yAxis:
                              type: object
                              x-dcl-go-name: YAxis
                              x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartYAxis
                              description: The properties applied to the Y axis.
                              properties:
                                label:
                                  type: string
                                  x-dcl-go-name: Label
                                  description: The label of the axis.
                                scale:
                                  type: string
                                  x-dcl-go-name: Scale
                                  x-dcl-go-type: DashboardColumnLayoutColumnsWidgetsXyChartYAxisScaleEnum
                                  description: 'The axis scale. By default, a linear
                                    scale is used. Possible values: SCALE_UNSPECIFIED,
                                    LINEAR, LOG10'
                                  enum:
                                  - SCALE_UNSPECIFIED
                                  - LINEAR
                                  - LOG10
        displayName:
          type: string
          x-dcl-go-name: DisplayName
          description: Required. The mutable, human-readable name.
        etag:
          type: string
          x-dcl-go-name: Etag
          readOnly: true
          description: \`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.
          x-kubernetes-immutable: true
        gridLayout:
          type: object
          x-dcl-go-name: GridLayout
          x-dcl-go-type: DashboardGridLayout
          description: Content is arranged with a basic layout that re-flows a simple
            list of informational elements like widgets or tiles.
          x-dcl-conflicts:
          - mosaicLayout
          - rowLayout
          - columnLayout
          properties:
            columns:
              type: integer
              format: int64
              x-dcl-go-name: Columns
              description: The number of columns into which the view's width is divided.
                If omitted or set to zero, a system default will be used while rendering.
            widgets:
              type: array
              x-dcl-go-name: Widgets
              description: The informational elements that are arranged into the columns
                row-first.
              x-dcl-send-empty: true
              x-dcl-list-type: list
              items:
                type: object
                x-dcl-go-type: DashboardGridLayoutWidgets
                properties:
                  blank:
                    type: object
                    x-dcl-go-name: Blank
                    x-dcl-go-type: DashboardGridLayoutWidgetsBlank
                    description: A blank space.
                    x-dcl-conflicts:
                    - xyChart
                    - scorecard
                    - text
                    - logsPanel
                  logsPanel:
                    type: object
                    x-dcl-go-name: LogsPanel
                    x-dcl-go-type: DashboardGridLayoutWidgetsLogsPanel
                    x-dcl-conflicts:
                    - xyChart
                    - scorecard
                    - text
                    - blank
                    properties:
                      filter:
                        type: string
                        x-dcl-go-name: Filter
                        description: A filter that chooses which log entries to return.
                          See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).
                          Only log entries that match the filter are returned. An
                          empty filter matches all log entries.
                      resourceNames:
                        type: array
                        x-dcl-go-name: ResourceNames
                        description: The names of logging resources to collect logs
                          for. Currently only projects are supported. If empty, the
                          widget will default to the host project.
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: string
                          x-dcl-go-type: string
                          x-dcl-references:
                          - resource: Cloudresourcemanager/Project
                            field: name
                  scorecard:
                    type: object
                    x-dcl-go-name: Scorecard
                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecard
                    description: A scorecard summarizing time series data.
                    x-dcl-conflicts:
                    - xyChart
                    - text
                    - blank
                    - logsPanel
                    required:
                    - timeSeriesQuery
                    properties:
                      gaugeView:
                        type: object
                        x-dcl-go-name: GaugeView
                        x-dcl-go-type: DashboardGridLayoutWidgetsScorecardGaugeView
                        description: Will cause the scorecard to show a gauge chart.
                        properties:
                          lowerBound:
                            type: number
                            format: double
                            x-dcl-go-name: LowerBound
                            description: The lower bound for this gauge chart. The
                              value of the chart should always be greater than or
                              equal to this.
                          upperBound:
                            type: number
                            format: double
                            x-dcl-go-name: UpperBound
                            description: The upper bound for this gauge chart. The
                              value of the chart should always be less than or equal
                              to this.
                      sparkChartView:
                        type: object
                        x-dcl-go-name: SparkChartView
                        x-dcl-go-type: DashboardGridLayoutWidgetsScorecardSparkChartView
                        description: Will cause the scorecard to show a spark chart.
                        required:
                        - sparkChartType
                        properties:
                          minAlignmentPeriod:
                            type: string
                            x-dcl-go-name: MinAlignmentPeriod
                            description: 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.
                          sparkChartType:
                            type: string
                            x-dcl-go-name: SparkChartType
                            x-dcl-go-type: DashboardGridLayoutWidgetsScorecardSparkChartViewSparkChartTypeEnum
                            description: 'Required. The type of sparkchart to show
                              in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,
                              SPARK_LINE, SPARK_BAR'
                            enum:
                            - SPARK_CHART_TYPE_UNSPECIFIED
                            - SPARK_LINE
                            - SPARK_BAR
                      thresholds:
                        type: array
                        x-dcl-go-name: Thresholds
                        description: '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 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.'
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: object
                          x-dcl-go-type: DashboardGridLayoutWidgetsScorecardThresholds
                          properties:
                            color:
                              type: string
                              x-dcl-go-name: Color
                              x-dcl-go-type: DashboardGridLayoutWidgetsScorecardThresholdsColorEnum
                              description: 'The state color for this threshold. Color
                                is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED,
                                GREY, BLUE, GREEN, YELLOW, ORANGE, RED'
                              enum:
                              - COLOR_UNSPECIFIED
                              - GREY
                              - BLUE
                              - GREEN
                              - YELLOW
                              - ORANGE
                              - RED
                            direction:
                              type: string
                              x-dcl-go-name: Direction
                              x-dcl-go-type: DashboardGridLayoutWidgetsScorecardThresholdsDirectionEnum
                              description: 'The direction for the current threshold.
                                Direction is not allowed in a XyChart. Possible values:
                                DIRECTION_UNSPECIFIED, ABOVE, BELOW'
                              enum:
                              - DIRECTION_UNSPECIFIED
                              - ABOVE
                              - BELOW
                            label:
                              type: string
                              x-dcl-go-name: Label
                              description: A label for the threshold.
                            value:
                              type: number
                              format: double
                              x-dcl-go-name: Value
                              description: The value of the threshold. The value should
                                be defined in the native scale of the metric.
                      timeSeriesQuery:
                        type: object
                        x-dcl-go-name: TimeSeriesQuery
                        x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQuery
                        description: Required. Fields for querying time series data
                          from the Stackdriver metrics API.
                        properties:
                          timeSeriesFilter:
                            type: object
                            x-dcl-go-name: TimeSeriesFilter
                            x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
                            description: Filter parameters to fetch time series.
                            required:
                            - filter
                            properties:
                              aggregation:
                                type: object
                                x-dcl-go-name: Aggregation
                                x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
                                description: By default, the raw time series data
                                  is returned. Use this field to combine multiple
                                  time series for different views of the data.
                                properties:
                                  alignmentPeriod:
                                    type: string
                                    x-dcl-go-name: AlignmentPeriod
                                    description: The `alignment_period` specifies
                                      a time interval, in seconds, that is used to
                                      divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                      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 this field is ignored.
                                  crossSeriesReducer:
                                    type: string
                                    x-dcl-go-name: CrossSeriesReducer
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
                                    description: '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. Possible values:
                                      REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,
                                      REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                      REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                      REDUCE_MAKE_DISTRIBUTION'
                                    enum:
                                    - REDUCE_NONE
                                    - REDUCE_MEAN
                                    - REDUCE_MIN
                                    - REDUCE_MAX
                                    - REDUCE_SUM
                                    - REDUCE_STDDEV
                                    - REDUCE_COUNT
                                    - REDUCE_COUNT_TRUE
                                    - REDUCE_COUNT_FALSE
                                    - REDUCE_FRACTION_TRUE
                                    - REDUCE_PERCENTILE_99
                                    - REDUCE_PERCENTILE_95
                                    - REDUCE_PERCENTILE_50
                                    - REDUCE_PERCENTILE_05
                                    - REDUCE_FRACTION_LESS_THAN
                                    - REDUCE_MAKE_DISTRIBUTION
                                  groupByFields:
                                    type: array
                                    x-dcl-go-name: GroupByFields
                                    description: 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 resource
                                      types, so this field implicitly contains `resource.type`.  Fields
                                      not specified in `group_by_fields` are aggregated
                                      away.  If `group_by_fields` is not specified
                                      and all the time series have the same resource
                                      type, then the time series are aggregated into
                                      a single output time series. If `cross_series_reducer`
                                      is not defined, this field is ignored.
                                    x-dcl-send-empty: true
                                    x-dcl-list-type: list
                                    items:
                                      type: string
                                      x-dcl-go-type: string
                                  perSeriesAligner:
                                    type: string
                                    x-dcl-go-name: PerSeriesAligner
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
                                    description: 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.
                                    enum:
                                    - ALIGN_NONE
                                    - ALIGN_DELTA
                                    - ALIGN_RATE
                                    - ALIGN_INTERPOLATE
                                    - ALIGN_NEXT_OLDER
                                    - ALIGN_MIN
                                    - ALIGN_MAX
                                    - ALIGN_MEAN
                                    - ALIGN_COUNT
                                    - ALIGN_SUM
                                    - ALIGN_STDDEV
                                    - ALIGN_COUNT_TRUE
                                    - ALIGN_COUNT_FALSE
                                    - ALIGN_FRACTION_TRUE
                                    - ALIGN_PERCENTILE_99
                                    - ALIGN_PERCENTILE_95
                                    - ALIGN_PERCENTILE_50
                                    - ALIGN_PERCENTILE_05
                                    - ALIGN_MAKE_DISTRIBUTION
                                    - ALIGN_PERCENT_CHANGE
                              filter:
                                type: string
                                x-dcl-go-name: Filter
                                description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                  that identifies the metric types, resources, and
                                  projects to query.
                              pickTimeSeriesFilter:
                                type: object
                                x-dcl-go-name: PickTimeSeriesFilter
                                x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
                                description: Ranking based time series filter.
                                properties:
                                  direction:
                                    type: string
                                    x-dcl-go-name: Direction
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
                                    description: 'How to use the ranking to select
                                      time series that pass through the filter. Possible
                                      values: DIRECTION_UNSPECIFIED, TOP, BOTTOM'
                                    enum:
                                    - DIRECTION_UNSPECIFIED
                                    - TOP
                                    - BOTTOM
                                  numTimeSeries:
                                    type: integer
                                    format: int64
                                    x-dcl-go-name: NumTimeSeries
                                    description: How many time series to allow to
                                      pass through the filter.
                                  rankingMethod:
                                    type: string
                                    x-dcl-go-name: RankingMethod
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
                                    description: '`ranking_method` is applied to each
                                      time series independently to produce the value
                                      which will be used to compare the time series
                                      to other time series. Possible values: METHOD_UNSPECIFIED,
                                      METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM,
                                      METHOD_LATEST'
                                    enum:
                                    - METHOD_UNSPECIFIED
                                    - METHOD_MEAN
                                    - METHOD_MAX
                                    - METHOD_MIN
                                    - METHOD_SUM
                                    - METHOD_LATEST
                              secondaryAggregation:
                                type: object
                                x-dcl-go-name: SecondaryAggregation
                                x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
                                description: Apply a second aggregation after `aggregation`
                                  is applied.
                                properties:
                                  alignmentPeriod:
                                    type: string
                                    x-dcl-go-name: AlignmentPeriod
                                    description: The `alignment_period` specifies
                                      a time interval, in seconds, that is used to
                                      divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                      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 this field is ignored.
                                  crossSeriesReducer:
                                    type: string
                                    x-dcl-go-name: CrossSeriesReducer
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
                                    description: '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. Possible values:
                                      REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,
                                      REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                      REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                      REDUCE_MAKE_DISTRIBUTION'
                                    enum:
                                    - REDUCE_NONE
                                    - REDUCE_MEAN
                                    - REDUCE_MIN
                                    - REDUCE_MAX
                                    - REDUCE_SUM
                                    - REDUCE_STDDEV
                                    - REDUCE_COUNT
                                    - REDUCE_COUNT_TRUE
                                    - REDUCE_COUNT_FALSE
                                    - REDUCE_FRACTION_TRUE
                                    - REDUCE_PERCENTILE_99
                                    - REDUCE_PERCENTILE_95
                                    - REDUCE_PERCENTILE_50
                                    - REDUCE_PERCENTILE_05
                                    - REDUCE_FRACTION_LESS_THAN
                                    - REDUCE_MAKE_DISTRIBUTION
                                  groupByFields:
                                    type: array
                                    x-dcl-go-name: GroupByFields
                                    description: 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 resource
                                      types, so this field implicitly contains `resource.type`.  Fields
                                      not specified in `group_by_fields` are aggregated
                                      away.  If `group_by_fields` is not specified
                                      and all the time series have the same resource
                                      type, then the time series are aggregated into
                                      a single output time series. If `cross_series_reducer`
                                      is not defined, this field is ignored.
                                    x-dcl-send-empty: true
                                    x-dcl-list-type: list
                                    items:
                                      type: string
                                      x-dcl-go-type: string
                                  perSeriesAligner:
                                    type: string
                                    x-dcl-go-name: PerSeriesAligner
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
                                    description: 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.
                                    enum:
                                    - ALIGN_NONE
                                    - ALIGN_DELTA
                                    - ALIGN_RATE
                                    - ALIGN_INTERPOLATE
                                    - ALIGN_NEXT_OLDER
                                    - ALIGN_MIN
                                    - ALIGN_MAX
                                    - ALIGN_MEAN
                                    - ALIGN_COUNT
                                    - ALIGN_SUM
                                    - ALIGN_STDDEV
                                    - ALIGN_COUNT_TRUE
                                    - ALIGN_COUNT_FALSE
                                    - ALIGN_FRACTION_TRUE
                                    - ALIGN_PERCENTILE_99
                                    - ALIGN_PERCENTILE_95
                                    - ALIGN_PERCENTILE_50
                                    - ALIGN_PERCENTILE_05
                                    - ALIGN_MAKE_DISTRIBUTION
                                    - ALIGN_PERCENT_CHANGE
                          timeSeriesFilterRatio:
                            type: object
                            x-dcl-go-name: TimeSeriesFilterRatio
                            x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
                            description: Parameters to fetch a ratio between two time
                              series filters.
                            properties:
                              denominator:
                                type: object
                                x-dcl-go-name: Denominator
                                x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
                                description: The denominator of the ratio.
                                required:
                                - filter
                                properties:
                                  aggregation:
                                    type: object
                                    x-dcl-go-name: Aggregation
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
                                    description: By default, the raw time series data
                                      is returned. Use this field to combine multiple
                                      time series for different views of the data.
                                    properties:
                                      alignmentPeriod:
                                        type: string
                                        x-dcl-go-name: AlignmentPeriod
                                        description: The `alignment_period` specifies
                                          a time interval, in seconds, that is used
                                          to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                          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
                                          this field is ignored.
                                      crossSeriesReducer:
                                        type: string
                                        x-dcl-go-name: CrossSeriesReducer
                                        x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
                                        description: '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. Possible values: REDUCE_NONE,
                                          REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                          REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                          REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                          REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                          REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                          REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                        enum:
                                        - REDUCE_NONE
                                        - REDUCE_MEAN
                                        - REDUCE_MIN
                                        - REDUCE_MAX
                                        - REDUCE_SUM
                                        - REDUCE_STDDEV
                                        - REDUCE_COUNT
                                        - REDUCE_COUNT_TRUE
                                        - REDUCE_COUNT_FALSE
                                        - REDUCE_FRACTION_TRUE
                                        - REDUCE_PERCENTILE_99
                                        - REDUCE_PERCENTILE_95
                                        - REDUCE_PERCENTILE_50
                                        - REDUCE_PERCENTILE_05
                                        - REDUCE_FRACTION_LESS_THAN
                                        - REDUCE_MAKE_DISTRIBUTION
                                      groupByFields:
                                        type: array
                                        x-dcl-go-name: GroupByFields
                                        description: 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
                                          resource types, so this field implicitly
                                          contains `resource.type`.  Fields not specified
                                          in `group_by_fields` are aggregated away.  If
                                          `group_by_fields` is not specified and all
                                          the time series have the same resource type,
                                          then the time series are aggregated into
                                          a single output time series. If `cross_series_reducer`
                                          is not defined, this field is ignored.
                                        x-dcl-send-empty: true
                                        x-dcl-list-type: list
                                        items:
                                          type: string
                                          x-dcl-go-type: string
                                      perSeriesAligner:
                                        type: string
                                        x-dcl-go-name: PerSeriesAligner
                                        x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
                                        description: 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.
                                        enum:
                                        - ALIGN_NONE
                                        - ALIGN_DELTA
                                        - ALIGN_RATE
                                        - ALIGN_INTERPOLATE
                                        - ALIGN_NEXT_OLDER
                                        - ALIGN_MIN
                                        - ALIGN_MAX
                                        - ALIGN_MEAN
                                        - ALIGN_COUNT
                                        - ALIGN_SUM
                                        - ALIGN_STDDEV
                                        - ALIGN_COUNT_TRUE
                                        - ALIGN_COUNT_FALSE
                                        - ALIGN_FRACTION_TRUE
                                        - ALIGN_PERCENTILE_99
                                        - ALIGN_PERCENTILE_95
                                        - ALIGN_PERCENTILE_50
                                        - ALIGN_PERCENTILE_05
                                        - ALIGN_MAKE_DISTRIBUTION
                                        - ALIGN_PERCENT_CHANGE
                                  filter:
                                    type: string
                                    x-dcl-go-name: Filter
                                    description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                      that identifies the metric types, resources,
                                      and projects to query.
                              numerator:
                                type: object
                                x-dcl-go-name: Numerator
                                x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
                                description: The numerator of the ratio.
                                required:
                                - filter
                                properties:
                                  aggregation:
                                    type: object
                                    x-dcl-go-name: Aggregation
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
                                    description: By default, the raw time series data
                                      is returned. Use this field to combine multiple
                                      time series for different views of the data.
                                    properties:
                                      alignmentPeriod:
                                        type: string
                                        x-dcl-go-name: AlignmentPeriod
                                        description: The `alignment_period` specifies
                                          a time interval, in seconds, that is used
                                          to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                          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
                                          this field is ignored.
                                      crossSeriesReducer:
                                        type: string
                                        x-dcl-go-name: CrossSeriesReducer
                                        x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
                                        description: '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. Possible values: REDUCE_NONE,
                                          REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                          REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                          REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                          REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                          REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                          REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                        enum:
                                        - REDUCE_NONE
                                        - REDUCE_MEAN
                                        - REDUCE_MIN
                                        - REDUCE_MAX
                                        - REDUCE_SUM
                                        - REDUCE_STDDEV
                                        - REDUCE_COUNT
                                        - REDUCE_COUNT_TRUE
                                        - REDUCE_COUNT_FALSE
                                        - REDUCE_FRACTION_TRUE
                                        - REDUCE_PERCENTILE_99
                                        - REDUCE_PERCENTILE_95
                                        - REDUCE_PERCENTILE_50
                                        - REDUCE_PERCENTILE_05
                                        - REDUCE_FRACTION_LESS_THAN
                                        - REDUCE_MAKE_DISTRIBUTION
                                      groupByFields:
                                        type: array
                                        x-dcl-go-name: GroupByFields
                                        description: 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
                                          resource types, so this field implicitly
                                          contains `resource.type`.  Fields not specified
                                          in `group_by_fields` are aggregated away.  If
                                          `group_by_fields` is not specified and all
                                          the time series have the same resource type,
                                          then the time series are aggregated into
                                          a single output time series. If `cross_series_reducer`
                                          is not defined, this field is ignored.
                                        x-dcl-send-empty: true
                                        x-dcl-list-type: list
                                        items:
                                          type: string
                                          x-dcl-go-type: string
                                      perSeriesAligner:
                                        type: string
                                        x-dcl-go-name: PerSeriesAligner
                                        x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
                                        description: 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.
                                        enum:
                                        - ALIGN_NONE
                                        - ALIGN_DELTA
                                        - ALIGN_RATE
                                        - ALIGN_INTERPOLATE
                                        - ALIGN_NEXT_OLDER
                                        - ALIGN_MIN
                                        - ALIGN_MAX
                                        - ALIGN_MEAN
                                        - ALIGN_COUNT
                                        - ALIGN_SUM
                                        - ALIGN_STDDEV
                                        - ALIGN_COUNT_TRUE
                                        - ALIGN_COUNT_FALSE
                                        - ALIGN_FRACTION_TRUE
                                        - ALIGN_PERCENTILE_99
                                        - ALIGN_PERCENTILE_95
                                        - ALIGN_PERCENTILE_50
                                        - ALIGN_PERCENTILE_05
                                        - ALIGN_MAKE_DISTRIBUTION
                                        - ALIGN_PERCENT_CHANGE
                                  filter:
                                    type: string
                                    x-dcl-go-name: Filter
                                    description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                      that identifies the metric types, resources,
                                      and projects to query.
                              pickTimeSeriesFilter:
                                type: object
                                x-dcl-go-name: PickTimeSeriesFilter
                                x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
                                description: Ranking based time series filter.
                                properties:
                                  direction:
                                    type: string
                                    x-dcl-go-name: Direction
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
                                    description: 'How to use the ranking to select
                                      time series that pass through the filter. Possible
                                      values: DIRECTION_UNSPECIFIED, TOP, BOTTOM'
                                    enum:
                                    - DIRECTION_UNSPECIFIED
                                    - TOP
                                    - BOTTOM
                                  numTimeSeries:
                                    type: integer
                                    format: int64
                                    x-dcl-go-name: NumTimeSeries
                                    description: How many time series to allow to
                                      pass through the filter.
                                  rankingMethod:
                                    type: string
                                    x-dcl-go-name: RankingMethod
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
                                    description: '`ranking_method` is applied to each
                                      time series independently to produce the value
                                      which will be used to compare the time series
                                      to other time series. Possible values: METHOD_UNSPECIFIED,
                                      METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM,
                                      METHOD_LATEST'
                                    enum:
                                    - METHOD_UNSPECIFIED
                                    - METHOD_MEAN
                                    - METHOD_MAX
                                    - METHOD_MIN
                                    - METHOD_SUM
                                    - METHOD_LATEST
                              secondaryAggregation:
                                type: object
                                x-dcl-go-name: SecondaryAggregation
                                x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
                                description: Apply a second aggregation after the
                                  ratio is computed.
                                properties:
                                  alignmentPeriod:
                                    type: string
                                    x-dcl-go-name: AlignmentPeriod
                                    description: The `alignment_period` specifies
                                      a time interval, in seconds, that is used to
                                      divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                      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 this field is ignored.
                                  crossSeriesReducer:
                                    type: string
                                    x-dcl-go-name: CrossSeriesReducer
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
                                    description: '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. Possible values:
                                      REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,
                                      REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                      REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                      REDUCE_MAKE_DISTRIBUTION'
                                    enum:
                                    - REDUCE_NONE
                                    - REDUCE_MEAN
                                    - REDUCE_MIN
                                    - REDUCE_MAX
                                    - REDUCE_SUM
                                    - REDUCE_STDDEV
                                    - REDUCE_COUNT
                                    - REDUCE_COUNT_TRUE
                                    - REDUCE_COUNT_FALSE
                                    - REDUCE_FRACTION_TRUE
                                    - REDUCE_PERCENTILE_99
                                    - REDUCE_PERCENTILE_95
                                    - REDUCE_PERCENTILE_50
                                    - REDUCE_PERCENTILE_05
                                    - REDUCE_FRACTION_LESS_THAN
                                    - REDUCE_MAKE_DISTRIBUTION
                                  groupByFields:
                                    type: array
                                    x-dcl-go-name: GroupByFields
                                    description: 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 resource
                                      types, so this field implicitly contains `resource.type`.  Fields
                                      not specified in `group_by_fields` are aggregated
                                      away.  If `group_by_fields` is not specified
                                      and all the time series have the same resource
                                      type, then the time series are aggregated into
                                      a single output time series. If `cross_series_reducer`
                                      is not defined, this field is ignored.
                                    x-dcl-send-empty: true
                                    x-dcl-list-type: list
                                    items:
                                      type: string
                                      x-dcl-go-type: string
                                  perSeriesAligner:
                                    type: string
                                    x-dcl-go-name: PerSeriesAligner
                                    x-dcl-go-type: DashboardGridLayoutWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
                                    description: 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.
                                    enum:
                                    - ALIGN_NONE
                                    - ALIGN_DELTA
                                    - ALIGN_RATE
                                    - ALIGN_INTERPOLATE
                                    - ALIGN_NEXT_OLDER
                                    - ALIGN_MIN
                                    - ALIGN_MAX
                                    - ALIGN_MEAN
                                    - ALIGN_COUNT
                                    - ALIGN_SUM
                                    - ALIGN_STDDEV
                                    - ALIGN_COUNT_TRUE
                                    - ALIGN_COUNT_FALSE
                                    - ALIGN_FRACTION_TRUE
                                    - ALIGN_PERCENTILE_99
                                    - ALIGN_PERCENTILE_95
                                    - ALIGN_PERCENTILE_50
                                    - ALIGN_PERCENTILE_05
                                    - ALIGN_MAKE_DISTRIBUTION
                                    - ALIGN_PERCENT_CHANGE
                          timeSeriesQueryLanguage:
                            type: string
                            x-dcl-go-name: TimeSeriesQueryLanguage
                            description: A query used to fetch time series.
                          unitOverride:
                            type: string
                            x-dcl-go-name: UnitOverride
                            description: 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
                              as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
                              field in `MetricDescriptor`.
                  text:
                    type: object
                    x-dcl-go-name: Text
                    x-dcl-go-type: DashboardGridLayoutWidgetsText
                    description: A raw string or markdown displaying textual content.
                    x-dcl-conflicts:
                    - xyChart
                    - scorecard
                    - blank
                    - logsPanel
                    properties:
                      content:
                        type: string
                        x-dcl-go-name: Content
                        description: The text content to be displayed.
                      format:
                        type: string
                        x-dcl-go-name: Format
                        x-dcl-go-type: DashboardGridLayoutWidgetsTextFormatEnum
                        description: 'How the text content is formatted. Possible
                          values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'
                        enum:
                        - FORMAT_UNSPECIFIED
                        - MARKDOWN
                        - RAW
                  title:
                    type: string
                    x-dcl-go-name: Title
                    description: Optional. The title of the widget.
                  xyChart:
                    type: object
                    x-dcl-go-name: XyChart
                    x-dcl-go-type: DashboardGridLayoutWidgetsXyChart
                    description: A chart of time series data.
                    x-dcl-conflicts:
                    - scorecard
                    - text
                    - blank
                    - logsPanel
                    required:
                    - dataSets
                    properties:
                      chartOptions:
                        type: object
                        x-dcl-go-name: ChartOptions
                        x-dcl-go-type: DashboardGridLayoutWidgetsXyChartChartOptions
                        description: Display options for the chart.
                        properties:
                          mode:
                            type: string
                            x-dcl-go-name: Mode
                            x-dcl-go-type: DashboardGridLayoutWidgetsXyChartChartOptionsModeEnum
                            description: 'The chart mode. Possible values: MODE_UNSPECIFIED,
                              COLOR, X_RAY, STATS'
                            enum:
                            - MODE_UNSPECIFIED
                            - COLOR
                            - X_RAY
                            - STATS
                      dataSets:
                        type: array
                        x-dcl-go-name: DataSets
                        description: Required. The data displayed in this chart.
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: object
                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSets
                          required:
                          - timeSeriesQuery
                          properties:
                            legendTemplate:
                              type: string
                              x-dcl-go-name: LegendTemplate
                              description: '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. '
                            minAlignmentPeriod:
                              type: string
                              x-dcl-go-name: MinAlignmentPeriod
                              description: Optional. The lower bound on data point
                                frequency for this data set, 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, the `min_alignment_period` should be at
                                least 10 minutes. It would not make sense to fetch
                                and align data at one minute intervals.
                            plotType:
                              type: string
                              x-dcl-go-name: PlotType
                              x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsPlotTypeEnum
                              description: 'How this data should be plotted on the
                                chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE,
                                STACKED_AREA, STACKED_BAR, HEATMAP'
                              enum:
                              - PLOT_TYPE_UNSPECIFIED
                              - LINE
                              - STACKED_AREA
                              - STACKED_BAR
                              - HEATMAP
                            timeSeriesQuery:
                              type: object
                              x-dcl-go-name: TimeSeriesQuery
                              x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQuery
                              description: Required. Fields for querying time series
                                data from the Stackdriver metrics API.
                              properties:
                                timeSeriesFilter:
                                  type: object
                                  x-dcl-go-name: TimeSeriesFilter
                                  x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
                                  description: Filter parameters to fetch time series.
                                  required:
                                  - filter
                                  properties:
                                    aggregation:
                                      type: object
                                      x-dcl-go-name: Aggregation
                                      x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
                                      description: By default, the raw time series
                                        data is returned. Use this field to combine
                                        multiple time series for different views of
                                        the data.
                                      properties:
                                        alignmentPeriod:
                                          type: string
                                          x-dcl-go-name: AlignmentPeriod
                                          description: The `alignment_period` specifies
                                            a time interval, in seconds, that is used
                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                            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 this field is ignored.
                                        crossSeriesReducer:
                                          type: string
                                          x-dcl-go-name: CrossSeriesReducer
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
                                          description: '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. Possible
                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                            REDUCE_MAKE_DISTRIBUTION'
                                          enum:
                                          - REDUCE_NONE
                                          - REDUCE_MEAN
                                          - REDUCE_MIN
                                          - REDUCE_MAX
                                          - REDUCE_SUM
                                          - REDUCE_STDDEV
                                          - REDUCE_COUNT
                                          - REDUCE_COUNT_TRUE
                                          - REDUCE_COUNT_FALSE
                                          - REDUCE_FRACTION_TRUE
                                          - REDUCE_PERCENTILE_99
                                          - REDUCE_PERCENTILE_95
                                          - REDUCE_PERCENTILE_50
                                          - REDUCE_PERCENTILE_05
                                          - REDUCE_FRACTION_LESS_THAN
                                          - REDUCE_MAKE_DISTRIBUTION
                                        groupByFields:
                                          type: array
                                          x-dcl-go-name: GroupByFields
                                          description: 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
                                            resource types, so this field implicitly
                                            contains `resource.type`.  Fields not
                                            specified in `group_by_fields` are aggregated
                                            away.  If `group_by_fields` is not specified
                                            and all the time series have the same
                                            resource type, then the time series are
                                            aggregated into a single output time series.
                                            If `cross_series_reducer` is not defined,
                                            this field is ignored.
                                          x-dcl-send-empty: true
                                          x-dcl-list-type: list
                                          items:
                                            type: string
                                            x-dcl-go-type: string
                                        perSeriesAligner:
                                          type: string
                                          x-dcl-go-name: PerSeriesAligner
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
                                          description: 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.
                                          enum:
                                          - ALIGN_NONE
                                          - ALIGN_DELTA
                                          - ALIGN_RATE
                                          - ALIGN_INTERPOLATE
                                          - ALIGN_NEXT_OLDER
                                          - ALIGN_MIN
                                          - ALIGN_MAX
                                          - ALIGN_MEAN
                                          - ALIGN_COUNT
                                          - ALIGN_SUM
                                          - ALIGN_STDDEV
                                          - ALIGN_COUNT_TRUE
                                          - ALIGN_COUNT_FALSE
                                          - ALIGN_FRACTION_TRUE
                                          - ALIGN_PERCENTILE_99
                                          - ALIGN_PERCENTILE_95
                                          - ALIGN_PERCENTILE_50
                                          - ALIGN_PERCENTILE_05
                                          - ALIGN_MAKE_DISTRIBUTION
                                          - ALIGN_PERCENT_CHANGE
                                    filter:
                                      type: string
                                      x-dcl-go-name: Filter
                                      description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                        that identifies the metric types, resources,
                                        and projects to query.
                                    pickTimeSeriesFilter:
                                      type: object
                                      x-dcl-go-name: PickTimeSeriesFilter
                                      x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
                                      description: Ranking based time series filter.
                                      properties:
                                        direction:
                                          type: string
                                          x-dcl-go-name: Direction
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
                                          description: 'How to use the ranking to
                                            select time series that pass through the
                                            filter. Possible values: DIRECTION_UNSPECIFIED,
                                            TOP, BOTTOM'
                                          enum:
                                          - DIRECTION_UNSPECIFIED
                                          - TOP
                                          - BOTTOM
                                        numTimeSeries:
                                          type: integer
                                          format: int64
                                          x-dcl-go-name: NumTimeSeries
                                          description: How many time series to allow
                                            to pass through the filter.
                                        rankingMethod:
                                          type: string
                                          x-dcl-go-name: RankingMethod
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
                                          description: '`ranking_method` is applied
                                            to each time series independently to produce
                                            the value which will be used to compare
                                            the time series to other time series.
                                            Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
                                            METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                          enum:
                                          - METHOD_UNSPECIFIED
                                          - METHOD_MEAN
                                          - METHOD_MAX
                                          - METHOD_MIN
                                          - METHOD_SUM
                                          - METHOD_LATEST
                                    secondaryAggregation:
                                      type: object
                                      x-dcl-go-name: SecondaryAggregation
                                      x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
                                      description: Apply a second aggregation after
                                        `aggregation` is applied.
                                      properties:
                                        alignmentPeriod:
                                          type: string
                                          x-dcl-go-name: AlignmentPeriod
                                          description: The `alignment_period` specifies
                                            a time interval, in seconds, that is used
                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                            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 this field is ignored.
                                        crossSeriesReducer:
                                          type: string
                                          x-dcl-go-name: CrossSeriesReducer
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
                                          description: '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. Possible
                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                            REDUCE_MAKE_DISTRIBUTION'
                                          enum:
                                          - REDUCE_NONE
                                          - REDUCE_MEAN
                                          - REDUCE_MIN
                                          - REDUCE_MAX
                                          - REDUCE_SUM
                                          - REDUCE_STDDEV
                                          - REDUCE_COUNT
                                          - REDUCE_COUNT_TRUE
                                          - REDUCE_COUNT_FALSE
                                          - REDUCE_FRACTION_TRUE
                                          - REDUCE_PERCENTILE_99
                                          - REDUCE_PERCENTILE_95
                                          - REDUCE_PERCENTILE_50
                                          - REDUCE_PERCENTILE_05
                                          - REDUCE_FRACTION_LESS_THAN
                                          - REDUCE_MAKE_DISTRIBUTION
                                        groupByFields:
                                          type: array
                                          x-dcl-go-name: GroupByFields
                                          description: 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
                                            resource types, so this field implicitly
                                            contains `resource.type`.  Fields not
                                            specified in `group_by_fields` are aggregated
                                            away.  If `group_by_fields` is not specified
                                            and all the time series have the same
                                            resource type, then the time series are
                                            aggregated into a single output time series.
                                            If `cross_series_reducer` is not defined,
                                            this field is ignored.
                                          x-dcl-send-empty: true
                                          x-dcl-list-type: list
                                          items:
                                            type: string
                                            x-dcl-go-type: string
                                        perSeriesAligner:
                                          type: string
                                          x-dcl-go-name: PerSeriesAligner
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
                                          description: 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.
                                          enum:
                                          - ALIGN_NONE
                                          - ALIGN_DELTA
                                          - ALIGN_RATE
                                          - ALIGN_INTERPOLATE
                                          - ALIGN_NEXT_OLDER
                                          - ALIGN_MIN
                                          - ALIGN_MAX
                                          - ALIGN_MEAN
                                          - ALIGN_COUNT
                                          - ALIGN_SUM
                                          - ALIGN_STDDEV
                                          - ALIGN_COUNT_TRUE
                                          - ALIGN_COUNT_FALSE
                                          - ALIGN_FRACTION_TRUE
                                          - ALIGN_PERCENTILE_99
                                          - ALIGN_PERCENTILE_95
                                          - ALIGN_PERCENTILE_50
                                          - ALIGN_PERCENTILE_05
                                          - ALIGN_MAKE_DISTRIBUTION
                                          - ALIGN_PERCENT_CHANGE
                                timeSeriesFilterRatio:
                                  type: object
                                  x-dcl-go-name: TimeSeriesFilterRatio
                                  x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
                                  description: Parameters to fetch a ratio between
                                    two time series filters.
                                  properties:
                                    denominator:
                                      type: object
                                      x-dcl-go-name: Denominator
                                      x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
                                      description: The denominator of the ratio.
                                      required:
                                      - filter
                                      properties:
                                        aggregation:
                                          type: object
                                          x-dcl-go-name: Aggregation
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
                                          description: By default, the raw time series
                                            data is returned. Use this field to combine
                                            multiple time series for different views
                                            of the data.
                                          properties:
                                            alignmentPeriod:
                                              type: string
                                              x-dcl-go-name: AlignmentPeriod
                                              description: The `alignment_period`
                                                specifies a time interval, in seconds,
                                                that is used to divide the data in
                                                all the [time series][google.monitoring.v3.TimeSeries]
                                                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 this field is ignored.
                                            crossSeriesReducer:
                                              type: string
                                              x-dcl-go-name: CrossSeriesReducer
                                              x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
                                              description: '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. Possible values:
                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                REDUCE_MAKE_DISTRIBUTION'
                                              enum:
                                              - REDUCE_NONE
                                              - REDUCE_MEAN
                                              - REDUCE_MIN
                                              - REDUCE_MAX
                                              - REDUCE_SUM
                                              - REDUCE_STDDEV
                                              - REDUCE_COUNT
                                              - REDUCE_COUNT_TRUE
                                              - REDUCE_COUNT_FALSE
                                              - REDUCE_FRACTION_TRUE
                                              - REDUCE_PERCENTILE_99
                                              - REDUCE_PERCENTILE_95
                                              - REDUCE_PERCENTILE_50
                                              - REDUCE_PERCENTILE_05
                                              - REDUCE_FRACTION_LESS_THAN
                                              - REDUCE_MAKE_DISTRIBUTION
                                            groupByFields:
                                              type: array
                                              x-dcl-go-name: GroupByFields
                                              description: 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 resource types, so
                                                this field implicitly contains `resource.type`.  Fields
                                                not specified in `group_by_fields`
                                                are aggregated away.  If `group_by_fields`
                                                is not specified and all the time
                                                series have the same resource type,
                                                then the time series are aggregated
                                                into a single output time series.
                                                If `cross_series_reducer` is not defined,
                                                this field is ignored.
                                              x-dcl-send-empty: true
                                              x-dcl-list-type: list
                                              items:
                                                type: string
                                                x-dcl-go-type: string
                                            perSeriesAligner:
                                              type: string
                                              x-dcl-go-name: PerSeriesAligner
                                              x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
                                              description: 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.
                                              enum:
                                              - ALIGN_NONE
                                              - ALIGN_DELTA
                                              - ALIGN_RATE
                                              - ALIGN_INTERPOLATE
                                              - ALIGN_NEXT_OLDER
                                              - ALIGN_MIN
                                              - ALIGN_MAX
                                              - ALIGN_MEAN
                                              - ALIGN_COUNT
                                              - ALIGN_SUM
                                              - ALIGN_STDDEV
                                              - ALIGN_COUNT_TRUE
                                              - ALIGN_COUNT_FALSE
                                              - ALIGN_FRACTION_TRUE
                                              - ALIGN_PERCENTILE_99
                                              - ALIGN_PERCENTILE_95
                                              - ALIGN_PERCENTILE_50
                                              - ALIGN_PERCENTILE_05
                                              - ALIGN_MAKE_DISTRIBUTION
                                              - ALIGN_PERCENT_CHANGE
                                        filter:
                                          type: string
                                          x-dcl-go-name: Filter
                                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                            that identifies the metric types, resources,
                                            and projects to query.
                                    numerator:
                                      type: object
                                      x-dcl-go-name: Numerator
                                      x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
                                      description: The numerator of the ratio.
                                      required:
                                      - filter
                                      properties:
                                        aggregation:
                                          type: object
                                          x-dcl-go-name: Aggregation
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
                                          description: By default, the raw time series
                                            data is returned. Use this field to combine
                                            multiple time series for different views
                                            of the data.
                                          properties:
                                            alignmentPeriod:
                                              type: string
                                              x-dcl-go-name: AlignmentPeriod
                                              description: The `alignment_period`
                                                specifies a time interval, in seconds,
                                                that is used to divide the data in
                                                all the [time series][google.monitoring.v3.TimeSeries]
                                                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 this field is ignored.
                                            crossSeriesReducer:
                                              type: string
                                              x-dcl-go-name: CrossSeriesReducer
                                              x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
                                              description: '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. Possible values:
                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                REDUCE_MAKE_DISTRIBUTION'
                                              enum:
                                              - REDUCE_NONE
                                              - REDUCE_MEAN
                                              - REDUCE_MIN
                                              - REDUCE_MAX
                                              - REDUCE_SUM
                                              - REDUCE_STDDEV
                                              - REDUCE_COUNT
                                              - REDUCE_COUNT_TRUE
                                              - REDUCE_COUNT_FALSE
                                              - REDUCE_FRACTION_TRUE
                                              - REDUCE_PERCENTILE_99
                                              - REDUCE_PERCENTILE_95
                                              - REDUCE_PERCENTILE_50
                                              - REDUCE_PERCENTILE_05
                                              - REDUCE_FRACTION_LESS_THAN
                                              - REDUCE_MAKE_DISTRIBUTION
                                            groupByFields:
                                              type: array
                                              x-dcl-go-name: GroupByFields
                                              description: 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 resource types, so
                                                this field implicitly contains `resource.type`.  Fields
                                                not specified in `group_by_fields`
                                                are aggregated away.  If `group_by_fields`
                                                is not specified and all the time
                                                series have the same resource type,
                                                then the time series are aggregated
                                                into a single output time series.
                                                If `cross_series_reducer` is not defined,
                                                this field is ignored.
                                              x-dcl-send-empty: true
                                              x-dcl-list-type: list
                                              items:
                                                type: string
                                                x-dcl-go-type: string
                                            perSeriesAligner:
                                              type: string
                                              x-dcl-go-name: PerSeriesAligner
                                              x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
                                              description: 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.
                                              enum:
                                              - ALIGN_NONE
                                              - ALIGN_DELTA
                                              - ALIGN_RATE
                                              - ALIGN_INTERPOLATE
                                              - ALIGN_NEXT_OLDER
                                              - ALIGN_MIN
                                              - ALIGN_MAX
                                              - ALIGN_MEAN
                                              - ALIGN_COUNT
                                              - ALIGN_SUM
                                              - ALIGN_STDDEV
                                              - ALIGN_COUNT_TRUE
                                              - ALIGN_COUNT_FALSE
                                              - ALIGN_FRACTION_TRUE
                                              - ALIGN_PERCENTILE_99
                                              - ALIGN_PERCENTILE_95
                                              - ALIGN_PERCENTILE_50
                                              - ALIGN_PERCENTILE_05
                                              - ALIGN_MAKE_DISTRIBUTION
                                              - ALIGN_PERCENT_CHANGE
                                        filter:
                                          type: string
                                          x-dcl-go-name: Filter
                                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                            that identifies the metric types, resources,
                                            and projects to query.
                                    pickTimeSeriesFilter:
                                      type: object
                                      x-dcl-go-name: PickTimeSeriesFilter
                                      x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
                                      description: Ranking based time series filter.
                                      properties:
                                        direction:
                                          type: string
                                          x-dcl-go-name: Direction
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
                                          description: 'How to use the ranking to
                                            select time series that pass through the
                                            filter. Possible values: DIRECTION_UNSPECIFIED,
                                            TOP, BOTTOM'
                                          enum:
                                          - DIRECTION_UNSPECIFIED
                                          - TOP
                                          - BOTTOM
                                        numTimeSeries:
                                          type: integer
                                          format: int64
                                          x-dcl-go-name: NumTimeSeries
                                          description: How many time series to allow
                                            to pass through the filter.
                                        rankingMethod:
                                          type: string
                                          x-dcl-go-name: RankingMethod
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
                                          description: '`ranking_method` is applied
                                            to each time series independently to produce
                                            the value which will be used to compare
                                            the time series to other time series.
                                            Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
                                            METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                          enum:
                                          - METHOD_UNSPECIFIED
                                          - METHOD_MEAN
                                          - METHOD_MAX
                                          - METHOD_MIN
                                          - METHOD_SUM
                                          - METHOD_LATEST
                                    secondaryAggregation:
                                      type: object
                                      x-dcl-go-name: SecondaryAggregation
                                      x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
                                      description: Apply a second aggregation after
                                        the ratio is computed.
                                      properties:
                                        alignmentPeriod:
                                          type: string
                                          x-dcl-go-name: AlignmentPeriod
                                          description: The `alignment_period` specifies
                                            a time interval, in seconds, that is used
                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                            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 this field is ignored.
                                        crossSeriesReducer:
                                          type: string
                                          x-dcl-go-name: CrossSeriesReducer
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
                                          description: '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. Possible
                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                            REDUCE_MAKE_DISTRIBUTION'
                                          enum:
                                          - REDUCE_NONE
                                          - REDUCE_MEAN
                                          - REDUCE_MIN
                                          - REDUCE_MAX
                                          - REDUCE_SUM
                                          - REDUCE_STDDEV
                                          - REDUCE_COUNT
                                          - REDUCE_COUNT_TRUE
                                          - REDUCE_COUNT_FALSE
                                          - REDUCE_FRACTION_TRUE
                                          - REDUCE_PERCENTILE_99
                                          - REDUCE_PERCENTILE_95
                                          - REDUCE_PERCENTILE_50
                                          - REDUCE_PERCENTILE_05
                                          - REDUCE_FRACTION_LESS_THAN
                                          - REDUCE_MAKE_DISTRIBUTION
                                        groupByFields:
                                          type: array
                                          x-dcl-go-name: GroupByFields
                                          description: 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
                                            resource types, so this field implicitly
                                            contains `resource.type`.  Fields not
                                            specified in `group_by_fields` are aggregated
                                            away.  If `group_by_fields` is not specified
                                            and all the time series have the same
                                            resource type, then the time series are
                                            aggregated into a single output time series.
                                            If `cross_series_reducer` is not defined,
                                            this field is ignored.
                                          x-dcl-send-empty: true
                                          x-dcl-list-type: list
                                          items:
                                            type: string
                                            x-dcl-go-type: string
                                        perSeriesAligner:
                                          type: string
                                          x-dcl-go-name: PerSeriesAligner
                                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
                                          description: 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.
                                          enum:
                                          - ALIGN_NONE
                                          - ALIGN_DELTA
                                          - ALIGN_RATE
                                          - ALIGN_INTERPOLATE
                                          - ALIGN_NEXT_OLDER
                                          - ALIGN_MIN
                                          - ALIGN_MAX
                                          - ALIGN_MEAN
                                          - ALIGN_COUNT
                                          - ALIGN_SUM
                                          - ALIGN_STDDEV
                                          - ALIGN_COUNT_TRUE
                                          - ALIGN_COUNT_FALSE
                                          - ALIGN_FRACTION_TRUE
                                          - ALIGN_PERCENTILE_99
                                          - ALIGN_PERCENTILE_95
                                          - ALIGN_PERCENTILE_50
                                          - ALIGN_PERCENTILE_05
                                          - ALIGN_MAKE_DISTRIBUTION
                                          - ALIGN_PERCENT_CHANGE
                                timeSeriesQueryLanguage:
                                  type: string
                                  x-dcl-go-name: TimeSeriesQueryLanguage
                                  description: A query used to fetch time series.
                                unitOverride:
                                  type: string
                                  x-dcl-go-name: UnitOverride
                                  description: 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 as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
                                    field in `MetricDescriptor`.
                      thresholds:
                        type: array
                        x-dcl-go-name: Thresholds
                        description: Threshold lines drawn horizontally across the
                          chart.
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: object
                          x-dcl-go-type: DashboardGridLayoutWidgetsXyChartThresholds
                          properties:
                            color:
                              type: string
                              x-dcl-go-name: Color
                              x-dcl-go-type: DashboardGridLayoutWidgetsXyChartThresholdsColorEnum
                              description: 'The state color for this threshold. Color
                                is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED,
                                GREY, BLUE, GREEN, YELLOW, ORANGE, RED'
                              enum:
                              - COLOR_UNSPECIFIED
                              - GREY
                              - BLUE
                              - GREEN
                              - YELLOW
                              - ORANGE
                              - RED
                            direction:
                              type: string
                              x-dcl-go-name: Direction
                              x-dcl-go-type: DashboardGridLayoutWidgetsXyChartThresholdsDirectionEnum
                              description: 'The direction for the current threshold.
                                Direction is not allowed in a XyChart. Possible values:
                                DIRECTION_UNSPECIFIED, ABOVE, BELOW'
                              enum:
                              - DIRECTION_UNSPECIFIED
                              - ABOVE
                              - BELOW
                            label:
                              type: string
                              x-dcl-go-name: Label
                              description: A label for the threshold.
                            value:
                              type: number
                              format: double
                              x-dcl-go-name: Value
                              description: The value of the threshold. The value should
                                be defined in the native scale of the metric.
                      timeshiftDuration:
                        type: string
                        x-dcl-go-name: TimeshiftDuration
                        description: 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.
                      xAxis:
                        type: object
                        x-dcl-go-name: XAxis
                        x-dcl-go-type: DashboardGridLayoutWidgetsXyChartXAxis
                        description: The properties applied to the X axis.
                        properties:
                          label:
                            type: string
                            x-dcl-go-name: Label
                            description: The label of the axis.
                          scale:
                            type: string
                            x-dcl-go-name: Scale
                            x-dcl-go-type: DashboardGridLayoutWidgetsXyChartXAxisScaleEnum
                            description: 'The axis scale. By default, a linear scale
                              is used. Possible values: SCALE_UNSPECIFIED, LINEAR,
                              LOG10'
                            enum:
                            - SCALE_UNSPECIFIED
                            - LINEAR
                            - LOG10
                      yAxis:
                        type: object
                        x-dcl-go-name: YAxis
                        x-dcl-go-type: DashboardGridLayoutWidgetsXyChartYAxis
                        description: The properties applied to the Y axis.
                        properties:
                          label:
                            type: string
                            x-dcl-go-name: Label
                            description: The label of the axis.
                          scale:
                            type: string
                            x-dcl-go-name: Scale
                            x-dcl-go-type: DashboardGridLayoutWidgetsXyChartYAxisScaleEnum
                            description: 'The axis scale. By default, a linear scale
                              is used. Possible values: SCALE_UNSPECIFIED, LINEAR,
                              LOG10'
                            enum:
                            - SCALE_UNSPECIFIED
                            - LINEAR
                            - LOG10
        mosaicLayout:
          type: object
          x-dcl-go-name: MosaicLayout
          x-dcl-go-type: DashboardMosaicLayout
          description: The content is arranged as a grid of tiles, with each content
            widget occupying one or more tiles.
          x-dcl-conflicts:
          - gridLayout
          - rowLayout
          - columnLayout
          properties:
            columns:
              type: integer
              format: int64
              x-dcl-go-name: Columns
              description: The number of columns in the mosaic grid.
            tiles:
              type: array
              x-dcl-go-name: Tiles
              description: The tiles to display.
              x-dcl-send-empty: true
              x-dcl-list-type: list
              items:
                type: object
                x-dcl-go-type: DashboardMosaicLayoutTiles
                properties:
                  height:
                    type: integer
                    format: int64
                    x-dcl-go-name: Height
                    description: The height of the tile, measured in grid squares.
                  widget:
                    type: object
                    x-dcl-go-name: Widget
                    x-dcl-go-type: DashboardMosaicLayoutTilesWidget
                    description: The informational widget contained in the tile.
                    properties:
                      blank:
                        type: object
                        x-dcl-go-name: Blank
                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetBlank
                        description: A blank space.
                        x-dcl-conflicts:
                        - xyChart
                        - scorecard
                        - text
                        - logsPanel
                      logsPanel:
                        type: object
                        x-dcl-go-name: LogsPanel
                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetLogsPanel
                        x-dcl-conflicts:
                        - xyChart
                        - scorecard
                        - text
                        - blank
                        properties:
                          filter:
                            type: string
                            x-dcl-go-name: Filter
                            description: A filter that chooses which log entries to
                              return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).
                              Only log entries that match the filter are returned.
                              An empty filter matches all log entries.
                          resourceNames:
                            type: array
                            x-dcl-go-name: ResourceNames
                            description: The names of logging resources to collect
                              logs for. Currently only projects are supported. If
                              empty, the widget will default to the host project.
                            x-dcl-send-empty: true
                            x-dcl-list-type: list
                            items:
                              type: string
                              x-dcl-go-type: string
                              x-dcl-references:
                              - resource: Cloudresourcemanager/Project
                                field: name
                      scorecard:
                        type: object
                        x-dcl-go-name: Scorecard
                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecard
                        description: A scorecard summarizing time series data.
                        x-dcl-conflicts:
                        - xyChart
                        - text
                        - blank
                        - logsPanel
                        required:
                        - timeSeriesQuery
                        properties:
                          gaugeView:
                            type: object
                            x-dcl-go-name: GaugeView
                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardGaugeView
                            description: Will cause the scorecard to show a gauge
                              chart.
                            properties:
                              lowerBound:
                                type: number
                                format: double
                                x-dcl-go-name: LowerBound
                                description: The lower bound for this gauge chart.
                                  The value of the chart should always be greater
                                  than or equal to this.
                              upperBound:
                                type: number
                                format: double
                                x-dcl-go-name: UpperBound
                                description: The upper bound for this gauge chart.
                                  The value of the chart should always be less than
                                  or equal to this.
                          sparkChartView:
                            type: object
                            x-dcl-go-name: SparkChartView
                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardSparkChartView
                            description: Will cause the scorecard to show a spark
                              chart.
                            required:
                            - sparkChartType
                            properties:
                              minAlignmentPeriod:
                                type: string
                                x-dcl-go-name: MinAlignmentPeriod
                                description: 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.
                              sparkChartType:
                                type: string
                                x-dcl-go-name: SparkChartType
                                x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardSparkChartViewSparkChartTypeEnum
                                description: 'Required. The type of sparkchart to
                                  show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,
                                  SPARK_LINE, SPARK_BAR'
                                enum:
                                - SPARK_CHART_TYPE_UNSPECIFIED
                                - SPARK_LINE
                                - SPARK_BAR
                          thresholds:
                            type: array
                            x-dcl-go-name: Thresholds
                            description: '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
                              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.'
                            x-dcl-send-empty: true
                            x-dcl-list-type: list
                            items:
                              type: object
                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardThresholds
                              properties:
                                color:
                                  type: string
                                  x-dcl-go-name: Color
                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardThresholdsColorEnum
                                  description: 'The state color for this threshold.
                                    Color is not allowed in a XyChart. Possible values:
                                    COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW,
                                    ORANGE, RED'
                                  enum:
                                  - COLOR_UNSPECIFIED
                                  - GREY
                                  - BLUE
                                  - GREEN
                                  - YELLOW
                                  - ORANGE
                                  - RED
                                direction:
                                  type: string
                                  x-dcl-go-name: Direction
                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardThresholdsDirectionEnum
                                  description: 'The direction for the current threshold.
                                    Direction is not allowed in a XyChart. Possible
                                    values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
                                  enum:
                                  - DIRECTION_UNSPECIFIED
                                  - ABOVE
                                  - BELOW
                                label:
                                  type: string
                                  x-dcl-go-name: Label
                                  description: A label for the threshold.
                                value:
                                  type: number
                                  format: double
                                  x-dcl-go-name: Value
                                  description: The value of the threshold. The value
                                    should be defined in the native scale of the metric.
                          timeSeriesQuery:
                            type: object
                            x-dcl-go-name: TimeSeriesQuery
                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQuery
                            description: Required. Fields for querying time series
                              data from the Stackdriver metrics API.
                            properties:
                              timeSeriesFilter:
                                type: object
                                x-dcl-go-name: TimeSeriesFilter
                                x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilter
                                description: Filter parameters to fetch time series.
                                required:
                                - filter
                                properties:
                                  aggregation:
                                    type: object
                                    x-dcl-go-name: Aggregation
                                    x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation
                                    description: By default, the raw time series data
                                      is returned. Use this field to combine multiple
                                      time series for different views of the data.
                                    properties:
                                      alignmentPeriod:
                                        type: string
                                        x-dcl-go-name: AlignmentPeriod
                                        description: The `alignment_period` specifies
                                          a time interval, in seconds, that is used
                                          to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                          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
                                          this field is ignored.
                                      crossSeriesReducer:
                                        type: string
                                        x-dcl-go-name: CrossSeriesReducer
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
                                        description: '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. Possible values: REDUCE_NONE,
                                          REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                          REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                          REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                          REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                          REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                          REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                        enum:
                                        - REDUCE_NONE
                                        - REDUCE_MEAN
                                        - REDUCE_MIN
                                        - REDUCE_MAX
                                        - REDUCE_SUM
                                        - REDUCE_STDDEV
                                        - REDUCE_COUNT
                                        - REDUCE_COUNT_TRUE
                                        - REDUCE_COUNT_FALSE
                                        - REDUCE_FRACTION_TRUE
                                        - REDUCE_PERCENTILE_99
                                        - REDUCE_PERCENTILE_95
                                        - REDUCE_PERCENTILE_50
                                        - REDUCE_PERCENTILE_05
                                        - REDUCE_FRACTION_LESS_THAN
                                        - REDUCE_MAKE_DISTRIBUTION
                                      groupByFields:
                                        type: array
                                        x-dcl-go-name: GroupByFields
                                        description: 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
                                          resource types, so this field implicitly
                                          contains `resource.type`.  Fields not specified
                                          in `group_by_fields` are aggregated away.  If
                                          `group_by_fields` is not specified and all
                                          the time series have the same resource type,
                                          then the time series are aggregated into
                                          a single output time series. If `cross_series_reducer`
                                          is not defined, this field is ignored.
                                        x-dcl-send-empty: true
                                        x-dcl-list-type: list
                                        items:
                                          type: string
                                          x-dcl-go-type: string
                                      perSeriesAligner:
                                        type: string
                                        x-dcl-go-name: PerSeriesAligner
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
                                        description: 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.
                                        enum:
                                        - ALIGN_NONE
                                        - ALIGN_DELTA
                                        - ALIGN_RATE
                                        - ALIGN_INTERPOLATE
                                        - ALIGN_NEXT_OLDER
                                        - ALIGN_MIN
                                        - ALIGN_MAX
                                        - ALIGN_MEAN
                                        - ALIGN_COUNT
                                        - ALIGN_SUM
                                        - ALIGN_STDDEV
                                        - ALIGN_COUNT_TRUE
                                        - ALIGN_COUNT_FALSE
                                        - ALIGN_FRACTION_TRUE
                                        - ALIGN_PERCENTILE_99
                                        - ALIGN_PERCENTILE_95
                                        - ALIGN_PERCENTILE_50
                                        - ALIGN_PERCENTILE_05
                                        - ALIGN_MAKE_DISTRIBUTION
                                        - ALIGN_PERCENT_CHANGE
                                  filter:
                                    type: string
                                    x-dcl-go-name: Filter
                                    description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                      that identifies the metric types, resources,
                                      and projects to query.
                                  pickTimeSeriesFilter:
                                    type: object
                                    x-dcl-go-name: PickTimeSeriesFilter
                                    x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
                                    description: Ranking based time series filter.
                                    properties:
                                      direction:
                                        type: string
                                        x-dcl-go-name: Direction
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
                                        description: 'How to use the ranking to select
                                          time series that pass through the filter.
                                          Possible values: DIRECTION_UNSPECIFIED,
                                          TOP, BOTTOM'
                                        enum:
                                        - DIRECTION_UNSPECIFIED
                                        - TOP
                                        - BOTTOM
                                      numTimeSeries:
                                        type: integer
                                        format: int64
                                        x-dcl-go-name: NumTimeSeries
                                        description: How many time series to allow
                                          to pass through the filter.
                                      rankingMethod:
                                        type: string
                                        x-dcl-go-name: RankingMethod
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
                                        description: '`ranking_method` is applied
                                          to each time series independently to produce
                                          the value which will be used to compare
                                          the time series to other time series. Possible
                                          values: METHOD_UNSPECIFIED, METHOD_MEAN,
                                          METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                        enum:
                                        - METHOD_UNSPECIFIED
                                        - METHOD_MEAN
                                        - METHOD_MAX
                                        - METHOD_MIN
                                        - METHOD_SUM
                                        - METHOD_LATEST
                                  secondaryAggregation:
                                    type: object
                                    x-dcl-go-name: SecondaryAggregation
                                    x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
                                    description: Apply a second aggregation after
                                      `aggregation` is applied.
                                    properties:
                                      alignmentPeriod:
                                        type: string
                                        x-dcl-go-name: AlignmentPeriod
                                        description: The `alignment_period` specifies
                                          a time interval, in seconds, that is used
                                          to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                          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
                                          this field is ignored.
                                      crossSeriesReducer:
                                        type: string
                                        x-dcl-go-name: CrossSeriesReducer
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
                                        description: '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. Possible values: REDUCE_NONE,
                                          REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                          REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                          REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                          REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                          REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                          REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                        enum:
                                        - REDUCE_NONE
                                        - REDUCE_MEAN
                                        - REDUCE_MIN
                                        - REDUCE_MAX
                                        - REDUCE_SUM
                                        - REDUCE_STDDEV
                                        - REDUCE_COUNT
                                        - REDUCE_COUNT_TRUE
                                        - REDUCE_COUNT_FALSE
                                        - REDUCE_FRACTION_TRUE
                                        - REDUCE_PERCENTILE_99
                                        - REDUCE_PERCENTILE_95
                                        - REDUCE_PERCENTILE_50
                                        - REDUCE_PERCENTILE_05
                                        - REDUCE_FRACTION_LESS_THAN
                                        - REDUCE_MAKE_DISTRIBUTION
                                      groupByFields:
                                        type: array
                                        x-dcl-go-name: GroupByFields
                                        description: 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
                                          resource types, so this field implicitly
                                          contains `resource.type`.  Fields not specified
                                          in `group_by_fields` are aggregated away.  If
                                          `group_by_fields` is not specified and all
                                          the time series have the same resource type,
                                          then the time series are aggregated into
                                          a single output time series. If `cross_series_reducer`
                                          is not defined, this field is ignored.
                                        x-dcl-send-empty: true
                                        x-dcl-list-type: list
                                        items:
                                          type: string
                                          x-dcl-go-type: string
                                      perSeriesAligner:
                                        type: string
                                        x-dcl-go-name: PerSeriesAligner
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
                                        description: 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.
                                        enum:
                                        - ALIGN_NONE
                                        - ALIGN_DELTA
                                        - ALIGN_RATE
                                        - ALIGN_INTERPOLATE
                                        - ALIGN_NEXT_OLDER
                                        - ALIGN_MIN
                                        - ALIGN_MAX
                                        - ALIGN_MEAN
                                        - ALIGN_COUNT
                                        - ALIGN_SUM
                                        - ALIGN_STDDEV
                                        - ALIGN_COUNT_TRUE
                                        - ALIGN_COUNT_FALSE
                                        - ALIGN_FRACTION_TRUE
                                        - ALIGN_PERCENTILE_99
                                        - ALIGN_PERCENTILE_95
                                        - ALIGN_PERCENTILE_50
                                        - ALIGN_PERCENTILE_05
                                        - ALIGN_MAKE_DISTRIBUTION
                                        - ALIGN_PERCENT_CHANGE
                              timeSeriesFilterRatio:
                                type: object
                                x-dcl-go-name: TimeSeriesFilterRatio
                                x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio
                                description: Parameters to fetch a ratio between two
                                  time series filters.
                                properties:
                                  denominator:
                                    type: object
                                    x-dcl-go-name: Denominator
                                    x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
                                    description: The denominator of the ratio.
                                    required:
                                    - filter
                                    properties:
                                      aggregation:
                                        type: object
                                        x-dcl-go-name: Aggregation
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
                                        description: By default, the raw time series
                                          data is returned. Use this field to combine
                                          multiple time series for different views
                                          of the data.
                                        properties:
                                          alignmentPeriod:
                                            type: string
                                            x-dcl-go-name: AlignmentPeriod
                                            description: The `alignment_period` specifies
                                              a time interval, in seconds, that is
                                              used to divide the data in all the [time
                                              series][google.monitoring.v3.TimeSeries]
                                              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 this field is ignored.
                                          crossSeriesReducer:
                                            type: string
                                            x-dcl-go-name: CrossSeriesReducer
                                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
                                            description: '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. Possible
                                              values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                              REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                              REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                              REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                              REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                              REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                              REDUCE_MAKE_DISTRIBUTION'
                                            enum:
                                            - REDUCE_NONE
                                            - REDUCE_MEAN
                                            - REDUCE_MIN
                                            - REDUCE_MAX
                                            - REDUCE_SUM
                                            - REDUCE_STDDEV
                                            - REDUCE_COUNT
                                            - REDUCE_COUNT_TRUE
                                            - REDUCE_COUNT_FALSE
                                            - REDUCE_FRACTION_TRUE
                                            - REDUCE_PERCENTILE_99
                                            - REDUCE_PERCENTILE_95
                                            - REDUCE_PERCENTILE_50
                                            - REDUCE_PERCENTILE_05
                                            - REDUCE_FRACTION_LESS_THAN
                                            - REDUCE_MAKE_DISTRIBUTION
                                          groupByFields:
                                            type: array
                                            x-dcl-go-name: GroupByFields
                                            description: 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 resource types, so this field
                                              implicitly contains `resource.type`.  Fields
                                              not specified in `group_by_fields` are
                                              aggregated away.  If `group_by_fields`
                                              is not specified and all the time series
                                              have the same resource type, then the
                                              time series are aggregated into a single
                                              output time series. If `cross_series_reducer`
                                              is not defined, this field is ignored.
                                            x-dcl-send-empty: true
                                            x-dcl-list-type: list
                                            items:
                                              type: string
                                              x-dcl-go-type: string
                                          perSeriesAligner:
                                            type: string
                                            x-dcl-go-name: PerSeriesAligner
                                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
                                            description: 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.
                                            enum:
                                            - ALIGN_NONE
                                            - ALIGN_DELTA
                                            - ALIGN_RATE
                                            - ALIGN_INTERPOLATE
                                            - ALIGN_NEXT_OLDER
                                            - ALIGN_MIN
                                            - ALIGN_MAX
                                            - ALIGN_MEAN
                                            - ALIGN_COUNT
                                            - ALIGN_SUM
                                            - ALIGN_STDDEV
                                            - ALIGN_COUNT_TRUE
                                            - ALIGN_COUNT_FALSE
                                            - ALIGN_FRACTION_TRUE
                                            - ALIGN_PERCENTILE_99
                                            - ALIGN_PERCENTILE_95
                                            - ALIGN_PERCENTILE_50
                                            - ALIGN_PERCENTILE_05
                                            - ALIGN_MAKE_DISTRIBUTION
                                            - ALIGN_PERCENT_CHANGE
                                      filter:
                                        type: string
                                        x-dcl-go-name: Filter
                                        description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                          that identifies the metric types, resources,
                                          and projects to query.
                                  numerator:
                                    type: object
                                    x-dcl-go-name: Numerator
                                    x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
                                    description: The numerator of the ratio.
                                    required:
                                    - filter
                                    properties:
                                      aggregation:
                                        type: object
                                        x-dcl-go-name: Aggregation
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
                                        description: By default, the raw time series
                                          data is returned. Use this field to combine
                                          multiple time series for different views
                                          of the data.
                                        properties:
                                          alignmentPeriod:
                                            type: string
                                            x-dcl-go-name: AlignmentPeriod
                                            description: The `alignment_period` specifies
                                              a time interval, in seconds, that is
                                              used to divide the data in all the [time
                                              series][google.monitoring.v3.TimeSeries]
                                              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 this field is ignored.
                                          crossSeriesReducer:
                                            type: string
                                            x-dcl-go-name: CrossSeriesReducer
                                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
                                            description: '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. Possible
                                              values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                              REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                              REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                              REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                              REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                              REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                              REDUCE_MAKE_DISTRIBUTION'
                                            enum:
                                            - REDUCE_NONE
                                            - REDUCE_MEAN
                                            - REDUCE_MIN
                                            - REDUCE_MAX
                                            - REDUCE_SUM
                                            - REDUCE_STDDEV
                                            - REDUCE_COUNT
                                            - REDUCE_COUNT_TRUE
                                            - REDUCE_COUNT_FALSE
                                            - REDUCE_FRACTION_TRUE
                                            - REDUCE_PERCENTILE_99
                                            - REDUCE_PERCENTILE_95
                                            - REDUCE_PERCENTILE_50
                                            - REDUCE_PERCENTILE_05
                                            - REDUCE_FRACTION_LESS_THAN
                                            - REDUCE_MAKE_DISTRIBUTION
                                          groupByFields:
                                            type: array
                                            x-dcl-go-name: GroupByFields
                                            description: 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 resource types, so this field
                                              implicitly contains `resource.type`.  Fields
                                              not specified in `group_by_fields` are
                                              aggregated away.  If `group_by_fields`
                                              is not specified and all the time series
                                              have the same resource type, then the
                                              time series are aggregated into a single
                                              output time series. If `cross_series_reducer`
                                              is not defined, this field is ignored.
                                            x-dcl-send-empty: true
                                            x-dcl-list-type: list
                                            items:
                                              type: string
                                              x-dcl-go-type: string
                                          perSeriesAligner:
                                            type: string
                                            x-dcl-go-name: PerSeriesAligner
                                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
                                            description: 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.
                                            enum:
                                            - ALIGN_NONE
                                            - ALIGN_DELTA
                                            - ALIGN_RATE
                                            - ALIGN_INTERPOLATE
                                            - ALIGN_NEXT_OLDER
                                            - ALIGN_MIN
                                            - ALIGN_MAX
                                            - ALIGN_MEAN
                                            - ALIGN_COUNT
                                            - ALIGN_SUM
                                            - ALIGN_STDDEV
                                            - ALIGN_COUNT_TRUE
                                            - ALIGN_COUNT_FALSE
                                            - ALIGN_FRACTION_TRUE
                                            - ALIGN_PERCENTILE_99
                                            - ALIGN_PERCENTILE_95
                                            - ALIGN_PERCENTILE_50
                                            - ALIGN_PERCENTILE_05
                                            - ALIGN_MAKE_DISTRIBUTION
                                            - ALIGN_PERCENT_CHANGE
                                      filter:
                                        type: string
                                        x-dcl-go-name: Filter
                                        description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                          that identifies the metric types, resources,
                                          and projects to query.
                                  pickTimeSeriesFilter:
                                    type: object
                                    x-dcl-go-name: PickTimeSeriesFilter
                                    x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
                                    description: Ranking based time series filter.
                                    properties:
                                      direction:
                                        type: string
                                        x-dcl-go-name: Direction
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
                                        description: 'How to use the ranking to select
                                          time series that pass through the filter.
                                          Possible values: DIRECTION_UNSPECIFIED,
                                          TOP, BOTTOM'
                                        enum:
                                        - DIRECTION_UNSPECIFIED
                                        - TOP
                                        - BOTTOM
                                      numTimeSeries:
                                        type: integer
                                        format: int64
                                        x-dcl-go-name: NumTimeSeries
                                        description: How many time series to allow
                                          to pass through the filter.
                                      rankingMethod:
                                        type: string
                                        x-dcl-go-name: RankingMethod
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
                                        description: '`ranking_method` is applied
                                          to each time series independently to produce
                                          the value which will be used to compare
                                          the time series to other time series. Possible
                                          values: METHOD_UNSPECIFIED, METHOD_MEAN,
                                          METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                        enum:
                                        - METHOD_UNSPECIFIED
                                        - METHOD_MEAN
                                        - METHOD_MAX
                                        - METHOD_MIN
                                        - METHOD_SUM
                                        - METHOD_LATEST
                                  secondaryAggregation:
                                    type: object
                                    x-dcl-go-name: SecondaryAggregation
                                    x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
                                    description: Apply a second aggregation after
                                      the ratio is computed.
                                    properties:
                                      alignmentPeriod:
                                        type: string
                                        x-dcl-go-name: AlignmentPeriod
                                        description: The `alignment_period` specifies
                                          a time interval, in seconds, that is used
                                          to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                          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
                                          this field is ignored.
                                      crossSeriesReducer:
                                        type: string
                                        x-dcl-go-name: CrossSeriesReducer
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
                                        description: '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. Possible values: REDUCE_NONE,
                                          REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                          REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                          REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                          REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                          REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                          REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                        enum:
                                        - REDUCE_NONE
                                        - REDUCE_MEAN
                                        - REDUCE_MIN
                                        - REDUCE_MAX
                                        - REDUCE_SUM
                                        - REDUCE_STDDEV
                                        - REDUCE_COUNT
                                        - REDUCE_COUNT_TRUE
                                        - REDUCE_COUNT_FALSE
                                        - REDUCE_FRACTION_TRUE
                                        - REDUCE_PERCENTILE_99
                                        - REDUCE_PERCENTILE_95
                                        - REDUCE_PERCENTILE_50
                                        - REDUCE_PERCENTILE_05
                                        - REDUCE_FRACTION_LESS_THAN
                                        - REDUCE_MAKE_DISTRIBUTION
                                      groupByFields:
                                        type: array
                                        x-dcl-go-name: GroupByFields
                                        description: 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
                                          resource types, so this field implicitly
                                          contains `resource.type`.  Fields not specified
                                          in `group_by_fields` are aggregated away.  If
                                          `group_by_fields` is not specified and all
                                          the time series have the same resource type,
                                          then the time series are aggregated into
                                          a single output time series. If `cross_series_reducer`
                                          is not defined, this field is ignored.
                                        x-dcl-send-empty: true
                                        x-dcl-list-type: list
                                        items:
                                          type: string
                                          x-dcl-go-type: string
                                      perSeriesAligner:
                                        type: string
                                        x-dcl-go-name: PerSeriesAligner
                                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
                                        description: 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.
                                        enum:
                                        - ALIGN_NONE
                                        - ALIGN_DELTA
                                        - ALIGN_RATE
                                        - ALIGN_INTERPOLATE
                                        - ALIGN_NEXT_OLDER
                                        - ALIGN_MIN
                                        - ALIGN_MAX
                                        - ALIGN_MEAN
                                        - ALIGN_COUNT
                                        - ALIGN_SUM
                                        - ALIGN_STDDEV
                                        - ALIGN_COUNT_TRUE
                                        - ALIGN_COUNT_FALSE
                                        - ALIGN_FRACTION_TRUE
                                        - ALIGN_PERCENTILE_99
                                        - ALIGN_PERCENTILE_95
                                        - ALIGN_PERCENTILE_50
                                        - ALIGN_PERCENTILE_05
                                        - ALIGN_MAKE_DISTRIBUTION
                                        - ALIGN_PERCENT_CHANGE
                              timeSeriesQueryLanguage:
                                type: string
                                x-dcl-go-name: TimeSeriesQueryLanguage
                                description: A query used to fetch time series.
                              unitOverride:
                                type: string
                                x-dcl-go-name: UnitOverride
                                description: 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 as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
                                  field in `MetricDescriptor`.
                      text:
                        type: object
                        x-dcl-go-name: Text
                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetText
                        description: A raw string or markdown displaying textual content.
                        x-dcl-conflicts:
                        - xyChart
                        - scorecard
                        - blank
                        - logsPanel
                        properties:
                          content:
                            type: string
                            x-dcl-go-name: Content
                            description: The text content to be displayed.
                          format:
                            type: string
                            x-dcl-go-name: Format
                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetTextFormatEnum
                            description: 'How the text content is formatted. Possible
                              values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'
                            enum:
                            - FORMAT_UNSPECIFIED
                            - MARKDOWN
                            - RAW
                      title:
                        type: string
                        x-dcl-go-name: Title
                        description: Optional. The title of the widget.
                      xyChart:
                        type: object
                        x-dcl-go-name: XyChart
                        x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChart
                        description: A chart of time series data.
                        x-dcl-conflicts:
                        - scorecard
                        - text
                        - blank
                        - logsPanel
                        required:
                        - dataSets
                        properties:
                          chartOptions:
                            type: object
                            x-dcl-go-name: ChartOptions
                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartChartOptions
                            description: Display options for the chart.
                            properties:
                              mode:
                                type: string
                                x-dcl-go-name: Mode
                                x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartChartOptionsModeEnum
                                description: 'The chart mode. Possible values: MODE_UNSPECIFIED,
                                  COLOR, X_RAY, STATS'
                                enum:
                                - MODE_UNSPECIFIED
                                - COLOR
                                - X_RAY
                                - STATS
                          dataSets:
                            type: array
                            x-dcl-go-name: DataSets
                            description: Required. The data displayed in this chart.
                            x-dcl-send-empty: true
                            x-dcl-list-type: list
                            items:
                              type: object
                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSets
                              required:
                              - timeSeriesQuery
                              properties:
                                legendTemplate:
                                  type: string
                                  x-dcl-go-name: LegendTemplate
                                  description: '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. '
                                minAlignmentPeriod:
                                  type: string
                                  x-dcl-go-name: MinAlignmentPeriod
                                  description: Optional. The lower bound on data point
                                    frequency for this data set, 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, the `min_alignment_period`
                                    should be at least 10 minutes. It would not make
                                    sense to fetch and align data at one minute intervals.
                                plotType:
                                  type: string
                                  x-dcl-go-name: PlotType
                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsPlotTypeEnum
                                  description: 'How this data should be plotted on
                                    the chart. Possible values: PLOT_TYPE_UNSPECIFIED,
                                    LINE, STACKED_AREA, STACKED_BAR, HEATMAP'
                                  enum:
                                  - PLOT_TYPE_UNSPECIFIED
                                  - LINE
                                  - STACKED_AREA
                                  - STACKED_BAR
                                  - HEATMAP
                                timeSeriesQuery:
                                  type: object
                                  x-dcl-go-name: TimeSeriesQuery
                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQuery
                                  description: Required. Fields for querying time
                                    series data from the Stackdriver metrics API.
                                  properties:
                                    timeSeriesFilter:
                                      type: object
                                      x-dcl-go-name: TimeSeriesFilter
                                      x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
                                      description: Filter parameters to fetch time
                                        series.
                                      required:
                                      - filter
                                      properties:
                                        aggregation:
                                          type: object
                                          x-dcl-go-name: Aggregation
                                          x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
                                          description: By default, the raw time series
                                            data is returned. Use this field to combine
                                            multiple time series for different views
                                            of the data.
                                          properties:
                                            alignmentPeriod:
                                              type: string
                                              x-dcl-go-name: AlignmentPeriod
                                              description: The `alignment_period`
                                                specifies a time interval, in seconds,
                                                that is used to divide the data in
                                                all the [time series][google.monitoring.v3.TimeSeries]
                                                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 this field is ignored.
                                            crossSeriesReducer:
                                              type: string
                                              x-dcl-go-name: CrossSeriesReducer
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
                                              description: '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. Possible values:
                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                REDUCE_MAKE_DISTRIBUTION'
                                              enum:
                                              - REDUCE_NONE
                                              - REDUCE_MEAN
                                              - REDUCE_MIN
                                              - REDUCE_MAX
                                              - REDUCE_SUM
                                              - REDUCE_STDDEV
                                              - REDUCE_COUNT
                                              - REDUCE_COUNT_TRUE
                                              - REDUCE_COUNT_FALSE
                                              - REDUCE_FRACTION_TRUE
                                              - REDUCE_PERCENTILE_99
                                              - REDUCE_PERCENTILE_95
                                              - REDUCE_PERCENTILE_50
                                              - REDUCE_PERCENTILE_05
                                              - REDUCE_FRACTION_LESS_THAN
                                              - REDUCE_MAKE_DISTRIBUTION
                                            groupByFields:
                                              type: array
                                              x-dcl-go-name: GroupByFields
                                              description: 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 resource types, so
                                                this field implicitly contains `resource.type`.  Fields
                                                not specified in `group_by_fields`
                                                are aggregated away.  If `group_by_fields`
                                                is not specified and all the time
                                                series have the same resource type,
                                                then the time series are aggregated
                                                into a single output time series.
                                                If `cross_series_reducer` is not defined,
                                                this field is ignored.
                                              x-dcl-send-empty: true
                                              x-dcl-list-type: list
                                              items:
                                                type: string
                                                x-dcl-go-type: string
                                            perSeriesAligner:
                                              type: string
                                              x-dcl-go-name: PerSeriesAligner
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
                                              description: 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.
                                              enum:
                                              - ALIGN_NONE
                                              - ALIGN_DELTA
                                              - ALIGN_RATE
                                              - ALIGN_INTERPOLATE
                                              - ALIGN_NEXT_OLDER
                                              - ALIGN_MIN
                                              - ALIGN_MAX
                                              - ALIGN_MEAN
                                              - ALIGN_COUNT
                                              - ALIGN_SUM
                                              - ALIGN_STDDEV
                                              - ALIGN_COUNT_TRUE
                                              - ALIGN_COUNT_FALSE
                                              - ALIGN_FRACTION_TRUE
                                              - ALIGN_PERCENTILE_99
                                              - ALIGN_PERCENTILE_95
                                              - ALIGN_PERCENTILE_50
                                              - ALIGN_PERCENTILE_05
                                              - ALIGN_MAKE_DISTRIBUTION
                                              - ALIGN_PERCENT_CHANGE
                                        filter:
                                          type: string
                                          x-dcl-go-name: Filter
                                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                            that identifies the metric types, resources,
                                            and projects to query.
                                        pickTimeSeriesFilter:
                                          type: object
                                          x-dcl-go-name: PickTimeSeriesFilter
                                          x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
                                          description: Ranking based time series filter.
                                          properties:
                                            direction:
                                              type: string
                                              x-dcl-go-name: Direction
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
                                              description: 'How to use the ranking
                                                to select time series that pass through
                                                the filter. Possible values: DIRECTION_UNSPECIFIED,
                                                TOP, BOTTOM'
                                              enum:
                                              - DIRECTION_UNSPECIFIED
                                              - TOP
                                              - BOTTOM
                                            numTimeSeries:
                                              type: integer
                                              format: int64
                                              x-dcl-go-name: NumTimeSeries
                                              description: How many time series to
                                                allow to pass through the filter.
                                            rankingMethod:
                                              type: string
                                              x-dcl-go-name: RankingMethod
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
                                              description: '`ranking_method` is applied
                                                to each time series independently
                                                to produce the value which will be
                                                used to compare the time series to
                                                other time series. Possible values:
                                                METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX,
                                                METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                              enum:
                                              - METHOD_UNSPECIFIED
                                              - METHOD_MEAN
                                              - METHOD_MAX
                                              - METHOD_MIN
                                              - METHOD_SUM
                                              - METHOD_LATEST
                                        secondaryAggregation:
                                          type: object
                                          x-dcl-go-name: SecondaryAggregation
                                          x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
                                          description: Apply a second aggregation
                                            after `aggregation` is applied.
                                          properties:
                                            alignmentPeriod:
                                              type: string
                                              x-dcl-go-name: AlignmentPeriod
                                              description: The `alignment_period`
                                                specifies a time interval, in seconds,
                                                that is used to divide the data in
                                                all the [time series][google.monitoring.v3.TimeSeries]
                                                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 this field is ignored.
                                            crossSeriesReducer:
                                              type: string
                                              x-dcl-go-name: CrossSeriesReducer
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
                                              description: '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. Possible values:
                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                REDUCE_MAKE_DISTRIBUTION'
                                              enum:
                                              - REDUCE_NONE
                                              - REDUCE_MEAN
                                              - REDUCE_MIN
                                              - REDUCE_MAX
                                              - REDUCE_SUM
                                              - REDUCE_STDDEV
                                              - REDUCE_COUNT
                                              - REDUCE_COUNT_TRUE
                                              - REDUCE_COUNT_FALSE
                                              - REDUCE_FRACTION_TRUE
                                              - REDUCE_PERCENTILE_99
                                              - REDUCE_PERCENTILE_95
                                              - REDUCE_PERCENTILE_50
                                              - REDUCE_PERCENTILE_05
                                              - REDUCE_FRACTION_LESS_THAN
                                              - REDUCE_MAKE_DISTRIBUTION
                                            groupByFields:
                                              type: array
                                              x-dcl-go-name: GroupByFields
                                              description: 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 resource types, so
                                                this field implicitly contains `resource.type`.  Fields
                                                not specified in `group_by_fields`
                                                are aggregated away.  If `group_by_fields`
                                                is not specified and all the time
                                                series have the same resource type,
                                                then the time series are aggregated
                                                into a single output time series.
                                                If `cross_series_reducer` is not defined,
                                                this field is ignored.
                                              x-dcl-send-empty: true
                                              x-dcl-list-type: list
                                              items:
                                                type: string
                                                x-dcl-go-type: string
                                            perSeriesAligner:
                                              type: string
                                              x-dcl-go-name: PerSeriesAligner
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
                                              description: 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.
                                              enum:
                                              - ALIGN_NONE
                                              - ALIGN_DELTA
                                              - ALIGN_RATE
                                              - ALIGN_INTERPOLATE
                                              - ALIGN_NEXT_OLDER
                                              - ALIGN_MIN
                                              - ALIGN_MAX
                                              - ALIGN_MEAN
                                              - ALIGN_COUNT
                                              - ALIGN_SUM
                                              - ALIGN_STDDEV
                                              - ALIGN_COUNT_TRUE
                                              - ALIGN_COUNT_FALSE
                                              - ALIGN_FRACTION_TRUE
                                              - ALIGN_PERCENTILE_99
                                              - ALIGN_PERCENTILE_95
                                              - ALIGN_PERCENTILE_50
                                              - ALIGN_PERCENTILE_05
                                              - ALIGN_MAKE_DISTRIBUTION
                                              - ALIGN_PERCENT_CHANGE
                                    timeSeriesFilterRatio:
                                      type: object
                                      x-dcl-go-name: TimeSeriesFilterRatio
                                      x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
                                      description: Parameters to fetch a ratio between
                                        two time series filters.
                                      properties:
                                        denominator:
                                          type: object
                                          x-dcl-go-name: Denominator
                                          x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
                                          description: The denominator of the ratio.
                                          required:
                                          - filter
                                          properties:
                                            aggregation:
                                              type: object
                                              x-dcl-go-name: Aggregation
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
                                              description: By default, the raw time
                                                series data is returned. Use this
                                                field to combine multiple time series
                                                for different views of the data.
                                              properties:
                                                alignmentPeriod:
                                                  type: string
                                                  x-dcl-go-name: AlignmentPeriod
                                                  description: The `alignment_period`
                                                    specifies a time interval, in
                                                    seconds, that is used to divide
                                                    the data in all the [time series][google.monitoring.v3.TimeSeries]
                                                    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
                                                    this field is ignored.
                                                crossSeriesReducer:
                                                  type: string
                                                  x-dcl-go-name: CrossSeriesReducer
                                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
                                                  description: '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. Possible
                                                    values: REDUCE_NONE, REDUCE_MEAN,
                                                    REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                                    REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                                    REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                                    REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                                    REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                                    REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                                  enum:
                                                  - REDUCE_NONE
                                                  - REDUCE_MEAN
                                                  - REDUCE_MIN
                                                  - REDUCE_MAX
                                                  - REDUCE_SUM
                                                  - REDUCE_STDDEV
                                                  - REDUCE_COUNT
                                                  - REDUCE_COUNT_TRUE
                                                  - REDUCE_COUNT_FALSE
                                                  - REDUCE_FRACTION_TRUE
                                                  - REDUCE_PERCENTILE_99
                                                  - REDUCE_PERCENTILE_95
                                                  - REDUCE_PERCENTILE_50
                                                  - REDUCE_PERCENTILE_05
                                                  - REDUCE_FRACTION_LESS_THAN
                                                  - REDUCE_MAKE_DISTRIBUTION
                                                groupByFields:
                                                  type: array
                                                  x-dcl-go-name: GroupByFields
                                                  description: 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 resource
                                                    types, so this field implicitly
                                                    contains `resource.type`.  Fields
                                                    not specified in `group_by_fields`
                                                    are aggregated away.  If `group_by_fields`
                                                    is not specified and all the time
                                                    series have the same resource
                                                    type, then the time series are
                                                    aggregated into a single output
                                                    time series. If `cross_series_reducer`
                                                    is not defined, this field is
                                                    ignored.
                                                  x-dcl-send-empty: true
                                                  x-dcl-list-type: list
                                                  items:
                                                    type: string
                                                    x-dcl-go-type: string
                                                perSeriesAligner:
                                                  type: string
                                                  x-dcl-go-name: PerSeriesAligner
                                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
                                                  description: 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.
                                                  enum:
                                                  - ALIGN_NONE
                                                  - ALIGN_DELTA
                                                  - ALIGN_RATE
                                                  - ALIGN_INTERPOLATE
                                                  - ALIGN_NEXT_OLDER
                                                  - ALIGN_MIN
                                                  - ALIGN_MAX
                                                  - ALIGN_MEAN
                                                  - ALIGN_COUNT
                                                  - ALIGN_SUM
                                                  - ALIGN_STDDEV
                                                  - ALIGN_COUNT_TRUE
                                                  - ALIGN_COUNT_FALSE
                                                  - ALIGN_FRACTION_TRUE
                                                  - ALIGN_PERCENTILE_99
                                                  - ALIGN_PERCENTILE_95
                                                  - ALIGN_PERCENTILE_50
                                                  - ALIGN_PERCENTILE_05
                                                  - ALIGN_MAKE_DISTRIBUTION
                                                  - ALIGN_PERCENT_CHANGE
                                            filter:
                                              type: string
                                              x-dcl-go-name: Filter
                                              description: Required. The [monitoring
                                                filter](https://cloud.google.com/monitoring/api/v3/filters)
                                                that identifies the metric types,
                                                resources, and projects to query.
                                        numerator:
                                          type: object
                                          x-dcl-go-name: Numerator
                                          x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
                                          description: The numerator of the ratio.
                                          required:
                                          - filter
                                          properties:
                                            aggregation:
                                              type: object
                                              x-dcl-go-name: Aggregation
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
                                              description: By default, the raw time
                                                series data is returned. Use this
                                                field to combine multiple time series
                                                for different views of the data.
                                              properties:
                                                alignmentPeriod:
                                                  type: string
                                                  x-dcl-go-name: AlignmentPeriod
                                                  description: The `alignment_period`
                                                    specifies a time interval, in
                                                    seconds, that is used to divide
                                                    the data in all the [time series][google.monitoring.v3.TimeSeries]
                                                    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
                                                    this field is ignored.
                                                crossSeriesReducer:
                                                  type: string
                                                  x-dcl-go-name: CrossSeriesReducer
                                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
                                                  description: '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. Possible
                                                    values: REDUCE_NONE, REDUCE_MEAN,
                                                    REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                                    REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                                    REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                                    REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                                    REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                                    REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                                  enum:
                                                  - REDUCE_NONE
                                                  - REDUCE_MEAN
                                                  - REDUCE_MIN
                                                  - REDUCE_MAX
                                                  - REDUCE_SUM
                                                  - REDUCE_STDDEV
                                                  - REDUCE_COUNT
                                                  - REDUCE_COUNT_TRUE
                                                  - REDUCE_COUNT_FALSE
                                                  - REDUCE_FRACTION_TRUE
                                                  - REDUCE_PERCENTILE_99
                                                  - REDUCE_PERCENTILE_95
                                                  - REDUCE_PERCENTILE_50
                                                  - REDUCE_PERCENTILE_05
                                                  - REDUCE_FRACTION_LESS_THAN
                                                  - REDUCE_MAKE_DISTRIBUTION
                                                groupByFields:
                                                  type: array
                                                  x-dcl-go-name: GroupByFields
                                                  description: 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 resource
                                                    types, so this field implicitly
                                                    contains `resource.type`.  Fields
                                                    not specified in `group_by_fields`
                                                    are aggregated away.  If `group_by_fields`
                                                    is not specified and all the time
                                                    series have the same resource
                                                    type, then the time series are
                                                    aggregated into a single output
                                                    time series. If `cross_series_reducer`
                                                    is not defined, this field is
                                                    ignored.
                                                  x-dcl-send-empty: true
                                                  x-dcl-list-type: list
                                                  items:
                                                    type: string
                                                    x-dcl-go-type: string
                                                perSeriesAligner:
                                                  type: string
                                                  x-dcl-go-name: PerSeriesAligner
                                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
                                                  description: 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.
                                                  enum:
                                                  - ALIGN_NONE
                                                  - ALIGN_DELTA
                                                  - ALIGN_RATE
                                                  - ALIGN_INTERPOLATE
                                                  - ALIGN_NEXT_OLDER
                                                  - ALIGN_MIN
                                                  - ALIGN_MAX
                                                  - ALIGN_MEAN
                                                  - ALIGN_COUNT
                                                  - ALIGN_SUM
                                                  - ALIGN_STDDEV
                                                  - ALIGN_COUNT_TRUE
                                                  - ALIGN_COUNT_FALSE
                                                  - ALIGN_FRACTION_TRUE
                                                  - ALIGN_PERCENTILE_99
                                                  - ALIGN_PERCENTILE_95
                                                  - ALIGN_PERCENTILE_50
                                                  - ALIGN_PERCENTILE_05
                                                  - ALIGN_MAKE_DISTRIBUTION
                                                  - ALIGN_PERCENT_CHANGE
                                            filter:
                                              type: string
                                              x-dcl-go-name: Filter
                                              description: Required. The [monitoring
                                                filter](https://cloud.google.com/monitoring/api/v3/filters)
                                                that identifies the metric types,
                                                resources, and projects to query.
                                        pickTimeSeriesFilter:
                                          type: object
                                          x-dcl-go-name: PickTimeSeriesFilter
                                          x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
                                          description: Ranking based time series filter.
                                          properties:
                                            direction:
                                              type: string
                                              x-dcl-go-name: Direction
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
                                              description: 'How to use the ranking
                                                to select time series that pass through
                                                the filter. Possible values: DIRECTION_UNSPECIFIED,
                                                TOP, BOTTOM'
                                              enum:
                                              - DIRECTION_UNSPECIFIED
                                              - TOP
                                              - BOTTOM
                                            numTimeSeries:
                                              type: integer
                                              format: int64
                                              x-dcl-go-name: NumTimeSeries
                                              description: How many time series to
                                                allow to pass through the filter.
                                            rankingMethod:
                                              type: string
                                              x-dcl-go-name: RankingMethod
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
                                              description: '`ranking_method` is applied
                                                to each time series independently
                                                to produce the value which will be
                                                used to compare the time series to
                                                other time series. Possible values:
                                                METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX,
                                                METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                              enum:
                                              - METHOD_UNSPECIFIED
                                              - METHOD_MEAN
                                              - METHOD_MAX
                                              - METHOD_MIN
                                              - METHOD_SUM
                                              - METHOD_LATEST
                                        secondaryAggregation:
                                          type: object
                                          x-dcl-go-name: SecondaryAggregation
                                          x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
                                          description: Apply a second aggregation
                                            after the ratio is computed.
                                          properties:
                                            alignmentPeriod:
                                              type: string
                                              x-dcl-go-name: AlignmentPeriod
                                              description: The `alignment_period`
                                                specifies a time interval, in seconds,
                                                that is used to divide the data in
                                                all the [time series][google.monitoring.v3.TimeSeries]
                                                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 this field is ignored.
                                            crossSeriesReducer:
                                              type: string
                                              x-dcl-go-name: CrossSeriesReducer
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
                                              description: '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. Possible values:
                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                REDUCE_MAKE_DISTRIBUTION'
                                              enum:
                                              - REDUCE_NONE
                                              - REDUCE_MEAN
                                              - REDUCE_MIN
                                              - REDUCE_MAX
                                              - REDUCE_SUM
                                              - REDUCE_STDDEV
                                              - REDUCE_COUNT
                                              - REDUCE_COUNT_TRUE
                                              - REDUCE_COUNT_FALSE
                                              - REDUCE_FRACTION_TRUE
                                              - REDUCE_PERCENTILE_99
                                              - REDUCE_PERCENTILE_95
                                              - REDUCE_PERCENTILE_50
                                              - REDUCE_PERCENTILE_05
                                              - REDUCE_FRACTION_LESS_THAN
                                              - REDUCE_MAKE_DISTRIBUTION
                                            groupByFields:
                                              type: array
                                              x-dcl-go-name: GroupByFields
                                              description: 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 resource types, so
                                                this field implicitly contains `resource.type`.  Fields
                                                not specified in `group_by_fields`
                                                are aggregated away.  If `group_by_fields`
                                                is not specified and all the time
                                                series have the same resource type,
                                                then the time series are aggregated
                                                into a single output time series.
                                                If `cross_series_reducer` is not defined,
                                                this field is ignored.
                                              x-dcl-send-empty: true
                                              x-dcl-list-type: list
                                              items:
                                                type: string
                                                x-dcl-go-type: string
                                            perSeriesAligner:
                                              type: string
                                              x-dcl-go-name: PerSeriesAligner
                                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
                                              description: 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.
                                              enum:
                                              - ALIGN_NONE
                                              - ALIGN_DELTA
                                              - ALIGN_RATE
                                              - ALIGN_INTERPOLATE
                                              - ALIGN_NEXT_OLDER
                                              - ALIGN_MIN
                                              - ALIGN_MAX
                                              - ALIGN_MEAN
                                              - ALIGN_COUNT
                                              - ALIGN_SUM
                                              - ALIGN_STDDEV
                                              - ALIGN_COUNT_TRUE
                                              - ALIGN_COUNT_FALSE
                                              - ALIGN_FRACTION_TRUE
                                              - ALIGN_PERCENTILE_99
                                              - ALIGN_PERCENTILE_95
                                              - ALIGN_PERCENTILE_50
                                              - ALIGN_PERCENTILE_05
                                              - ALIGN_MAKE_DISTRIBUTION
                                              - ALIGN_PERCENT_CHANGE
                                    timeSeriesQueryLanguage:
                                      type: string
                                      x-dcl-go-name: TimeSeriesQueryLanguage
                                      description: A query used to fetch time series.
                                    unitOverride:
                                      type: string
                                      x-dcl-go-name: UnitOverride
                                      description: 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 as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
                                        field in `MetricDescriptor`.
                          thresholds:
                            type: array
                            x-dcl-go-name: Thresholds
                            description: Threshold lines drawn horizontally across
                              the chart.
                            x-dcl-send-empty: true
                            x-dcl-list-type: list
                            items:
                              type: object
                              x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartThresholds
                              properties:
                                color:
                                  type: string
                                  x-dcl-go-name: Color
                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartThresholdsColorEnum
                                  description: 'The state color for this threshold.
                                    Color is not allowed in a XyChart. Possible values:
                                    COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW,
                                    ORANGE, RED'
                                  enum:
                                  - COLOR_UNSPECIFIED
                                  - GREY
                                  - BLUE
                                  - GREEN
                                  - YELLOW
                                  - ORANGE
                                  - RED
                                direction:
                                  type: string
                                  x-dcl-go-name: Direction
                                  x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartThresholdsDirectionEnum
                                  description: 'The direction for the current threshold.
                                    Direction is not allowed in a XyChart. Possible
                                    values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
                                  enum:
                                  - DIRECTION_UNSPECIFIED
                                  - ABOVE
                                  - BELOW
                                label:
                                  type: string
                                  x-dcl-go-name: Label
                                  description: A label for the threshold.
                                value:
                                  type: number
                                  format: double
                                  x-dcl-go-name: Value
                                  description: The value of the threshold. The value
                                    should be defined in the native scale of the metric.
                          timeshiftDuration:
                            type: string
                            x-dcl-go-name: TimeshiftDuration
                            description: 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.
                          xAxis:
                            type: object
                            x-dcl-go-name: XAxis
                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartXAxis
                            description: The properties applied to the X axis.
                            properties:
                              label:
                                type: string
                                x-dcl-go-name: Label
                                description: The label of the axis.
                              scale:
                                type: string
                                x-dcl-go-name: Scale
                                x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartXAxisScaleEnum
                                description: 'The axis scale. By default, a linear
                                  scale is used. Possible values: SCALE_UNSPECIFIED,
                                  LINEAR, LOG10'
                                enum:
                                - SCALE_UNSPECIFIED
                                - LINEAR
                                - LOG10
                          yAxis:
                            type: object
                            x-dcl-go-name: YAxis
                            x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartYAxis
                            description: The properties applied to the Y axis.
                            properties:
                              label:
                                type: string
                                x-dcl-go-name: Label
                                description: The label of the axis.
                              scale:
                                type: string
                                x-dcl-go-name: Scale
                                x-dcl-go-type: DashboardMosaicLayoutTilesWidgetXyChartYAxisScaleEnum
                                description: 'The axis scale. By default, a linear
                                  scale is used. Possible values: SCALE_UNSPECIFIED,
                                  LINEAR, LOG10'
                                enum:
                                - SCALE_UNSPECIFIED
                                - LINEAR
                                - LOG10
                  width:
                    type: integer
                    format: int64
                    x-dcl-go-name: Width
                    description: The width of the tile, measured in grid squares.
                  xPos:
                    type: integer
                    format: int64
                    x-dcl-go-name: XPos
                    description: The zero-indexed position of the tile in grid squares
                      relative to the left edge of the grid.
                  yPos:
                    type: integer
                    format: int64
                    x-dcl-go-name: YPos
                    description: The zero-indexed position of the tile in grid squares
                      relative to the top edge of the grid.
        name:
          type: string
          x-dcl-go-name: Name
          description: Immutable. The resource name of the dashboard.
          x-kubernetes-immutable: true
          x-dcl-parameter: true
          x-dcl-has-long-form: true
        project:
          type: string
          x-dcl-go-name: Project
          description: The project id of the resource.
          x-kubernetes-immutable: true
          x-dcl-references:
          - resource: Cloudresourcemanager/Project
            field: name
            parent: true
          x-dcl-parameter: true
        rowLayout:
          type: object
          x-dcl-go-name: RowLayout
          x-dcl-go-type: DashboardRowLayout
          description: The content is divided into equally spaced rows and the widgets
            are arranged horizontally.
          x-dcl-conflicts:
          - gridLayout
          - mosaicLayout
          - columnLayout
          properties:
            rows:
              type: array
              x-dcl-go-name: Rows
              description: The rows of content to display.
              x-dcl-send-empty: true
              x-dcl-list-type: list
              items:
                type: object
                x-dcl-go-type: DashboardRowLayoutRows
                properties:
                  weight:
                    type: integer
                    format: int64
                    x-dcl-go-name: Weight
                    description: The relative weight of this row. The row weight is
                      used to adjust the height 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.
                  widgets:
                    type: array
                    x-dcl-go-name: Widgets
                    description: The display widgets arranged horizontally in this
                      row.
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: object
                      x-dcl-go-type: DashboardRowLayoutRowsWidgets
                      properties:
                        blank:
                          type: object
                          x-dcl-go-name: Blank
                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsBlank
                          description: A blank space.
                          x-dcl-conflicts:
                          - xyChart
                          - scorecard
                          - text
                          - logsPanel
                        logsPanel:
                          type: object
                          x-dcl-go-name: LogsPanel
                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsLogsPanel
                          x-dcl-conflicts:
                          - xyChart
                          - scorecard
                          - text
                          - blank
                          properties:
                            filter:
                              type: string
                              x-dcl-go-name: Filter
                              description: A filter that chooses which log entries
                                to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries).
                                Only log entries that match the filter are returned.
                                An empty filter matches all log entries.
                            resourceNames:
                              type: array
                              x-dcl-go-name: ResourceNames
                              description: The names of logging resources to collect
                                logs for. Currently only projects are supported. If
                                empty, the widget will default to the host project.
                              x-dcl-send-empty: true
                              x-dcl-list-type: list
                              items:
                                type: string
                                x-dcl-go-type: string
                                x-dcl-references:
                                - resource: Cloudresourcemanager/Project
                                  field: name
                        scorecard:
                          type: object
                          x-dcl-go-name: Scorecard
                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecard
                          description: A scorecard summarizing time series data.
                          x-dcl-conflicts:
                          - xyChart
                          - text
                          - blank
                          - logsPanel
                          required:
                          - timeSeriesQuery
                          properties:
                            gaugeView:
                              type: object
                              x-dcl-go-name: GaugeView
                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardGaugeView
                              description: Will cause the scorecard to show a gauge
                                chart.
                              properties:
                                lowerBound:
                                  type: number
                                  format: double
                                  x-dcl-go-name: LowerBound
                                  description: The lower bound for this gauge chart.
                                    The value of the chart should always be greater
                                    than or equal to this.
                                upperBound:
                                  type: number
                                  format: double
                                  x-dcl-go-name: UpperBound
                                  description: The upper bound for this gauge chart.
                                    The value of the chart should always be less than
                                    or equal to this.
                            sparkChartView:
                              type: object
                              x-dcl-go-name: SparkChartView
                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardSparkChartView
                              description: Will cause the scorecard to show a spark
                                chart.
                              required:
                              - sparkChartType
                              properties:
                                minAlignmentPeriod:
                                  type: string
                                  x-dcl-go-name: MinAlignmentPeriod
                                  description: 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.
                                sparkChartType:
                                  type: string
                                  x-dcl-go-name: SparkChartType
                                  x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardSparkChartViewSparkChartTypeEnum
                                  description: 'Required. The type of sparkchart to
                                    show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,
                                    SPARK_LINE, SPARK_BAR'
                                  enum:
                                  - SPARK_CHART_TYPE_UNSPECIFIED
                                  - SPARK_LINE
                                  - SPARK_BAR
                            thresholds:
                              type: array
                              x-dcl-go-name: Thresholds
                              description: '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 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.'
                              x-dcl-send-empty: true
                              x-dcl-list-type: list
                              items:
                                type: object
                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardThresholds
                                properties:
                                  color:
                                    type: string
                                    x-dcl-go-name: Color
                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardThresholdsColorEnum
                                    description: 'The state color for this threshold.
                                      Color is not allowed in a XyChart. Possible
                                      values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,
                                      YELLOW, ORANGE, RED'
                                    enum:
                                    - COLOR_UNSPECIFIED
                                    - GREY
                                    - BLUE
                                    - GREEN
                                    - YELLOW
                                    - ORANGE
                                    - RED
                                  direction:
                                    type: string
                                    x-dcl-go-name: Direction
                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardThresholdsDirectionEnum
                                    description: 'The direction for the current threshold.
                                      Direction is not allowed in a XyChart. Possible
                                      values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
                                    enum:
                                    - DIRECTION_UNSPECIFIED
                                    - ABOVE
                                    - BELOW
                                  label:
                                    type: string
                                    x-dcl-go-name: Label
                                    description: A label for the threshold.
                                  value:
                                    type: number
                                    format: double
                                    x-dcl-go-name: Value
                                    description: The value of the threshold. The value
                                      should be defined in the native scale of the
                                      metric.
                            timeSeriesQuery:
                              type: object
                              x-dcl-go-name: TimeSeriesQuery
                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQuery
                              description: Required. Fields for querying time series
                                data from the Stackdriver metrics API.
                              properties:
                                timeSeriesFilter:
                                  type: object
                                  x-dcl-go-name: TimeSeriesFilter
                                  x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilter
                                  description: Filter parameters to fetch time series.
                                  required:
                                  - filter
                                  properties:
                                    aggregation:
                                      type: object
                                      x-dcl-go-name: Aggregation
                                      x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregation
                                      description: By default, the raw time series
                                        data is returned. Use this field to combine
                                        multiple time series for different views of
                                        the data.
                                      properties:
                                        alignmentPeriod:
                                          type: string
                                          x-dcl-go-name: AlignmentPeriod
                                          description: The `alignment_period` specifies
                                            a time interval, in seconds, that is used
                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                            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 this field is ignored.
                                        crossSeriesReducer:
                                          type: string
                                          x-dcl-go-name: CrossSeriesReducer
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
                                          description: '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. Possible
                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                            REDUCE_MAKE_DISTRIBUTION'
                                          enum:
                                          - REDUCE_NONE
                                          - REDUCE_MEAN
                                          - REDUCE_MIN
                                          - REDUCE_MAX
                                          - REDUCE_SUM
                                          - REDUCE_STDDEV
                                          - REDUCE_COUNT
                                          - REDUCE_COUNT_TRUE
                                          - REDUCE_COUNT_FALSE
                                          - REDUCE_FRACTION_TRUE
                                          - REDUCE_PERCENTILE_99
                                          - REDUCE_PERCENTILE_95
                                          - REDUCE_PERCENTILE_50
                                          - REDUCE_PERCENTILE_05
                                          - REDUCE_FRACTION_LESS_THAN
                                          - REDUCE_MAKE_DISTRIBUTION
                                        groupByFields:
                                          type: array
                                          x-dcl-go-name: GroupByFields
                                          description: 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
                                            resource types, so this field implicitly
                                            contains `resource.type`.  Fields not
                                            specified in `group_by_fields` are aggregated
                                            away.  If `group_by_fields` is not specified
                                            and all the time series have the same
                                            resource type, then the time series are
                                            aggregated into a single output time series.
                                            If `cross_series_reducer` is not defined,
                                            this field is ignored.
                                          x-dcl-send-empty: true
                                          x-dcl-list-type: list
                                          items:
                                            type: string
                                            x-dcl-go-type: string
                                        perSeriesAligner:
                                          type: string
                                          x-dcl-go-name: PerSeriesAligner
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
                                          description: 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.
                                          enum:
                                          - ALIGN_NONE
                                          - ALIGN_DELTA
                                          - ALIGN_RATE
                                          - ALIGN_INTERPOLATE
                                          - ALIGN_NEXT_OLDER
                                          - ALIGN_MIN
                                          - ALIGN_MAX
                                          - ALIGN_MEAN
                                          - ALIGN_COUNT
                                          - ALIGN_SUM
                                          - ALIGN_STDDEV
                                          - ALIGN_COUNT_TRUE
                                          - ALIGN_COUNT_FALSE
                                          - ALIGN_FRACTION_TRUE
                                          - ALIGN_PERCENTILE_99
                                          - ALIGN_PERCENTILE_95
                                          - ALIGN_PERCENTILE_50
                                          - ALIGN_PERCENTILE_05
                                          - ALIGN_MAKE_DISTRIBUTION
                                          - ALIGN_PERCENT_CHANGE
                                    filter:
                                      type: string
                                      x-dcl-go-name: Filter
                                      description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                        that identifies the metric types, resources,
                                        and projects to query.
                                    pickTimeSeriesFilter:
                                      type: object
                                      x-dcl-go-name: PickTimeSeriesFilter
                                      x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
                                      description: Ranking based time series filter.
                                      properties:
                                        direction:
                                          type: string
                                          x-dcl-go-name: Direction
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
                                          description: 'How to use the ranking to
                                            select time series that pass through the
                                            filter. Possible values: DIRECTION_UNSPECIFIED,
                                            TOP, BOTTOM'
                                          enum:
                                          - DIRECTION_UNSPECIFIED
                                          - TOP
                                          - BOTTOM
                                        numTimeSeries:
                                          type: integer
                                          format: int64
                                          x-dcl-go-name: NumTimeSeries
                                          description: How many time series to allow
                                            to pass through the filter.
                                        rankingMethod:
                                          type: string
                                          x-dcl-go-name: RankingMethod
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
                                          description: '`ranking_method` is applied
                                            to each time series independently to produce
                                            the value which will be used to compare
                                            the time series to other time series.
                                            Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
                                            METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                          enum:
                                          - METHOD_UNSPECIFIED
                                          - METHOD_MEAN
                                          - METHOD_MAX
                                          - METHOD_MIN
                                          - METHOD_SUM
                                          - METHOD_LATEST
                                    secondaryAggregation:
                                      type: object
                                      x-dcl-go-name: SecondaryAggregation
                                      x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
                                      description: Apply a second aggregation after
                                        `aggregation` is applied.
                                      properties:
                                        alignmentPeriod:
                                          type: string
                                          x-dcl-go-name: AlignmentPeriod
                                          description: The `alignment_period` specifies
                                            a time interval, in seconds, that is used
                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                            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 this field is ignored.
                                        crossSeriesReducer:
                                          type: string
                                          x-dcl-go-name: CrossSeriesReducer
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
                                          description: '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. Possible
                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                            REDUCE_MAKE_DISTRIBUTION'
                                          enum:
                                          - REDUCE_NONE
                                          - REDUCE_MEAN
                                          - REDUCE_MIN
                                          - REDUCE_MAX
                                          - REDUCE_SUM
                                          - REDUCE_STDDEV
                                          - REDUCE_COUNT
                                          - REDUCE_COUNT_TRUE
                                          - REDUCE_COUNT_FALSE
                                          - REDUCE_FRACTION_TRUE
                                          - REDUCE_PERCENTILE_99
                                          - REDUCE_PERCENTILE_95
                                          - REDUCE_PERCENTILE_50
                                          - REDUCE_PERCENTILE_05
                                          - REDUCE_FRACTION_LESS_THAN
                                          - REDUCE_MAKE_DISTRIBUTION
                                        groupByFields:
                                          type: array
                                          x-dcl-go-name: GroupByFields
                                          description: 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
                                            resource types, so this field implicitly
                                            contains `resource.type`.  Fields not
                                            specified in `group_by_fields` are aggregated
                                            away.  If `group_by_fields` is not specified
                                            and all the time series have the same
                                            resource type, then the time series are
                                            aggregated into a single output time series.
                                            If `cross_series_reducer` is not defined,
                                            this field is ignored.
                                          x-dcl-send-empty: true
                                          x-dcl-list-type: list
                                          items:
                                            type: string
                                            x-dcl-go-type: string
                                        perSeriesAligner:
                                          type: string
                                          x-dcl-go-name: PerSeriesAligner
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
                                          description: 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.
                                          enum:
                                          - ALIGN_NONE
                                          - ALIGN_DELTA
                                          - ALIGN_RATE
                                          - ALIGN_INTERPOLATE
                                          - ALIGN_NEXT_OLDER
                                          - ALIGN_MIN
                                          - ALIGN_MAX
                                          - ALIGN_MEAN
                                          - ALIGN_COUNT
                                          - ALIGN_SUM
                                          - ALIGN_STDDEV
                                          - ALIGN_COUNT_TRUE
                                          - ALIGN_COUNT_FALSE
                                          - ALIGN_FRACTION_TRUE
                                          - ALIGN_PERCENTILE_99
                                          - ALIGN_PERCENTILE_95
                                          - ALIGN_PERCENTILE_50
                                          - ALIGN_PERCENTILE_05
                                          - ALIGN_MAKE_DISTRIBUTION
                                          - ALIGN_PERCENT_CHANGE
                                timeSeriesFilterRatio:
                                  type: object
                                  x-dcl-go-name: TimeSeriesFilterRatio
                                  x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatio
                                  description: Parameters to fetch a ratio between
                                    two time series filters.
                                  properties:
                                    denominator:
                                      type: object
                                      x-dcl-go-name: Denominator
                                      x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator
                                      description: The denominator of the ratio.
                                      required:
                                      - filter
                                      properties:
                                        aggregation:
                                          type: object
                                          x-dcl-go-name: Aggregation
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
                                          description: By default, the raw time series
                                            data is returned. Use this field to combine
                                            multiple time series for different views
                                            of the data.
                                          properties:
                                            alignmentPeriod:
                                              type: string
                                              x-dcl-go-name: AlignmentPeriod
                                              description: The `alignment_period`
                                                specifies a time interval, in seconds,
                                                that is used to divide the data in
                                                all the [time series][google.monitoring.v3.TimeSeries]
                                                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 this field is ignored.
                                            crossSeriesReducer:
                                              type: string
                                              x-dcl-go-name: CrossSeriesReducer
                                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
                                              description: '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. Possible values:
                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                REDUCE_MAKE_DISTRIBUTION'
                                              enum:
                                              - REDUCE_NONE
                                              - REDUCE_MEAN
                                              - REDUCE_MIN
                                              - REDUCE_MAX
                                              - REDUCE_SUM
                                              - REDUCE_STDDEV
                                              - REDUCE_COUNT
                                              - REDUCE_COUNT_TRUE
                                              - REDUCE_COUNT_FALSE
                                              - REDUCE_FRACTION_TRUE
                                              - REDUCE_PERCENTILE_99
                                              - REDUCE_PERCENTILE_95
                                              - REDUCE_PERCENTILE_50
                                              - REDUCE_PERCENTILE_05
                                              - REDUCE_FRACTION_LESS_THAN
                                              - REDUCE_MAKE_DISTRIBUTION
                                            groupByFields:
                                              type: array
                                              x-dcl-go-name: GroupByFields
                                              description: 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 resource types, so
                                                this field implicitly contains `resource.type`.  Fields
                                                not specified in `group_by_fields`
                                                are aggregated away.  If `group_by_fields`
                                                is not specified and all the time
                                                series have the same resource type,
                                                then the time series are aggregated
                                                into a single output time series.
                                                If `cross_series_reducer` is not defined,
                                                this field is ignored.
                                              x-dcl-send-empty: true
                                              x-dcl-list-type: list
                                              items:
                                                type: string
                                                x-dcl-go-type: string
                                            perSeriesAligner:
                                              type: string
                                              x-dcl-go-name: PerSeriesAligner
                                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
                                              description: 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.
                                              enum:
                                              - ALIGN_NONE
                                              - ALIGN_DELTA
                                              - ALIGN_RATE
                                              - ALIGN_INTERPOLATE
                                              - ALIGN_NEXT_OLDER
                                              - ALIGN_MIN
                                              - ALIGN_MAX
                                              - ALIGN_MEAN
                                              - ALIGN_COUNT
                                              - ALIGN_SUM
                                              - ALIGN_STDDEV
                                              - ALIGN_COUNT_TRUE
                                              - ALIGN_COUNT_FALSE
                                              - ALIGN_FRACTION_TRUE
                                              - ALIGN_PERCENTILE_99
                                              - ALIGN_PERCENTILE_95
                                              - ALIGN_PERCENTILE_50
                                              - ALIGN_PERCENTILE_05
                                              - ALIGN_MAKE_DISTRIBUTION
                                              - ALIGN_PERCENT_CHANGE
                                        filter:
                                          type: string
                                          x-dcl-go-name: Filter
                                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                            that identifies the metric types, resources,
                                            and projects to query.
                                    numerator:
                                      type: object
                                      x-dcl-go-name: Numerator
                                      x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator
                                      description: The numerator of the ratio.
                                      required:
                                      - filter
                                      properties:
                                        aggregation:
                                          type: object
                                          x-dcl-go-name: Aggregation
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
                                          description: By default, the raw time series
                                            data is returned. Use this field to combine
                                            multiple time series for different views
                                            of the data.
                                          properties:
                                            alignmentPeriod:
                                              type: string
                                              x-dcl-go-name: AlignmentPeriod
                                              description: The `alignment_period`
                                                specifies a time interval, in seconds,
                                                that is used to divide the data in
                                                all the [time series][google.monitoring.v3.TimeSeries]
                                                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 this field is ignored.
                                            crossSeriesReducer:
                                              type: string
                                              x-dcl-go-name: CrossSeriesReducer
                                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
                                              description: '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. Possible values:
                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                REDUCE_MAKE_DISTRIBUTION'
                                              enum:
                                              - REDUCE_NONE
                                              - REDUCE_MEAN
                                              - REDUCE_MIN
                                              - REDUCE_MAX
                                              - REDUCE_SUM
                                              - REDUCE_STDDEV
                                              - REDUCE_COUNT
                                              - REDUCE_COUNT_TRUE
                                              - REDUCE_COUNT_FALSE
                                              - REDUCE_FRACTION_TRUE
                                              - REDUCE_PERCENTILE_99
                                              - REDUCE_PERCENTILE_95
                                              - REDUCE_PERCENTILE_50
                                              - REDUCE_PERCENTILE_05
                                              - REDUCE_FRACTION_LESS_THAN
                                              - REDUCE_MAKE_DISTRIBUTION
                                            groupByFields:
                                              type: array
                                              x-dcl-go-name: GroupByFields
                                              description: 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 resource types, so
                                                this field implicitly contains `resource.type`.  Fields
                                                not specified in `group_by_fields`
                                                are aggregated away.  If `group_by_fields`
                                                is not specified and all the time
                                                series have the same resource type,
                                                then the time series are aggregated
                                                into a single output time series.
                                                If `cross_series_reducer` is not defined,
                                                this field is ignored.
                                              x-dcl-send-empty: true
                                              x-dcl-list-type: list
                                              items:
                                                type: string
                                                x-dcl-go-type: string
                                            perSeriesAligner:
                                              type: string
                                              x-dcl-go-name: PerSeriesAligner
                                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
                                              description: 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.
                                              enum:
                                              - ALIGN_NONE
                                              - ALIGN_DELTA
                                              - ALIGN_RATE
                                              - ALIGN_INTERPOLATE
                                              - ALIGN_NEXT_OLDER
                                              - ALIGN_MIN
                                              - ALIGN_MAX
                                              - ALIGN_MEAN
                                              - ALIGN_COUNT
                                              - ALIGN_SUM
                                              - ALIGN_STDDEV
                                              - ALIGN_COUNT_TRUE
                                              - ALIGN_COUNT_FALSE
                                              - ALIGN_FRACTION_TRUE
                                              - ALIGN_PERCENTILE_99
                                              - ALIGN_PERCENTILE_95
                                              - ALIGN_PERCENTILE_50
                                              - ALIGN_PERCENTILE_05
                                              - ALIGN_MAKE_DISTRIBUTION
                                              - ALIGN_PERCENT_CHANGE
                                        filter:
                                          type: string
                                          x-dcl-go-name: Filter
                                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
                                            that identifies the metric types, resources,
                                            and projects to query.
                                    pickTimeSeriesFilter:
                                      type: object
                                      x-dcl-go-name: PickTimeSeriesFilter
                                      x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
                                      description: Ranking based time series filter.
                                      properties:
                                        direction:
                                          type: string
                                          x-dcl-go-name: Direction
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
                                          description: 'How to use the ranking to
                                            select time series that pass through the
                                            filter. Possible values: DIRECTION_UNSPECIFIED,
                                            TOP, BOTTOM'
                                          enum:
                                          - DIRECTION_UNSPECIFIED
                                          - TOP
                                          - BOTTOM
                                        numTimeSeries:
                                          type: integer
                                          format: int64
                                          x-dcl-go-name: NumTimeSeries
                                          description: How many time series to allow
                                            to pass through the filter.
                                        rankingMethod:
                                          type: string
                                          x-dcl-go-name: RankingMethod
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
                                          description: '`ranking_method` is applied
                                            to each time series independently to produce
                                            the value which will be used to compare
                                            the time series to other time series.
                                            Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,
                                            METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'
                                          enum:
                                          - METHOD_UNSPECIFIED
                                          - METHOD_MEAN
                                          - METHOD_MAX
                                          - METHOD_MIN
                                          - METHOD_SUM
                                          - METHOD_LATEST
                                    secondaryAggregation:
                                      type: object
                                      x-dcl-go-name: SecondaryAggregation
                                      x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
                                      description: Apply a second aggregation after
                                        the ratio is computed.
                                      properties:
                                        alignmentPeriod:
                                          type: string
                                          x-dcl-go-name: AlignmentPeriod
                                          description: The `alignment_period` specifies
                                            a time interval, in seconds, that is used
                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]
                                            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 this field is ignored.
                                        crossSeriesReducer:
                                          type: string
                                          x-dcl-go-name: CrossSeriesReducer
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
                                          description: '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. Possible
                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                            REDUCE_MAKE_DISTRIBUTION'
                                          enum:
                                          - REDUCE_NONE
                                          - REDUCE_MEAN
                                          - REDUCE_MIN
                                          - REDUCE_MAX
                                          - REDUCE_SUM
                                          - REDUCE_STDDEV
                                          - REDUCE_COUNT
                                          - REDUCE_COUNT_TRUE
                                          - REDUCE_COUNT_FALSE
                                          - REDUCE_FRACTION_TRUE
                                          - REDUCE_PERCENTILE_99
                                          - REDUCE_PERCENTILE_95
                                          - REDUCE_PERCENTILE_50
                                          - REDUCE_PERCENTILE_05
                                          - REDUCE_FRACTION_LESS_THAN
                                          - REDUCE_MAKE_DISTRIBUTION
                                        groupByFields:
                                          type: array
                                          x-dcl-go-name: GroupByFields
                                          description: 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
                                            resource types, so this field implicitly
                                            contains `resource.type`.  Fields not
                                            specified in `group_by_fields` are aggregated
                                            away.  If `group_by_fields` is not specified
                                            and all the time series have the same
                                            resource type, then the time series are
                                            aggregated into a single output time series.
                                            If `cross_series_reducer` is not defined,
                                            this field is ignored.
                                          x-dcl-send-empty: true
                                          x-dcl-list-type: list
                                          items:
                                            type: string
                                            x-dcl-go-type: string
                                        perSeriesAligner:
                                          type: string
                                          x-dcl-go-name: PerSeriesAligner
                                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
                                          description: 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.
                                          enum:
                                          - ALIGN_NONE
                                          - ALIGN_DELTA
                                          - ALIGN_RATE
                                          - ALIGN_INTERPOLATE
                                          - ALIGN_NEXT_OLDER
                                          - ALIGN_MIN
                                          - ALIGN_MAX
                                          - ALIGN_MEAN
                                          - ALIGN_COUNT
                                          - ALIGN_SUM
                                          - ALIGN_STDDEV
                                          - ALIGN_COUNT_TRUE
                                          - ALIGN_COUNT_FALSE
                                          - ALIGN_FRACTION_TRUE
                                          - ALIGN_PERCENTILE_99
                                          - ALIGN_PERCENTILE_95
                                          - ALIGN_PERCENTILE_50
                                          - ALIGN_PERCENTILE_05
                                          - ALIGN_MAKE_DISTRIBUTION
                                          - ALIGN_PERCENT_CHANGE
                                timeSeriesQueryLanguage:
                                  type: string
                                  x-dcl-go-name: TimeSeriesQueryLanguage
                                  description: A query used to fetch time series.
                                unitOverride:
                                  type: string
                                  x-dcl-go-name: UnitOverride
                                  description: 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 as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
                                    field in `MetricDescriptor`.
                        text:
                          type: object
                          x-dcl-go-name: Text
                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsText
                          description: A raw string or markdown displaying textual
                            content.
                          x-dcl-conflicts:
                          - xyChart
                          - scorecard
                          - blank
                          - logsPanel
                          properties:
                            content:
                              type: string
                              x-dcl-go-name: Content
                              description: The text content to be displayed.
                            format:
                              type: string
                              x-dcl-go-name: Format
                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsTextFormatEnum
                              description: 'How the text content is formatted. Possible
                                values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'
                              enum:
                              - FORMAT_UNSPECIFIED
                              - MARKDOWN
                              - RAW
                        title:
                          type: string
                          x-dcl-go-name: Title
                          description: Optional. The title of the widget.
                        xyChart:
                          type: object
                          x-dcl-go-name: XyChart
                          x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChart
                          description: A chart of time series data.
                          x-dcl-conflicts:
                          - scorecard
                          - text
                          - blank
                          - logsPanel
                          required:
                          - dataSets
                          properties:
                            chartOptions:
                              type: object
                              x-dcl-go-name: ChartOptions
                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartChartOptions
                              description: Display options for the chart.
                              properties:
                                mode:
                                  type: string
                                  x-dcl-go-name: Mode
                                  x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartChartOptionsModeEnum
                                  description: 'The chart mode. Possible values: MODE_UNSPECIFIED,
                                    COLOR, X_RAY, STATS'
                                  enum:
                                  - MODE_UNSPECIFIED
                                  - COLOR
                                  - X_RAY
                                  - STATS
                            dataSets:
                              type: array
                              x-dcl-go-name: DataSets
                              description: Required. The data displayed in this chart.
                              x-dcl-send-empty: true
                              x-dcl-list-type: list
                              items:
                                type: object
                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSets
                                required:
                                - timeSeriesQuery
                                properties:
                                  legendTemplate:
                                    type: string
                                    x-dcl-go-name: LegendTemplate
                                    description: '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. '
                                  minAlignmentPeriod:
                                    type: string
                                    x-dcl-go-name: MinAlignmentPeriod
                                    description: Optional. The lower bound on data
                                      point frequency for this data set, 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, the
                                      `min_alignment_period` should be at least 10
                                      minutes. It would not make sense to fetch and
                                      align data at one minute intervals.
                                  plotType:
                                    type: string
                                    x-dcl-go-name: PlotType
                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsPlotTypeEnum
                                    description: 'How this data should be plotted
                                      on the chart. Possible values: PLOT_TYPE_UNSPECIFIED,
                                      LINE, STACKED_AREA, STACKED_BAR, HEATMAP'
                                    enum:
                                    - PLOT_TYPE_UNSPECIFIED
                                    - LINE
                                    - STACKED_AREA
                                    - STACKED_BAR
                                    - HEATMAP
                                  timeSeriesQuery:
                                    type: object
                                    x-dcl-go-name: TimeSeriesQuery
                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQuery
                                    description: Required. Fields for querying time
                                      series data from the Stackdriver metrics API.
                                    properties:
                                      timeSeriesFilter:
                                        type: object
                                        x-dcl-go-name: TimeSeriesFilter
                                        x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilter
                                        description: Filter parameters to fetch time
                                          series.
                                        required:
                                        - filter
                                        properties:
                                          aggregation:
                                            type: object
                                            x-dcl-go-name: Aggregation
                                            x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation
                                            description: By default, the raw time
                                              series data is returned. Use this field
                                              to combine multiple time series for
                                              different views of the data.
                                            properties:
                                              alignmentPeriod:
                                                type: string
                                                x-dcl-go-name: AlignmentPeriod
                                                description: The `alignment_period`
                                                  specifies a time interval, in seconds,
                                                  that is used to divide the data
                                                  in all the [time series][google.monitoring.v3.TimeSeries]
                                                  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 this field is
                                                  ignored.
                                              crossSeriesReducer:
                                                type: string
                                                x-dcl-go-name: CrossSeriesReducer
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum
                                                description: '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. Possible values:
                                                  REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                  REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                  REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                                  REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                                  REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                                enum:
                                                - REDUCE_NONE
                                                - REDUCE_MEAN
                                                - REDUCE_MIN
                                                - REDUCE_MAX
                                                - REDUCE_SUM
                                                - REDUCE_STDDEV
                                                - REDUCE_COUNT
                                                - REDUCE_COUNT_TRUE
                                                - REDUCE_COUNT_FALSE
                                                - REDUCE_FRACTION_TRUE
                                                - REDUCE_PERCENTILE_99
                                                - REDUCE_PERCENTILE_95
                                                - REDUCE_PERCENTILE_50
                                                - REDUCE_PERCENTILE_05
                                                - REDUCE_FRACTION_LESS_THAN
                                                - REDUCE_MAKE_DISTRIBUTION
                                              groupByFields:
                                                type: array
                                                x-dcl-go-name: GroupByFields
                                                description: 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 resource types,
                                                  so this field implicitly contains
                                                  `resource.type`.  Fields not specified
                                                  in `group_by_fields` are aggregated
                                                  away.  If `group_by_fields` is not
                                                  specified and all the time series
                                                  have the same resource type, then
                                                  the time series are aggregated into
                                                  a single output time series. If
                                                  `cross_series_reducer` is not defined,
                                                  this field is ignored.
                                                x-dcl-send-empty: true
                                                x-dcl-list-type: list
                                                items:
                                                  type: string
                                                  x-dcl-go-type: string
                                              perSeriesAligner:
                                                type: string
                                                x-dcl-go-name: PerSeriesAligner
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum
                                                description: 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.
                                                enum:
                                                - ALIGN_NONE
                                                - ALIGN_DELTA
                                                - ALIGN_RATE
                                                - ALIGN_INTERPOLATE
                                                - ALIGN_NEXT_OLDER
                                                - ALIGN_MIN
                                                - ALIGN_MAX
                                                - ALIGN_MEAN
                                                - ALIGN_COUNT
                                                - ALIGN_SUM
                                                - ALIGN_STDDEV
                                                - ALIGN_COUNT_TRUE
                                                - ALIGN_COUNT_FALSE
                                                - ALIGN_FRACTION_TRUE
                                                - ALIGN_PERCENTILE_99
                                                - ALIGN_PERCENTILE_95
                                                - ALIGN_PERCENTILE_50
                                                - ALIGN_PERCENTILE_05
                                                - ALIGN_MAKE_DISTRIBUTION
                                                - ALIGN_PERCENT_CHANGE
                                          filter:
                                            type: string
                                            x-dcl-go-name: Filter
                                            description: Required. The [monitoring
                                              filter](https://cloud.google.com/monitoring/api/v3/filters)
                                              that identifies the metric types, resources,
                                              and projects to query.
                                          pickTimeSeriesFilter:
                                            type: object
                                            x-dcl-go-name: PickTimeSeriesFilter
                                            x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter
                                            description: Ranking based time series
                                              filter.
                                            properties:
                                              direction:
                                                type: string
                                                x-dcl-go-name: Direction
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum
                                                description: 'How to use the ranking
                                                  to select time series that pass
                                                  through the filter. Possible values:
                                                  DIRECTION_UNSPECIFIED, TOP, BOTTOM'
                                                enum:
                                                - DIRECTION_UNSPECIFIED
                                                - TOP
                                                - BOTTOM
                                              numTimeSeries:
                                                type: integer
                                                format: int64
                                                x-dcl-go-name: NumTimeSeries
                                                description: How many time series
                                                  to allow to pass through the filter.
                                              rankingMethod:
                                                type: string
                                                x-dcl-go-name: RankingMethod
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum
                                                description: '`ranking_method` is
                                                  applied to each time series independently
                                                  to produce the value which will
                                                  be used to compare the time series
                                                  to other time series. Possible values:
                                                  METHOD_UNSPECIFIED, METHOD_MEAN,
                                                  METHOD_MAX, METHOD_MIN, METHOD_SUM,
                                                  METHOD_LATEST'
                                                enum:
                                                - METHOD_UNSPECIFIED
                                                - METHOD_MEAN
                                                - METHOD_MAX
                                                - METHOD_MIN
                                                - METHOD_SUM
                                                - METHOD_LATEST
                                          secondaryAggregation:
                                            type: object
                                            x-dcl-go-name: SecondaryAggregation
                                            x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation
                                            description: Apply a second aggregation
                                              after `aggregation` is applied.
                                            properties:
                                              alignmentPeriod:
                                                type: string
                                                x-dcl-go-name: AlignmentPeriod
                                                description: The `alignment_period`
                                                  specifies a time interval, in seconds,
                                                  that is used to divide the data
                                                  in all the [time series][google.monitoring.v3.TimeSeries]
                                                  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 this field is
                                                  ignored.
                                              crossSeriesReducer:
                                                type: string
                                                x-dcl-go-name: CrossSeriesReducer
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum
                                                description: '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. Possible values:
                                                  REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                  REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                  REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                                  REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                                  REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                                enum:
                                                - REDUCE_NONE
                                                - REDUCE_MEAN
                                                - REDUCE_MIN
                                                - REDUCE_MAX
                                                - REDUCE_SUM
                                                - REDUCE_STDDEV
                                                - REDUCE_COUNT
                                                - REDUCE_COUNT_TRUE
                                                - REDUCE_COUNT_FALSE
                                                - REDUCE_FRACTION_TRUE
                                                - REDUCE_PERCENTILE_99
                                                - REDUCE_PERCENTILE_95
                                                - REDUCE_PERCENTILE_50
                                                - REDUCE_PERCENTILE_05
                                                - REDUCE_FRACTION_LESS_THAN
                                                - REDUCE_MAKE_DISTRIBUTION
                                              groupByFields:
                                                type: array
                                                x-dcl-go-name: GroupByFields
                                                description: 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 resource types,
                                                  so this field implicitly contains
                                                  `resource.type`.  Fields not specified
                                                  in `group_by_fields` are aggregated
                                                  away.  If `group_by_fields` is not
                                                  specified and all the time series
                                                  have the same resource type, then
                                                  the time series are aggregated into
                                                  a single output time series. If
                                                  `cross_series_reducer` is not defined,
                                                  this field is ignored.
                                                x-dcl-send-empty: true
                                                x-dcl-list-type: list
                                                items:
                                                  type: string
                                                  x-dcl-go-type: string
                                              perSeriesAligner:
                                                type: string
                                                x-dcl-go-name: PerSeriesAligner
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum
                                                description: 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.
                                                enum:
                                                - ALIGN_NONE
                                                - ALIGN_DELTA
                                                - ALIGN_RATE
                                                - ALIGN_INTERPOLATE
                                                - ALIGN_NEXT_OLDER
                                                - ALIGN_MIN
                                                - ALIGN_MAX
                                                - ALIGN_MEAN
                                                - ALIGN_COUNT
                                                - ALIGN_SUM
                                                - ALIGN_STDDEV
                                                - ALIGN_COUNT_TRUE
                                                - ALIGN_COUNT_FALSE
                                                - ALIGN_FRACTION_TRUE
                                                - ALIGN_PERCENTILE_99
                                                - ALIGN_PERCENTILE_95
                                                - ALIGN_PERCENTILE_50
                                                - ALIGN_PERCENTILE_05
                                                - ALIGN_MAKE_DISTRIBUTION
                                                - ALIGN_PERCENT_CHANGE
                                      timeSeriesFilterRatio:
                                        type: object
                                        x-dcl-go-name: TimeSeriesFilterRatio
                                        x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio
                                        description: Parameters to fetch a ratio between
                                          two time series filters.
                                        properties:
                                          denominator:
                                            type: object
                                            x-dcl-go-name: Denominator
                                            x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator
                                            description: The denominator of the ratio.
                                            required:
                                            - filter
                                            properties:
                                              aggregation:
                                                type: object
                                                x-dcl-go-name: Aggregation
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation
                                                description: By default, the raw time
                                                  series data is returned. Use this
                                                  field to combine multiple time series
                                                  for different views of the data.
                                                properties:
                                                  alignmentPeriod:
                                                    type: string
                                                    x-dcl-go-name: AlignmentPeriod
                                                    description: The `alignment_period`
                                                      specifies a time interval, in
                                                      seconds, that is used to divide
                                                      the data in all the [time series][google.monitoring.v3.TimeSeries]
                                                      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 this field is ignored.
                                                  crossSeriesReducer:
                                                    type: string
                                                    x-dcl-go-name: CrossSeriesReducer
                                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum
                                                    description: '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. Possible
                                                      values: REDUCE_NONE, REDUCE_MEAN,
                                                      REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                                      REDUCE_STDDEV, REDUCE_COUNT,
                                                      REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                      REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                      REDUCE_MAKE_DISTRIBUTION'
                                                    enum:
                                                    - REDUCE_NONE
                                                    - REDUCE_MEAN
                                                    - REDUCE_MIN
                                                    - REDUCE_MAX
                                                    - REDUCE_SUM
                                                    - REDUCE_STDDEV
                                                    - REDUCE_COUNT
                                                    - REDUCE_COUNT_TRUE
                                                    - REDUCE_COUNT_FALSE
                                                    - REDUCE_FRACTION_TRUE
                                                    - REDUCE_PERCENTILE_99
                                                    - REDUCE_PERCENTILE_95
                                                    - REDUCE_PERCENTILE_50
                                                    - REDUCE_PERCENTILE_05
                                                    - REDUCE_FRACTION_LESS_THAN
                                                    - REDUCE_MAKE_DISTRIBUTION
                                                  groupByFields:
                                                    type: array
                                                    x-dcl-go-name: GroupByFields
                                                    description: 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 resource
                                                      types, so this field implicitly
                                                      contains `resource.type`.  Fields
                                                      not specified in `group_by_fields`
                                                      are aggregated away.  If `group_by_fields`
                                                      is not specified and all the
                                                      time series have the same resource
                                                      type, then the time series are
                                                      aggregated into a single output
                                                      time series. If `cross_series_reducer`
                                                      is not defined, this field is
                                                      ignored.
                                                    x-dcl-send-empty: true
                                                    x-dcl-list-type: list
                                                    items:
                                                      type: string
                                                      x-dcl-go-type: string
                                                  perSeriesAligner:
                                                    type: string
                                                    x-dcl-go-name: PerSeriesAligner
                                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum
                                                    description: 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.
                                                    enum:
                                                    - ALIGN_NONE
                                                    - ALIGN_DELTA
                                                    - ALIGN_RATE
                                                    - ALIGN_INTERPOLATE
                                                    - ALIGN_NEXT_OLDER
                                                    - ALIGN_MIN
                                                    - ALIGN_MAX
                                                    - ALIGN_MEAN
                                                    - ALIGN_COUNT
                                                    - ALIGN_SUM
                                                    - ALIGN_STDDEV
                                                    - ALIGN_COUNT_TRUE
                                                    - ALIGN_COUNT_FALSE
                                                    - ALIGN_FRACTION_TRUE
                                                    - ALIGN_PERCENTILE_99
                                                    - ALIGN_PERCENTILE_95
                                                    - ALIGN_PERCENTILE_50
                                                    - ALIGN_PERCENTILE_05
                                                    - ALIGN_MAKE_DISTRIBUTION
                                                    - ALIGN_PERCENT_CHANGE
                                              filter:
                                                type: string
                                                x-dcl-go-name: Filter
                                                description: Required. The [monitoring
                                                  filter](https://cloud.google.com/monitoring/api/v3/filters)
                                                  that identifies the metric types,
                                                  resources, and projects to query.
                                          numerator:
                                            type: object
                                            x-dcl-go-name: Numerator
                                            x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator
                                            description: The numerator of the ratio.
                                            required:
                                            - filter
                                            properties:
                                              aggregation:
                                                type: object
                                                x-dcl-go-name: Aggregation
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation
                                                description: By default, the raw time
                                                  series data is returned. Use this
                                                  field to combine multiple time series
                                                  for different views of the data.
                                                properties:
                                                  alignmentPeriod:
                                                    type: string
                                                    x-dcl-go-name: AlignmentPeriod
                                                    description: The `alignment_period`
                                                      specifies a time interval, in
                                                      seconds, that is used to divide
                                                      the data in all the [time series][google.monitoring.v3.TimeSeries]
                                                      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 this field is ignored.
                                                  crossSeriesReducer:
                                                    type: string
                                                    x-dcl-go-name: CrossSeriesReducer
                                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum
                                                    description: '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. Possible
                                                      values: REDUCE_NONE, REDUCE_MEAN,
                                                      REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,
                                                      REDUCE_STDDEV, REDUCE_COUNT,
                                                      REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,
                                                      REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,
                                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,
                                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,
                                                      REDUCE_MAKE_DISTRIBUTION'
                                                    enum:
                                                    - REDUCE_NONE
                                                    - REDUCE_MEAN
                                                    - REDUCE_MIN
                                                    - REDUCE_MAX
                                                    - REDUCE_SUM
                                                    - REDUCE_STDDEV
                                                    - REDUCE_COUNT
                                                    - REDUCE_COUNT_TRUE
                                                    - REDUCE_COUNT_FALSE
                                                    - REDUCE_FRACTION_TRUE
                                                    - REDUCE_PERCENTILE_99
                                                    - REDUCE_PERCENTILE_95
                                                    - REDUCE_PERCENTILE_50
                                                    - REDUCE_PERCENTILE_05
                                                    - REDUCE_FRACTION_LESS_THAN
                                                    - REDUCE_MAKE_DISTRIBUTION
                                                  groupByFields:
                                                    type: array
                                                    x-dcl-go-name: GroupByFields
                                                    description: 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 resource
                                                      types, so this field implicitly
                                                      contains `resource.type`.  Fields
                                                      not specified in `group_by_fields`
                                                      are aggregated away.  If `group_by_fields`
                                                      is not specified and all the
                                                      time series have the same resource
                                                      type, then the time series are
                                                      aggregated into a single output
                                                      time series. If `cross_series_reducer`
                                                      is not defined, this field is
                                                      ignored.
                                                    x-dcl-send-empty: true
                                                    x-dcl-list-type: list
                                                    items:
                                                      type: string
                                                      x-dcl-go-type: string
                                                  perSeriesAligner:
                                                    type: string
                                                    x-dcl-go-name: PerSeriesAligner
                                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum
                                                    description: 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.
                                                    enum:
                                                    - ALIGN_NONE
                                                    - ALIGN_DELTA
                                                    - ALIGN_RATE
                                                    - ALIGN_INTERPOLATE
                                                    - ALIGN_NEXT_OLDER
                                                    - ALIGN_MIN
                                                    - ALIGN_MAX
                                                    - ALIGN_MEAN
                                                    - ALIGN_COUNT
                                                    - ALIGN_SUM
                                                    - ALIGN_STDDEV
                                                    - ALIGN_COUNT_TRUE
                                                    - ALIGN_COUNT_FALSE
                                                    - ALIGN_FRACTION_TRUE
                                                    - ALIGN_PERCENTILE_99
                                                    - ALIGN_PERCENTILE_95
                                                    - ALIGN_PERCENTILE_50
                                                    - ALIGN_PERCENTILE_05
                                                    - ALIGN_MAKE_DISTRIBUTION
                                                    - ALIGN_PERCENT_CHANGE
                                              filter:
                                                type: string
                                                x-dcl-go-name: Filter
                                                description: Required. The [monitoring
                                                  filter](https://cloud.google.com/monitoring/api/v3/filters)
                                                  that identifies the metric types,
                                                  resources, and projects to query.
                                          pickTimeSeriesFilter:
                                            type: object
                                            x-dcl-go-name: PickTimeSeriesFilter
                                            x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter
                                            description: Ranking based time series
                                              filter.
                                            properties:
                                              direction:
                                                type: string
                                                x-dcl-go-name: Direction
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum
                                                description: 'How to use the ranking
                                                  to select time series that pass
                                                  through the filter. Possible values:
                                                  DIRECTION_UNSPECIFIED, TOP, BOTTOM'
                                                enum:
                                                - DIRECTION_UNSPECIFIED
                                                - TOP
                                                - BOTTOM
                                              numTimeSeries:
                                                type: integer
                                                format: int64
                                                x-dcl-go-name: NumTimeSeries
                                                description: How many time series
                                                  to allow to pass through the filter.
                                              rankingMethod:
                                                type: string
                                                x-dcl-go-name: RankingMethod
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum
                                                description: '`ranking_method` is
                                                  applied to each time series independently
                                                  to produce the value which will
                                                  be used to compare the time series
                                                  to other time series. Possible values:
                                                  METHOD_UNSPECIFIED, METHOD_MEAN,
                                                  METHOD_MAX, METHOD_MIN, METHOD_SUM,
                                                  METHOD_LATEST'
                                                enum:
                                                - METHOD_UNSPECIFIED
                                                - METHOD_MEAN
                                                - METHOD_MAX
                                                - METHOD_MIN
                                                - METHOD_SUM
                                                - METHOD_LATEST
                                          secondaryAggregation:
                                            type: object
                                            x-dcl-go-name: SecondaryAggregation
                                            x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation
                                            description: Apply a second aggregation
                                              after the ratio is computed.
                                            properties:
                                              alignmentPeriod:
                                                type: string
                                                x-dcl-go-name: AlignmentPeriod
                                                description: The `alignment_period`
                                                  specifies a time interval, in seconds,
                                                  that is used to divide the data
                                                  in all the [time series][google.monitoring.v3.TimeSeries]
                                                  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 this field is
                                                  ignored.
                                              crossSeriesReducer:
                                                type: string
                                                x-dcl-go-name: CrossSeriesReducer
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum
                                                description: '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. Possible values:
                                                  REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,
                                                  REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,
                                                  REDUCE_COUNT, REDUCE_COUNT_TRUE,
                                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,
                                                  REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,
                                                  REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,
                                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'
                                                enum:
                                                - REDUCE_NONE
                                                - REDUCE_MEAN
                                                - REDUCE_MIN
                                                - REDUCE_MAX
                                                - REDUCE_SUM
                                                - REDUCE_STDDEV
                                                - REDUCE_COUNT
                                                - REDUCE_COUNT_TRUE
                                                - REDUCE_COUNT_FALSE
                                                - REDUCE_FRACTION_TRUE
                                                - REDUCE_PERCENTILE_99
                                                - REDUCE_PERCENTILE_95
                                                - REDUCE_PERCENTILE_50
                                                - REDUCE_PERCENTILE_05
                                                - REDUCE_FRACTION_LESS_THAN
                                                - REDUCE_MAKE_DISTRIBUTION
                                              groupByFields:
                                                type: array
                                                x-dcl-go-name: GroupByFields
                                                description: 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 resource types,
                                                  so this field implicitly contains
                                                  `resource.type`.  Fields not specified
                                                  in `group_by_fields` are aggregated
                                                  away.  If `group_by_fields` is not
                                                  specified and all the time series
                                                  have the same resource type, then
                                                  the time series are aggregated into
                                                  a single output time series. If
                                                  `cross_series_reducer` is not defined,
                                                  this field is ignored.
                                                x-dcl-send-empty: true
                                                x-dcl-list-type: list
                                                items:
                                                  type: string
                                                  x-dcl-go-type: string
                                              perSeriesAligner:
                                                type: string
                                                x-dcl-go-name: PerSeriesAligner
                                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum
                                                description: 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.
                                                enum:
                                                - ALIGN_NONE
                                                - ALIGN_DELTA
                                                - ALIGN_RATE
                                                - ALIGN_INTERPOLATE
                                                - ALIGN_NEXT_OLDER
                                                - ALIGN_MIN
                                                - ALIGN_MAX
                                                - ALIGN_MEAN
                                                - ALIGN_COUNT
                                                - ALIGN_SUM
                                                - ALIGN_STDDEV
                                                - ALIGN_COUNT_TRUE
                                                - ALIGN_COUNT_FALSE
                                                - ALIGN_FRACTION_TRUE
                                                - ALIGN_PERCENTILE_99
                                                - ALIGN_PERCENTILE_95
                                                - ALIGN_PERCENTILE_50
                                                - ALIGN_PERCENTILE_05
                                                - ALIGN_MAKE_DISTRIBUTION
                                                - ALIGN_PERCENT_CHANGE
                                      timeSeriesQueryLanguage:
                                        type: string
                                        x-dcl-go-name: TimeSeriesQueryLanguage
                                        description: A query used to fetch time series.
                                      unitOverride:
                                        type: string
                                        x-dcl-go-name: UnitOverride
                                        description: 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 as
                                          the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
                                          field in `MetricDescriptor`.
                            thresholds:
                              type: array
                              x-dcl-go-name: Thresholds
                              description: Threshold lines drawn horizontally across
                                the chart.
                              x-dcl-send-empty: true
                              x-dcl-list-type: list
                              items:
                                type: object
                                x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartThresholds
                                properties:
                                  color:
                                    type: string
                                    x-dcl-go-name: Color
                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartThresholdsColorEnum
                                    description: 'The state color for this threshold.
                                      Color is not allowed in a XyChart. Possible
                                      values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,
                                      YELLOW, ORANGE, RED'
                                    enum:
                                    - COLOR_UNSPECIFIED
                                    - GREY
                                    - BLUE
                                    - GREEN
                                    - YELLOW
                                    - ORANGE
                                    - RED
                                  direction:
                                    type: string
                                    x-dcl-go-name: Direction
                                    x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartThresholdsDirectionEnum
                                    description: 'The direction for the current threshold.
                                      Direction is not allowed in a XyChart. Possible
                                      values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'
                                    enum:
                                    - DIRECTION_UNSPECIFIED
                                    - ABOVE
                                    - BELOW
                                  label:
                                    type: string
                                    x-dcl-go-name: Label
                                    description: A label for the threshold.
                                  value:
                                    type: number
                                    format: double
                                    x-dcl-go-name: Value
                                    description: The value of the threshold. The value
                                      should be defined in the native scale of the
                                      metric.
                            timeshiftDuration:
                              type: string
                              x-dcl-go-name: TimeshiftDuration
                              description: 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.
                            xAxis:
                              type: object
                              x-dcl-go-name: XAxis
                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartXAxis
                              description: The properties applied to the X axis.
                              properties:
                                label:
                                  type: string
                                  x-dcl-go-name: Label
                                  description: The label of the axis.
                                scale:
                                  type: string
                                  x-dcl-go-name: Scale
                                  x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartXAxisScaleEnum
                                  description: 'The axis scale. By default, a linear
                                    scale is used. Possible values: SCALE_UNSPECIFIED,
                                    LINEAR, LOG10'
                                  enum:
                                  - SCALE_UNSPECIFIED
                                  - LINEAR
                                  - LOG10
                            yAxis:
                              type: object
                              x-dcl-go-name: YAxis
                              x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartYAxis
                              description: The properties applied to the Y axis.
                              properties:
                                label:
                                  type: string
                                  x-dcl-go-name: Label
                                  description: The label of the axis.
                                scale:
                                  type: string
                                  x-dcl-go-name: Scale
                                  x-dcl-go-type: DashboardRowLayoutRowsWidgetsXyChartYAxisScaleEnum
                                  description: 'The axis scale. By default, a linear
                                    scale is used. Possible values: SCALE_UNSPECIFIED,
                                    LINEAR, LOG10'
                                  enum:
                                  - SCALE_UNSPECIFIED
                                  - LINEAR
                                  - LOG10
