# Path: google/cloud/monitoring_dashboard_v1/types/common.py
# class Aggregation(proto.Message):
#     class Aligner(proto.Enum):
#     class Reducer(proto.Enum):
# class PickTimeSeriesFilter(proto.Message):
#     class Method(proto.Enum):
#     class Direction(proto.Enum):
# class StatisticalTimeSeriesFilter(proto.Message):
#     class Method(proto.Enum):
#         ALIGN_NONE = 0
#         ALIGN_DELTA = 1
#         ALIGN_RATE = 2
#         ALIGN_INTERPOLATE = 3
#         ALIGN_NEXT_OLDER = 4
#         ALIGN_MIN = 10
#         ALIGN_MAX = 11
#         ALIGN_MEAN = 12
#         ALIGN_COUNT = 13
#         ALIGN_SUM = 14
#         ALIGN_STDDEV = 15
#         ALIGN_COUNT_TRUE = 16
#         ALIGN_COUNT_FALSE = 24
#         ALIGN_FRACTION_TRUE = 17
#         ALIGN_PERCENTILE_99 = 18
#         ALIGN_PERCENTILE_95 = 19
#         ALIGN_PERCENTILE_50 = 20
#         ALIGN_PERCENTILE_05 = 21
#         ALIGN_PERCENT_CHANGE = 23
#         REDUCE_NONE = 0
#         REDUCE_MEAN = 1
#         REDUCE_MIN = 2
#         REDUCE_MAX = 3
#         REDUCE_SUM = 4
#         REDUCE_STDDEV = 5
#         REDUCE_COUNT = 6
#         REDUCE_COUNT_TRUE = 7
#         REDUCE_COUNT_FALSE = 15
#         REDUCE_FRACTION_TRUE = 8
#         REDUCE_PERCENTILE_99 = 9
#         REDUCE_PERCENTILE_95 = 10
#         REDUCE_PERCENTILE_50 = 11
#         REDUCE_PERCENTILE_05 = 12
#         METHOD_UNSPECIFIED = 0
#         METHOD_MEAN = 1
#         METHOD_MAX = 2
#         METHOD_MIN = 3
#         METHOD_SUM = 4
#         METHOD_LATEST = 5
#         DIRECTION_UNSPECIFIED = 0
#         TOP = 1
#         BOTTOM = 2
#         METHOD_UNSPECIFIED = 0
#         METHOD_CLUSTER_OUTLIER = 1


import proto  # type: ignore
from google.cloud.monitoring_dashboard_v1.types import common
        statistical_time_series_filter (google.cloud.monitoring_dashboard_v1.types.StatisticalTimeSeriesFilter):
            Statistics based time series filter.
            Note: This field is deprecated and completely
            ignored by the API.

            This field is a member of `oneof`_ ``output_filter``.
    """

    class RatioPart(proto.Message):
        r"""Describes a query to build the numerator or denominator of a
        TimeSeriesFilterRatio.

        Attributes:
            filter (str):
                Required. The `monitoring
                filter <https://cloud.google.com/monitoring/api/v3/filters>`__
                that identifies the metric types, resources, and projects to
                query.
            aggregation (google.cloud.monitoring_dashboard_v1.types.Aggregation):
                By default, the raw time series data is
                returned. Use this field to combine multiple
                time series for different views of the data.
        """

        filter = proto.Field(proto.STRING, number=1,)
        aggregation = proto.Field(proto.MESSAGE, number=2, message=common.Aggregation,)

    numerator = proto.Field(proto.MESSAGE, number=1, message=RatioPart,)
    denominator = proto.Field(proto.MESSAGE, number=2, message=RatioPart,)
    secondary_aggregation = proto.Field(

# Path: google/cloud/monitoring_dashboard_v1/types/common.py
# class Aggregation(proto.Message):
#     class Aligner(proto.Enum):
#     class Reducer(proto.Enum):
# class PickTimeSeriesFilter(proto.Message):
#     class Method(proto.Enum):
#     class Direction(proto.Enum):
# class StatisticalTimeSeriesFilter(proto.Message):
#     class Method(proto.Enum):
#         ALIGN_NONE = 0
#         ALIGN_DELTA = 1
#         ALIGN_RATE = 2
#         ALIGN_INTERPOLATE = 3
#         ALIGN_NEXT_OLDER = 4
#         ALIGN_MIN = 10
#         ALIGN_MAX = 11
#         ALIGN_MEAN = 12
#         ALIGN_COUNT = 13
#         ALIGN_SUM = 14
#         ALIGN_STDDEV = 15
#         ALIGN_COUNT_TRUE = 16
#         ALIGN_COUNT_FALSE = 24
#         ALIGN_FRACTION_TRUE = 17
#         ALIGN_PERCENTILE_99 = 18
#         ALIGN_PERCENTILE_95 = 19
#         ALIGN_PERCENTILE_50 = 20
#         ALIGN_PERCENTILE_05 = 21
#         ALIGN_PERCENT_CHANGE = 23
#         REDUCE_NONE = 0
#         REDUCE_MEAN = 1
#         REDUCE_MIN = 2
#         REDUCE_MAX = 3
#         REDUCE_SUM = 4
#         REDUCE_STDDEV = 5
#         REDUCE_COUNT = 6
#         REDUCE_COUNT_TRUE = 7
#         REDUCE_COUNT_FALSE = 15
#         REDUCE_FRACTION_TRUE = 8
#         REDUCE_PERCENTILE_99 = 9
#         REDUCE_PERCENTILE_95 = 10
#         REDUCE_PERCENTILE_50 = 11
#         REDUCE_PERCENTILE_05 = 12
#         METHOD_UNSPECIFIED = 0
#         METHOD_MEAN = 1
#         METHOD_MAX = 2
#         METHOD_MIN = 3
#         METHOD_SUM = 4
#         METHOD_LATEST = 5
#         DIRECTION_UNSPECIFIED = 0
#         TOP = 1
#         BOTTOM = 2
#         METHOD_UNSPECIFIED = 0
#         METHOD_CLUSTER_OUTLIER = 1


# Path: google/cloud/monitoring_dashboard_v1/types/metrics.py
import proto  # type: ignore
from google.cloud.monitoring_dashboard_v1.types import common

        statistical_time_series_filter (google.cloud.monitoring_dashboard_v1.types.StatisticalTimeSeriesFilter):
            Statistics based time series filter.
            Note: This field is deprecated and completely
            ignored by the API.

            This field is a member of `oneof`_ ``output_filter``.
    """

    class RatioPart(proto.Message):
        r"""Describes a query to build the numerator or denominator of a
        TimeSeriesFilterRatio.

        Attributes:
            filter (str):
                Required. The `monitoring
                filter <https://cloud.google.com/monitoring/api/v3/filters>`__
                that identifies the metric types, resources, and projects to
                query.
            aggregation (google.cloud.monitoring_dashboard_v1.types.Aggregation):
                By default, the raw time series data is
                returned. Use this field to combine multiple
                time series for different views of the data.
        """

        filter = proto.Field(proto.STRING, number=1,)
        aggregation = proto.Field(proto.MESSAGE, number=2, message=common.Aggregation,)

    numerator = proto.Field(proto.MESSAGE, number=1, message=RatioPart,)
    denominator = proto.Field(proto.MESSAGE, number=2, message=RatioPart,)
    secondary_aggregation = proto.Field(

        proto.MESSAGE, number=3, message=common.Aggregation,