...

Source file src/cloud.google.com/go/monitoring/dashboard/apiv1/dashboardpb/common.pb.go

Documentation: cloud.google.com/go/monitoring/dashboard/apiv1/dashboardpb

     1  // Copyright 2023 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.33.0
    18  // 	protoc        v4.25.3
    19  // source: google/monitoring/dashboard/v1/common.proto
    20  
    21  package dashboardpb
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	interval "google.golang.org/genproto/googleapis/type/interval"
    28  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    29  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    30  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    31  )
    32  
    33  const (
    34  	// Verify that this generated code is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    36  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    38  )
    39  
    40  // The `Aligner` specifies the operation that will be applied to the data
    41  // points in each alignment period in a time series. Except for
    42  // `ALIGN_NONE`, which specifies that no operation be applied, each alignment
    43  // operation replaces the set of data values in each alignment period with
    44  // a single value: the result of applying the operation to the data values.
    45  // An aligned time series has a single data value at the end of each
    46  // `alignment_period`.
    47  //
    48  // An alignment operation can change the data type of the values, too. For
    49  // example, if you apply a counting operation to boolean values, the data
    50  // `value_type` in the original time series is `BOOLEAN`, but the `value_type`
    51  // in the aligned result is `INT64`.
    52  type Aggregation_Aligner int32
    53  
    54  const (
    55  	// No alignment. Raw data is returned. Not valid if cross-series reduction
    56  	// is requested. The `value_type` of the result is the same as the
    57  	// `value_type` of the input.
    58  	Aggregation_ALIGN_NONE Aggregation_Aligner = 0
    59  	// Align and convert to
    60  	// [DELTA][google.api.MetricDescriptor.MetricKind.DELTA].
    61  	// The output is `delta = y1 - y0`.
    62  	//
    63  	// This alignment is valid for
    64  	// [CUMULATIVE][google.api.MetricDescriptor.MetricKind.CUMULATIVE] and
    65  	// `DELTA` metrics. If the selected alignment period results in periods
    66  	// with no data, then the aligned value for such a period is created by
    67  	// interpolation. The `value_type`  of the aligned result is the same as
    68  	// the `value_type` of the input.
    69  	Aggregation_ALIGN_DELTA Aggregation_Aligner = 1
    70  	// Align and convert to a rate. The result is computed as
    71  	// `rate = (y1 - y0)/(t1 - t0)`, or "delta over time".
    72  	// Think of this aligner as providing the slope of the line that passes
    73  	// through the value at the start and at the end of the `alignment_period`.
    74  	//
    75  	// This aligner is valid for `CUMULATIVE`
    76  	// and `DELTA` metrics with numeric values. If the selected alignment
    77  	// period results in periods with no data, then the aligned value for
    78  	// such a period is created by interpolation. The output is a `GAUGE`
    79  	// metric with `value_type` `DOUBLE`.
    80  	//
    81  	// If, by "rate", you mean "percentage change", see the
    82  	// `ALIGN_PERCENT_CHANGE` aligner instead.
    83  	Aggregation_ALIGN_RATE Aggregation_Aligner = 2
    84  	// Align by interpolating between adjacent points around the alignment
    85  	// period boundary. This aligner is valid for `GAUGE` metrics with
    86  	// numeric values. The `value_type` of the aligned result is the same as the
    87  	// `value_type` of the input.
    88  	Aggregation_ALIGN_INTERPOLATE Aggregation_Aligner = 3
    89  	// Align by moving the most recent data point before the end of the
    90  	// alignment period to the boundary at the end of the alignment
    91  	// period. This aligner is valid for `GAUGE` metrics. The `value_type` of
    92  	// the aligned result is the same as the `value_type` of the input.
    93  	Aggregation_ALIGN_NEXT_OLDER Aggregation_Aligner = 4
    94  	// Align the time series by returning the minimum value in each alignment
    95  	// period. This aligner is valid for `GAUGE` and `DELTA` metrics with
    96  	// numeric values. The `value_type` of the aligned result is the same as
    97  	// the `value_type` of the input.
    98  	Aggregation_ALIGN_MIN Aggregation_Aligner = 10
    99  	// Align the time series by returning the maximum value in each alignment
   100  	// period. This aligner is valid for `GAUGE` and `DELTA` metrics with
   101  	// numeric values. The `value_type` of the aligned result is the same as
   102  	// the `value_type` of the input.
   103  	Aggregation_ALIGN_MAX Aggregation_Aligner = 11
   104  	// Align the time series by returning the mean value in each alignment
   105  	// period. This aligner is valid for `GAUGE` and `DELTA` metrics with
   106  	// numeric values. The `value_type` of the aligned result is `DOUBLE`.
   107  	Aggregation_ALIGN_MEAN Aggregation_Aligner = 12
   108  	// Align the time series by returning the number of values in each alignment
   109  	// period. This aligner is valid for `GAUGE` and `DELTA` metrics with
   110  	// numeric or Boolean values. The `value_type` of the aligned result is
   111  	// `INT64`.
   112  	Aggregation_ALIGN_COUNT Aggregation_Aligner = 13
   113  	// Align the time series by returning the sum of the values in each
   114  	// alignment period. This aligner is valid for `GAUGE` and `DELTA`
   115  	// metrics with numeric and distribution values. The `value_type` of the
   116  	// aligned result is the same as the `value_type` of the input.
   117  	Aggregation_ALIGN_SUM Aggregation_Aligner = 14
   118  	// Align the time series by returning the standard deviation of the values
   119  	// in each alignment period. This aligner is valid for `GAUGE` and
   120  	// `DELTA` metrics with numeric values. The `value_type` of the output is
   121  	// `DOUBLE`.
   122  	Aggregation_ALIGN_STDDEV Aggregation_Aligner = 15
   123  	// Align the time series by returning the number of `True` values in
   124  	// each alignment period. This aligner is valid for `GAUGE` metrics with
   125  	// Boolean values. The `value_type` of the output is `INT64`.
   126  	Aggregation_ALIGN_COUNT_TRUE Aggregation_Aligner = 16
   127  	// Align the time series by returning the number of `False` values in
   128  	// each alignment period. This aligner is valid for `GAUGE` metrics with
   129  	// Boolean values. The `value_type` of the output is `INT64`.
   130  	Aggregation_ALIGN_COUNT_FALSE Aggregation_Aligner = 24
   131  	// Align the time series by returning the ratio of the number of `True`
   132  	// values to the total number of values in each alignment period. This
   133  	// aligner is valid for `GAUGE` metrics with Boolean values. The output
   134  	// value is in the range [0.0, 1.0] and has `value_type` `DOUBLE`.
   135  	Aggregation_ALIGN_FRACTION_TRUE Aggregation_Aligner = 17
   136  	// Align the time series by using [percentile
   137  	// aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
   138  	// data point in each alignment period is the 99th percentile of all data
   139  	// points in the period. This aligner is valid for `GAUGE` and `DELTA`
   140  	// metrics with distribution values. The output is a `GAUGE` metric with
   141  	// `value_type` `DOUBLE`.
   142  	Aggregation_ALIGN_PERCENTILE_99 Aggregation_Aligner = 18
   143  	// Align the time series by using [percentile
   144  	// aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
   145  	// data point in each alignment period is the 95th percentile of all data
   146  	// points in the period. This aligner is valid for `GAUGE` and `DELTA`
   147  	// metrics with distribution values. The output is a `GAUGE` metric with
   148  	// `value_type` `DOUBLE`.
   149  	Aggregation_ALIGN_PERCENTILE_95 Aggregation_Aligner = 19
   150  	// Align the time series by using [percentile
   151  	// aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
   152  	// data point in each alignment period is the 50th percentile of all data
   153  	// points in the period. This aligner is valid for `GAUGE` and `DELTA`
   154  	// metrics with distribution values. The output is a `GAUGE` metric with
   155  	// `value_type` `DOUBLE`.
   156  	Aggregation_ALIGN_PERCENTILE_50 Aggregation_Aligner = 20
   157  	// Align the time series by using [percentile
   158  	// aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
   159  	// data point in each alignment period is the 5th percentile of all data
   160  	// points in the period. This aligner is valid for `GAUGE` and `DELTA`
   161  	// metrics with distribution values. The output is a `GAUGE` metric with
   162  	// `value_type` `DOUBLE`.
   163  	Aggregation_ALIGN_PERCENTILE_05 Aggregation_Aligner = 21
   164  	// Align and convert to a percentage change. This aligner is valid for
   165  	// `GAUGE` and `DELTA` metrics with numeric values. This alignment returns
   166  	// `((current - previous)/previous) * 100`, where the value of `previous` is
   167  	// determined based on the `alignment_period`.
   168  	//
   169  	// If the values of `current` and `previous` are both 0, then the returned
   170  	// value is 0. If only `previous` is 0, the returned value is infinity.
   171  	//
   172  	// A 10-minute moving mean is computed at each point of the alignment period
   173  	// prior to the above calculation to smooth the metric and prevent false
   174  	// positives from very short-lived spikes. The moving mean is only
   175  	// applicable for data whose values are `>= 0`. Any values `< 0` are
   176  	// treated as a missing datapoint, and are ignored. While `DELTA`
   177  	// metrics are accepted by this alignment, special care should be taken that
   178  	// the values for the metric will always be positive. The output is a
   179  	// `GAUGE` metric with `value_type` `DOUBLE`.
   180  	Aggregation_ALIGN_PERCENT_CHANGE Aggregation_Aligner = 23
   181  )
   182  
   183  // Enum value maps for Aggregation_Aligner.
   184  var (
   185  	Aggregation_Aligner_name = map[int32]string{
   186  		0:  "ALIGN_NONE",
   187  		1:  "ALIGN_DELTA",
   188  		2:  "ALIGN_RATE",
   189  		3:  "ALIGN_INTERPOLATE",
   190  		4:  "ALIGN_NEXT_OLDER",
   191  		10: "ALIGN_MIN",
   192  		11: "ALIGN_MAX",
   193  		12: "ALIGN_MEAN",
   194  		13: "ALIGN_COUNT",
   195  		14: "ALIGN_SUM",
   196  		15: "ALIGN_STDDEV",
   197  		16: "ALIGN_COUNT_TRUE",
   198  		24: "ALIGN_COUNT_FALSE",
   199  		17: "ALIGN_FRACTION_TRUE",
   200  		18: "ALIGN_PERCENTILE_99",
   201  		19: "ALIGN_PERCENTILE_95",
   202  		20: "ALIGN_PERCENTILE_50",
   203  		21: "ALIGN_PERCENTILE_05",
   204  		23: "ALIGN_PERCENT_CHANGE",
   205  	}
   206  	Aggregation_Aligner_value = map[string]int32{
   207  		"ALIGN_NONE":           0,
   208  		"ALIGN_DELTA":          1,
   209  		"ALIGN_RATE":           2,
   210  		"ALIGN_INTERPOLATE":    3,
   211  		"ALIGN_NEXT_OLDER":     4,
   212  		"ALIGN_MIN":            10,
   213  		"ALIGN_MAX":            11,
   214  		"ALIGN_MEAN":           12,
   215  		"ALIGN_COUNT":          13,
   216  		"ALIGN_SUM":            14,
   217  		"ALIGN_STDDEV":         15,
   218  		"ALIGN_COUNT_TRUE":     16,
   219  		"ALIGN_COUNT_FALSE":    24,
   220  		"ALIGN_FRACTION_TRUE":  17,
   221  		"ALIGN_PERCENTILE_99":  18,
   222  		"ALIGN_PERCENTILE_95":  19,
   223  		"ALIGN_PERCENTILE_50":  20,
   224  		"ALIGN_PERCENTILE_05":  21,
   225  		"ALIGN_PERCENT_CHANGE": 23,
   226  	}
   227  )
   228  
   229  func (x Aggregation_Aligner) Enum() *Aggregation_Aligner {
   230  	p := new(Aggregation_Aligner)
   231  	*p = x
   232  	return p
   233  }
   234  
   235  func (x Aggregation_Aligner) String() string {
   236  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   237  }
   238  
   239  func (Aggregation_Aligner) Descriptor() protoreflect.EnumDescriptor {
   240  	return file_google_monitoring_dashboard_v1_common_proto_enumTypes[0].Descriptor()
   241  }
   242  
   243  func (Aggregation_Aligner) Type() protoreflect.EnumType {
   244  	return &file_google_monitoring_dashboard_v1_common_proto_enumTypes[0]
   245  }
   246  
   247  func (x Aggregation_Aligner) Number() protoreflect.EnumNumber {
   248  	return protoreflect.EnumNumber(x)
   249  }
   250  
   251  // Deprecated: Use Aggregation_Aligner.Descriptor instead.
   252  func (Aggregation_Aligner) EnumDescriptor() ([]byte, []int) {
   253  	return file_google_monitoring_dashboard_v1_common_proto_rawDescGZIP(), []int{0, 0}
   254  }
   255  
   256  // A Reducer operation describes how to aggregate data points from multiple
   257  // time series into a single time series, where the value of each data point
   258  // in the resulting series is a function of all the already aligned values in
   259  // the input time series.
   260  type Aggregation_Reducer int32
   261  
   262  const (
   263  	// No cross-time series reduction. The output of the `Aligner` is
   264  	// returned.
   265  	Aggregation_REDUCE_NONE Aggregation_Reducer = 0
   266  	// Reduce by computing the mean value across time series for each
   267  	// alignment period. This reducer is valid for
   268  	// [DELTA][google.api.MetricDescriptor.MetricKind.DELTA] and
   269  	// [GAUGE][google.api.MetricDescriptor.MetricKind.GAUGE] metrics with
   270  	// numeric or distribution values. The `value_type` of the output is
   271  	// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
   272  	Aggregation_REDUCE_MEAN Aggregation_Reducer = 1
   273  	// Reduce by computing the minimum value across time series for each
   274  	// alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
   275  	// with numeric values. The `value_type` of the output is the same as the
   276  	// `value_type` of the input.
   277  	Aggregation_REDUCE_MIN Aggregation_Reducer = 2
   278  	// Reduce by computing the maximum value across time series for each
   279  	// alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
   280  	// with numeric values. The `value_type` of the output is the same as the
   281  	// `value_type` of the input.
   282  	Aggregation_REDUCE_MAX Aggregation_Reducer = 3
   283  	// Reduce by computing the sum across time series for each
   284  	// alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
   285  	// with numeric and distribution values. The `value_type` of the output is
   286  	// the same as the `value_type` of the input.
   287  	Aggregation_REDUCE_SUM Aggregation_Reducer = 4
   288  	// Reduce by computing the standard deviation across time series
   289  	// for each alignment period. This reducer is valid for `DELTA` and
   290  	// `GAUGE` metrics with numeric or distribution values. The `value_type`
   291  	// of the output is `DOUBLE`.
   292  	Aggregation_REDUCE_STDDEV Aggregation_Reducer = 5
   293  	// Reduce by computing the number of data points across time series
   294  	// for each alignment period. This reducer is valid for `DELTA` and
   295  	// `GAUGE` metrics of numeric, Boolean, distribution, and string
   296  	// `value_type`. The `value_type` of the output is `INT64`.
   297  	Aggregation_REDUCE_COUNT Aggregation_Reducer = 6
   298  	// Reduce by computing the number of `True`-valued data points across time
   299  	// series for each alignment period. This reducer is valid for `DELTA` and
   300  	// `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
   301  	// is `INT64`.
   302  	Aggregation_REDUCE_COUNT_TRUE Aggregation_Reducer = 7
   303  	// Reduce by computing the number of `False`-valued data points across time
   304  	// series for each alignment period. This reducer is valid for `DELTA` and
   305  	// `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
   306  	// is `INT64`.
   307  	Aggregation_REDUCE_COUNT_FALSE Aggregation_Reducer = 15
   308  	// Reduce by computing the ratio of the number of `True`-valued data points
   309  	// to the total number of data points for each alignment period. This
   310  	// reducer is valid for `DELTA` and `GAUGE` metrics of Boolean `value_type`.
   311  	// The output value is in the range [0.0, 1.0] and has `value_type`
   312  	// `DOUBLE`.
   313  	Aggregation_REDUCE_FRACTION_TRUE Aggregation_Reducer = 8
   314  	// Reduce by computing the [99th
   315  	// percentile](https://en.wikipedia.org/wiki/Percentile) of data points
   316  	// across time series for each alignment period. This reducer is valid for
   317  	// `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
   318  	// of the output is `DOUBLE`.
   319  	Aggregation_REDUCE_PERCENTILE_99 Aggregation_Reducer = 9
   320  	// Reduce by computing the [95th
   321  	// percentile](https://en.wikipedia.org/wiki/Percentile) of data points
   322  	// across time series for each alignment period. This reducer is valid for
   323  	// `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
   324  	// of the output is `DOUBLE`.
   325  	Aggregation_REDUCE_PERCENTILE_95 Aggregation_Reducer = 10
   326  	// Reduce by computing the [50th
   327  	// percentile](https://en.wikipedia.org/wiki/Percentile) of data points
   328  	// across time series for each alignment period. This reducer is valid for
   329  	// `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
   330  	// of the output is `DOUBLE`.
   331  	Aggregation_REDUCE_PERCENTILE_50 Aggregation_Reducer = 11
   332  	// Reduce by computing the [5th
   333  	// percentile](https://en.wikipedia.org/wiki/Percentile) of data points
   334  	// across time series for each alignment period. This reducer is valid for
   335  	// `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
   336  	// of the output is `DOUBLE`.
   337  	Aggregation_REDUCE_PERCENTILE_05 Aggregation_Reducer = 12
   338  )
   339  
   340  // Enum value maps for Aggregation_Reducer.
   341  var (
   342  	Aggregation_Reducer_name = map[int32]string{
   343  		0:  "REDUCE_NONE",
   344  		1:  "REDUCE_MEAN",
   345  		2:  "REDUCE_MIN",
   346  		3:  "REDUCE_MAX",
   347  		4:  "REDUCE_SUM",
   348  		5:  "REDUCE_STDDEV",
   349  		6:  "REDUCE_COUNT",
   350  		7:  "REDUCE_COUNT_TRUE",
   351  		15: "REDUCE_COUNT_FALSE",
   352  		8:  "REDUCE_FRACTION_TRUE",
   353  		9:  "REDUCE_PERCENTILE_99",
   354  		10: "REDUCE_PERCENTILE_95",
   355  		11: "REDUCE_PERCENTILE_50",
   356  		12: "REDUCE_PERCENTILE_05",
   357  	}
   358  	Aggregation_Reducer_value = map[string]int32{
   359  		"REDUCE_NONE":          0,
   360  		"REDUCE_MEAN":          1,
   361  		"REDUCE_MIN":           2,
   362  		"REDUCE_MAX":           3,
   363  		"REDUCE_SUM":           4,
   364  		"REDUCE_STDDEV":        5,
   365  		"REDUCE_COUNT":         6,
   366  		"REDUCE_COUNT_TRUE":    7,
   367  		"REDUCE_COUNT_FALSE":   15,
   368  		"REDUCE_FRACTION_TRUE": 8,
   369  		"REDUCE_PERCENTILE_99": 9,
   370  		"REDUCE_PERCENTILE_95": 10,
   371  		"REDUCE_PERCENTILE_50": 11,
   372  		"REDUCE_PERCENTILE_05": 12,
   373  	}
   374  )
   375  
   376  func (x Aggregation_Reducer) Enum() *Aggregation_Reducer {
   377  	p := new(Aggregation_Reducer)
   378  	*p = x
   379  	return p
   380  }
   381  
   382  func (x Aggregation_Reducer) String() string {
   383  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   384  }
   385  
   386  func (Aggregation_Reducer) Descriptor() protoreflect.EnumDescriptor {
   387  	return file_google_monitoring_dashboard_v1_common_proto_enumTypes[1].Descriptor()
   388  }
   389  
   390  func (Aggregation_Reducer) Type() protoreflect.EnumType {
   391  	return &file_google_monitoring_dashboard_v1_common_proto_enumTypes[1]
   392  }
   393  
   394  func (x Aggregation_Reducer) Number() protoreflect.EnumNumber {
   395  	return protoreflect.EnumNumber(x)
   396  }
   397  
   398  // Deprecated: Use Aggregation_Reducer.Descriptor instead.
   399  func (Aggregation_Reducer) EnumDescriptor() ([]byte, []int) {
   400  	return file_google_monitoring_dashboard_v1_common_proto_rawDescGZIP(), []int{0, 1}
   401  }
   402  
   403  // The value reducers that can be applied to a `PickTimeSeriesFilter`.
   404  type PickTimeSeriesFilter_Method int32
   405  
   406  const (
   407  	// Not allowed. You must specify a different `Method` if you specify a
   408  	// `PickTimeSeriesFilter`.
   409  	PickTimeSeriesFilter_METHOD_UNSPECIFIED PickTimeSeriesFilter_Method = 0
   410  	// Select the mean of all values.
   411  	PickTimeSeriesFilter_METHOD_MEAN PickTimeSeriesFilter_Method = 1
   412  	// Select the maximum value.
   413  	PickTimeSeriesFilter_METHOD_MAX PickTimeSeriesFilter_Method = 2
   414  	// Select the minimum value.
   415  	PickTimeSeriesFilter_METHOD_MIN PickTimeSeriesFilter_Method = 3
   416  	// Compute the sum of all values.
   417  	PickTimeSeriesFilter_METHOD_SUM PickTimeSeriesFilter_Method = 4
   418  	// Select the most recent value.
   419  	PickTimeSeriesFilter_METHOD_LATEST PickTimeSeriesFilter_Method = 5
   420  )
   421  
   422  // Enum value maps for PickTimeSeriesFilter_Method.
   423  var (
   424  	PickTimeSeriesFilter_Method_name = map[int32]string{
   425  		0: "METHOD_UNSPECIFIED",
   426  		1: "METHOD_MEAN",
   427  		2: "METHOD_MAX",
   428  		3: "METHOD_MIN",
   429  		4: "METHOD_SUM",
   430  		5: "METHOD_LATEST",
   431  	}
   432  	PickTimeSeriesFilter_Method_value = map[string]int32{
   433  		"METHOD_UNSPECIFIED": 0,
   434  		"METHOD_MEAN":        1,
   435  		"METHOD_MAX":         2,
   436  		"METHOD_MIN":         3,
   437  		"METHOD_SUM":         4,
   438  		"METHOD_LATEST":      5,
   439  	}
   440  )
   441  
   442  func (x PickTimeSeriesFilter_Method) Enum() *PickTimeSeriesFilter_Method {
   443  	p := new(PickTimeSeriesFilter_Method)
   444  	*p = x
   445  	return p
   446  }
   447  
   448  func (x PickTimeSeriesFilter_Method) String() string {
   449  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   450  }
   451  
   452  func (PickTimeSeriesFilter_Method) Descriptor() protoreflect.EnumDescriptor {
   453  	return file_google_monitoring_dashboard_v1_common_proto_enumTypes[2].Descriptor()
   454  }
   455  
   456  func (PickTimeSeriesFilter_Method) Type() protoreflect.EnumType {
   457  	return &file_google_monitoring_dashboard_v1_common_proto_enumTypes[2]
   458  }
   459  
   460  func (x PickTimeSeriesFilter_Method) Number() protoreflect.EnumNumber {
   461  	return protoreflect.EnumNumber(x)
   462  }
   463  
   464  // Deprecated: Use PickTimeSeriesFilter_Method.Descriptor instead.
   465  func (PickTimeSeriesFilter_Method) EnumDescriptor() ([]byte, []int) {
   466  	return file_google_monitoring_dashboard_v1_common_proto_rawDescGZIP(), []int{1, 0}
   467  }
   468  
   469  // Describes the ranking directions.
   470  type PickTimeSeriesFilter_Direction int32
   471  
   472  const (
   473  	// Not allowed. You must specify a different `Direction` if you specify a
   474  	// `PickTimeSeriesFilter`.
   475  	PickTimeSeriesFilter_DIRECTION_UNSPECIFIED PickTimeSeriesFilter_Direction = 0
   476  	// Pass the highest `num_time_series` ranking inputs.
   477  	PickTimeSeriesFilter_TOP PickTimeSeriesFilter_Direction = 1
   478  	// Pass the lowest `num_time_series` ranking inputs.
   479  	PickTimeSeriesFilter_BOTTOM PickTimeSeriesFilter_Direction = 2
   480  )
   481  
   482  // Enum value maps for PickTimeSeriesFilter_Direction.
   483  var (
   484  	PickTimeSeriesFilter_Direction_name = map[int32]string{
   485  		0: "DIRECTION_UNSPECIFIED",
   486  		1: "TOP",
   487  		2: "BOTTOM",
   488  	}
   489  	PickTimeSeriesFilter_Direction_value = map[string]int32{
   490  		"DIRECTION_UNSPECIFIED": 0,
   491  		"TOP":                   1,
   492  		"BOTTOM":                2,
   493  	}
   494  )
   495  
   496  func (x PickTimeSeriesFilter_Direction) Enum() *PickTimeSeriesFilter_Direction {
   497  	p := new(PickTimeSeriesFilter_Direction)
   498  	*p = x
   499  	return p
   500  }
   501  
   502  func (x PickTimeSeriesFilter_Direction) String() string {
   503  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   504  }
   505  
   506  func (PickTimeSeriesFilter_Direction) Descriptor() protoreflect.EnumDescriptor {
   507  	return file_google_monitoring_dashboard_v1_common_proto_enumTypes[3].Descriptor()
   508  }
   509  
   510  func (PickTimeSeriesFilter_Direction) Type() protoreflect.EnumType {
   511  	return &file_google_monitoring_dashboard_v1_common_proto_enumTypes[3]
   512  }
   513  
   514  func (x PickTimeSeriesFilter_Direction) Number() protoreflect.EnumNumber {
   515  	return protoreflect.EnumNumber(x)
   516  }
   517  
   518  // Deprecated: Use PickTimeSeriesFilter_Direction.Descriptor instead.
   519  func (PickTimeSeriesFilter_Direction) EnumDescriptor() ([]byte, []int) {
   520  	return file_google_monitoring_dashboard_v1_common_proto_rawDescGZIP(), []int{1, 1}
   521  }
   522  
   523  // The filter methods that can be applied to a stream.
   524  type StatisticalTimeSeriesFilter_Method int32
   525  
   526  const (
   527  	// Not allowed in well-formed requests.
   528  	StatisticalTimeSeriesFilter_METHOD_UNSPECIFIED StatisticalTimeSeriesFilter_Method = 0
   529  	// Compute the outlier score of each stream.
   530  	StatisticalTimeSeriesFilter_METHOD_CLUSTER_OUTLIER StatisticalTimeSeriesFilter_Method = 1
   531  )
   532  
   533  // Enum value maps for StatisticalTimeSeriesFilter_Method.
   534  var (
   535  	StatisticalTimeSeriesFilter_Method_name = map[int32]string{
   536  		0: "METHOD_UNSPECIFIED",
   537  		1: "METHOD_CLUSTER_OUTLIER",
   538  	}
   539  	StatisticalTimeSeriesFilter_Method_value = map[string]int32{
   540  		"METHOD_UNSPECIFIED":     0,
   541  		"METHOD_CLUSTER_OUTLIER": 1,
   542  	}
   543  )
   544  
   545  func (x StatisticalTimeSeriesFilter_Method) Enum() *StatisticalTimeSeriesFilter_Method {
   546  	p := new(StatisticalTimeSeriesFilter_Method)
   547  	*p = x
   548  	return p
   549  }
   550  
   551  func (x StatisticalTimeSeriesFilter_Method) String() string {
   552  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   553  }
   554  
   555  func (StatisticalTimeSeriesFilter_Method) Descriptor() protoreflect.EnumDescriptor {
   556  	return file_google_monitoring_dashboard_v1_common_proto_enumTypes[4].Descriptor()
   557  }
   558  
   559  func (StatisticalTimeSeriesFilter_Method) Type() protoreflect.EnumType {
   560  	return &file_google_monitoring_dashboard_v1_common_proto_enumTypes[4]
   561  }
   562  
   563  func (x StatisticalTimeSeriesFilter_Method) Number() protoreflect.EnumNumber {
   564  	return protoreflect.EnumNumber(x)
   565  }
   566  
   567  // Deprecated: Use StatisticalTimeSeriesFilter_Method.Descriptor instead.
   568  func (StatisticalTimeSeriesFilter_Method) EnumDescriptor() ([]byte, []int) {
   569  	return file_google_monitoring_dashboard_v1_common_proto_rawDescGZIP(), []int{2, 0}
   570  }
   571  
   572  // Describes how to combine multiple time series to provide a different view of
   573  // the data.  Aggregation of time series is done in two steps. First, each time
   574  // series in the set is _aligned_ to the same time interval boundaries, then the
   575  // set of time series is optionally _reduced_ in number.
   576  //
   577  // Alignment consists of applying the `per_series_aligner` operation
   578  // to each time series after its data has been divided into regular
   579  // `alignment_period` time intervals. This process takes _all_ of the data
   580  // points in an alignment period, applies a mathematical transformation such as
   581  // averaging, minimum, maximum, delta, etc., and converts them into a single
   582  // data point per period.
   583  //
   584  // Reduction is when the aligned and transformed time series can optionally be
   585  // combined, reducing the number of time series through similar mathematical
   586  // transformations. Reduction involves applying a `cross_series_reducer` to
   587  // all the time series, optionally sorting the time series into subsets with
   588  // `group_by_fields`, and applying the reducer to each subset.
   589  //
   590  // The raw time series data can contain a huge amount of information from
   591  // multiple sources. Alignment and reduction transforms this mass of data into
   592  // a more manageable and representative collection of data, for example "the
   593  // 95% latency across the average of all tasks in a cluster". This
   594  // representative data can be more easily graphed and comprehended, and the
   595  // individual time series data is still available for later drilldown. For more
   596  // details, see [Filtering and
   597  // aggregation](https://cloud.google.com/monitoring/api/v3/aggregation).
   598  type Aggregation struct {
   599  	state         protoimpl.MessageState
   600  	sizeCache     protoimpl.SizeCache
   601  	unknownFields protoimpl.UnknownFields
   602  
   603  	// The `alignment_period` specifies a time interval, in seconds, that is used
   604  	// to divide the data in all the
   605  	// [time series][google.monitoring.v3.TimeSeries] into consistent blocks of
   606  	// time. This will be done before the per-series aligner can be applied to
   607  	// the data.
   608  	//
   609  	// The value must be at least 60 seconds. If a per-series aligner other than
   610  	// `ALIGN_NONE` is specified, this field is required or an error is returned.
   611  	// If no per-series aligner is specified, or the aligner `ALIGN_NONE` is
   612  	// specified, then this field is ignored.
   613  	//
   614  	// The maximum value of the `alignment_period` is 2 years, or 104 weeks.
   615  	AlignmentPeriod *durationpb.Duration `protobuf:"bytes,1,opt,name=alignment_period,json=alignmentPeriod,proto3" json:"alignment_period,omitempty"`
   616  	// An `Aligner` describes how to bring the data points in a single
   617  	// time series into temporal alignment. Except for `ALIGN_NONE`, all
   618  	// alignments cause all the data points in an `alignment_period` to be
   619  	// mathematically grouped together, resulting in a single data point for
   620  	// each `alignment_period` with end timestamp at the end of the period.
   621  	//
   622  	// Not all alignment operations may be applied to all time series. The valid
   623  	// choices depend on the `metric_kind` and `value_type` of the original time
   624  	// series. Alignment can change the `metric_kind` or the `value_type` of
   625  	// the time series.
   626  	//
   627  	// Time series data must be aligned in order to perform cross-time
   628  	// series reduction. If `cross_series_reducer` is specified, then
   629  	// `per_series_aligner` must be specified and not equal to `ALIGN_NONE`
   630  	// and `alignment_period` must be specified; otherwise, an error is
   631  	// returned.
   632  	PerSeriesAligner Aggregation_Aligner `protobuf:"varint,2,opt,name=per_series_aligner,json=perSeriesAligner,proto3,enum=google.monitoring.dashboard.v1.Aggregation_Aligner" json:"per_series_aligner,omitempty"`
   633  	// The reduction operation to be used to combine time series into a single
   634  	// time series, where the value of each data point in the resulting series is
   635  	// a function of all the already aligned values in the input time series.
   636  	//
   637  	// Not all reducer operations can be applied to all time series. The valid
   638  	// choices depend on the `metric_kind` and the `value_type` of the original
   639  	// time series. Reduction can yield a time series with a different
   640  	// `metric_kind` or `value_type` than the input time series.
   641  	//
   642  	// Time series data must first be aligned (see `per_series_aligner`) in order
   643  	// to perform cross-time series reduction. If `cross_series_reducer` is
   644  	// specified, then `per_series_aligner` must be specified, and must not be
   645  	// `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an
   646  	// error is returned.
   647  	CrossSeriesReducer Aggregation_Reducer `protobuf:"varint,4,opt,name=cross_series_reducer,json=crossSeriesReducer,proto3,enum=google.monitoring.dashboard.v1.Aggregation_Reducer" json:"cross_series_reducer,omitempty"`
   648  	// The set of fields to preserve when `cross_series_reducer` is
   649  	// specified. The `group_by_fields` determine how the time series are
   650  	// partitioned into subsets prior to applying the aggregation
   651  	// operation. Each subset contains time series that have the same
   652  	// value for each of the grouping fields. Each individual time
   653  	// series is a member of exactly one subset. The
   654  	// `cross_series_reducer` is applied to each subset of time series.
   655  	// It is not possible to reduce across different resource types, so
   656  	// this field implicitly contains `resource.type`.  Fields not
   657  	// specified in `group_by_fields` are aggregated away.  If
   658  	// `group_by_fields` is not specified and all the time series have
   659  	// the same resource type, then the time series are aggregated into
   660  	// a single output time series. If `cross_series_reducer` is not
   661  	// defined, this field is ignored.
   662  	GroupByFields []string `protobuf:"bytes,5,rep,name=group_by_fields,json=groupByFields,proto3" json:"group_by_fields,omitempty"`
   663  }
   664  
   665  func (x *Aggregation) Reset() {
   666  	*x = Aggregation{}
   667  	if protoimpl.UnsafeEnabled {
   668  		mi := &file_google_monitoring_dashboard_v1_common_proto_msgTypes[0]
   669  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   670  		ms.StoreMessageInfo(mi)
   671  	}
   672  }
   673  
   674  func (x *Aggregation) String() string {
   675  	return protoimpl.X.MessageStringOf(x)
   676  }
   677  
   678  func (*Aggregation) ProtoMessage() {}
   679  
   680  func (x *Aggregation) ProtoReflect() protoreflect.Message {
   681  	mi := &file_google_monitoring_dashboard_v1_common_proto_msgTypes[0]
   682  	if protoimpl.UnsafeEnabled && x != nil {
   683  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   684  		if ms.LoadMessageInfo() == nil {
   685  			ms.StoreMessageInfo(mi)
   686  		}
   687  		return ms
   688  	}
   689  	return mi.MessageOf(x)
   690  }
   691  
   692  // Deprecated: Use Aggregation.ProtoReflect.Descriptor instead.
   693  func (*Aggregation) Descriptor() ([]byte, []int) {
   694  	return file_google_monitoring_dashboard_v1_common_proto_rawDescGZIP(), []int{0}
   695  }
   696  
   697  func (x *Aggregation) GetAlignmentPeriod() *durationpb.Duration {
   698  	if x != nil {
   699  		return x.AlignmentPeriod
   700  	}
   701  	return nil
   702  }
   703  
   704  func (x *Aggregation) GetPerSeriesAligner() Aggregation_Aligner {
   705  	if x != nil {
   706  		return x.PerSeriesAligner
   707  	}
   708  	return Aggregation_ALIGN_NONE
   709  }
   710  
   711  func (x *Aggregation) GetCrossSeriesReducer() Aggregation_Reducer {
   712  	if x != nil {
   713  		return x.CrossSeriesReducer
   714  	}
   715  	return Aggregation_REDUCE_NONE
   716  }
   717  
   718  func (x *Aggregation) GetGroupByFields() []string {
   719  	if x != nil {
   720  		return x.GroupByFields
   721  	}
   722  	return nil
   723  }
   724  
   725  // Describes a ranking-based time series filter. Each input time series is
   726  // ranked with an aligner. The filter will allow up to `num_time_series` time
   727  // series to pass through it, selecting them based on the relative ranking.
   728  //
   729  // For example, if `ranking_method` is `METHOD_MEAN`,`direction` is `BOTTOM`,
   730  // and `num_time_series` is 3, then the 3 times series with the lowest mean
   731  // values will pass through the filter.
   732  type PickTimeSeriesFilter struct {
   733  	state         protoimpl.MessageState
   734  	sizeCache     protoimpl.SizeCache
   735  	unknownFields protoimpl.UnknownFields
   736  
   737  	// `ranking_method` is applied to each time series independently to produce
   738  	// the value which will be used to compare the time series to other time
   739  	// series.
   740  	RankingMethod PickTimeSeriesFilter_Method `protobuf:"varint,1,opt,name=ranking_method,json=rankingMethod,proto3,enum=google.monitoring.dashboard.v1.PickTimeSeriesFilter_Method" json:"ranking_method,omitempty"`
   741  	// How many time series to allow to pass through the filter.
   742  	NumTimeSeries int32 `protobuf:"varint,2,opt,name=num_time_series,json=numTimeSeries,proto3" json:"num_time_series,omitempty"`
   743  	// How to use the ranking to select time series that pass through the filter.
   744  	Direction PickTimeSeriesFilter_Direction `protobuf:"varint,3,opt,name=direction,proto3,enum=google.monitoring.dashboard.v1.PickTimeSeriesFilter_Direction" json:"direction,omitempty"`
   745  	// Select the top N streams/time series within this time interval
   746  	Interval *interval.Interval `protobuf:"bytes,4,opt,name=interval,proto3" json:"interval,omitempty"`
   747  }
   748  
   749  func (x *PickTimeSeriesFilter) Reset() {
   750  	*x = PickTimeSeriesFilter{}
   751  	if protoimpl.UnsafeEnabled {
   752  		mi := &file_google_monitoring_dashboard_v1_common_proto_msgTypes[1]
   753  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   754  		ms.StoreMessageInfo(mi)
   755  	}
   756  }
   757  
   758  func (x *PickTimeSeriesFilter) String() string {
   759  	return protoimpl.X.MessageStringOf(x)
   760  }
   761  
   762  func (*PickTimeSeriesFilter) ProtoMessage() {}
   763  
   764  func (x *PickTimeSeriesFilter) ProtoReflect() protoreflect.Message {
   765  	mi := &file_google_monitoring_dashboard_v1_common_proto_msgTypes[1]
   766  	if protoimpl.UnsafeEnabled && x != nil {
   767  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   768  		if ms.LoadMessageInfo() == nil {
   769  			ms.StoreMessageInfo(mi)
   770  		}
   771  		return ms
   772  	}
   773  	return mi.MessageOf(x)
   774  }
   775  
   776  // Deprecated: Use PickTimeSeriesFilter.ProtoReflect.Descriptor instead.
   777  func (*PickTimeSeriesFilter) Descriptor() ([]byte, []int) {
   778  	return file_google_monitoring_dashboard_v1_common_proto_rawDescGZIP(), []int{1}
   779  }
   780  
   781  func (x *PickTimeSeriesFilter) GetRankingMethod() PickTimeSeriesFilter_Method {
   782  	if x != nil {
   783  		return x.RankingMethod
   784  	}
   785  	return PickTimeSeriesFilter_METHOD_UNSPECIFIED
   786  }
   787  
   788  func (x *PickTimeSeriesFilter) GetNumTimeSeries() int32 {
   789  	if x != nil {
   790  		return x.NumTimeSeries
   791  	}
   792  	return 0
   793  }
   794  
   795  func (x *PickTimeSeriesFilter) GetDirection() PickTimeSeriesFilter_Direction {
   796  	if x != nil {
   797  		return x.Direction
   798  	}
   799  	return PickTimeSeriesFilter_DIRECTION_UNSPECIFIED
   800  }
   801  
   802  func (x *PickTimeSeriesFilter) GetInterval() *interval.Interval {
   803  	if x != nil {
   804  		return x.Interval
   805  	}
   806  	return nil
   807  }
   808  
   809  // A filter that ranks streams based on their statistical relation to other
   810  // streams in a request.
   811  // Note: This field is deprecated and completely ignored by the API.
   812  type StatisticalTimeSeriesFilter struct {
   813  	state         protoimpl.MessageState
   814  	sizeCache     protoimpl.SizeCache
   815  	unknownFields protoimpl.UnknownFields
   816  
   817  	// `rankingMethod` is applied to a set of time series, and then the produced
   818  	// value for each individual time series is used to compare a given time
   819  	// series to others.
   820  	// These are methods that cannot be applied stream-by-stream, but rather
   821  	// require the full context of a request to evaluate time series.
   822  	RankingMethod StatisticalTimeSeriesFilter_Method `protobuf:"varint,1,opt,name=ranking_method,json=rankingMethod,proto3,enum=google.monitoring.dashboard.v1.StatisticalTimeSeriesFilter_Method" json:"ranking_method,omitempty"`
   823  	// How many time series to output.
   824  	NumTimeSeries int32 `protobuf:"varint,2,opt,name=num_time_series,json=numTimeSeries,proto3" json:"num_time_series,omitempty"`
   825  }
   826  
   827  func (x *StatisticalTimeSeriesFilter) Reset() {
   828  	*x = StatisticalTimeSeriesFilter{}
   829  	if protoimpl.UnsafeEnabled {
   830  		mi := &file_google_monitoring_dashboard_v1_common_proto_msgTypes[2]
   831  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   832  		ms.StoreMessageInfo(mi)
   833  	}
   834  }
   835  
   836  func (x *StatisticalTimeSeriesFilter) String() string {
   837  	return protoimpl.X.MessageStringOf(x)
   838  }
   839  
   840  func (*StatisticalTimeSeriesFilter) ProtoMessage() {}
   841  
   842  func (x *StatisticalTimeSeriesFilter) ProtoReflect() protoreflect.Message {
   843  	mi := &file_google_monitoring_dashboard_v1_common_proto_msgTypes[2]
   844  	if protoimpl.UnsafeEnabled && x != nil {
   845  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   846  		if ms.LoadMessageInfo() == nil {
   847  			ms.StoreMessageInfo(mi)
   848  		}
   849  		return ms
   850  	}
   851  	return mi.MessageOf(x)
   852  }
   853  
   854  // Deprecated: Use StatisticalTimeSeriesFilter.ProtoReflect.Descriptor instead.
   855  func (*StatisticalTimeSeriesFilter) Descriptor() ([]byte, []int) {
   856  	return file_google_monitoring_dashboard_v1_common_proto_rawDescGZIP(), []int{2}
   857  }
   858  
   859  func (x *StatisticalTimeSeriesFilter) GetRankingMethod() StatisticalTimeSeriesFilter_Method {
   860  	if x != nil {
   861  		return x.RankingMethod
   862  	}
   863  	return StatisticalTimeSeriesFilter_METHOD_UNSPECIFIED
   864  }
   865  
   866  func (x *StatisticalTimeSeriesFilter) GetNumTimeSeries() int32 {
   867  	if x != nil {
   868  		return x.NumTimeSeries
   869  	}
   870  	return 0
   871  }
   872  
   873  var File_google_monitoring_dashboard_v1_common_proto protoreflect.FileDescriptor
   874  
   875  var file_google_monitoring_dashboard_v1_common_proto_rawDesc = []byte{
   876  	0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
   877  	0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2f, 0x76, 0x31,
   878  	0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x67,
   879  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67,
   880  	0x2e, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67,
   881  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64,
   882  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67,
   883  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72,
   884  	0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x08, 0x0a, 0x0b, 0x41, 0x67,
   885  	0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x10, 0x61, 0x6c, 0x69,
   886  	0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20,
   887  	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   888  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f,
   889  	0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12,
   890  	0x61, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x61, 0x6c,
   891  	0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f,
   892  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e,
   893  	0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67,
   894  	0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x72,
   895  	0x52, 0x10, 0x70, 0x65, 0x72, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x41, 0x6c, 0x69, 0x67, 0x6e,
   896  	0x65, 0x72, 0x12, 0x65, 0x0a, 0x14, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69,
   897  	0x65, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
   898  	0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
   899  	0x72, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x76,
   900  	0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
   901  	0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x12, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x53, 0x65, 0x72, 0x69,
   902  	0x65, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x72, 0x6f,
   903  	0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03,
   904  	0x28, 0x09, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64,
   905  	0x73, 0x22, 0x8b, 0x03, 0x0a, 0x07, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a,
   906  	0x0a, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a,
   907  	0x0b, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x10, 0x01, 0x12, 0x0e,
   908  	0x0a, 0x0a, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x15,
   909  	0x0a, 0x11, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c,
   910  	0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x4e,
   911  	0x45, 0x58, 0x54, 0x5f, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x41,
   912  	0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c,
   913  	0x49, 0x47, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x4c, 0x49,
   914  	0x47, 0x4e, 0x5f, 0x4d, 0x45, 0x41, 0x4e, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4c, 0x49,
   915  	0x47, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c,
   916  	0x49, 0x47, 0x4e, 0x5f, 0x53, 0x55, 0x4d, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4c, 0x49,
   917  	0x47, 0x4e, 0x5f, 0x53, 0x54, 0x44, 0x44, 0x45, 0x56, 0x10, 0x0f, 0x12, 0x14, 0x0a, 0x10, 0x41,
   918  	0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10,
   919  	0x10, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54,
   920  	0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x18, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x49, 0x47,
   921  	0x4e, 0x5f, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10,
   922  	0x11, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45,
   923  	0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x39, 0x39, 0x10, 0x12, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c,
   924  	0x49, 0x47, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x39,
   925  	0x35, 0x10, 0x13, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x45, 0x52,
   926  	0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x35, 0x30, 0x10, 0x14, 0x12, 0x17, 0x0a, 0x13,
   927  	0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45,
   928  	0x5f, 0x30, 0x35, 0x10, 0x15, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x50,
   929  	0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x17, 0x22,
   930  	0xb1, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x72, 0x12, 0x0f, 0x0a, 0x0b, 0x52,
   931  	0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b,
   932  	0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a,
   933  	0x0a, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0e, 0x0a,
   934  	0x0a, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x03, 0x12, 0x0e, 0x0a,
   935  	0x0a, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x55, 0x4d, 0x10, 0x04, 0x12, 0x11, 0x0a,
   936  	0x0d, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x44, 0x44, 0x45, 0x56, 0x10, 0x05,
   937  	0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54,
   938  	0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x55,
   939  	0x4e, 0x54, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x44,
   940  	0x55, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10,
   941  	0x0f, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x46, 0x52, 0x41, 0x43,
   942  	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x52,
   943  	0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45,
   944  	0x5f, 0x39, 0x39, 0x10, 0x09, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f,
   945  	0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x39, 0x35, 0x10, 0x0a, 0x12,
   946  	0x18, 0x0a, 0x14, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e,
   947  	0x54, 0x49, 0x4c, 0x45, 0x5f, 0x35, 0x30, 0x10, 0x0b, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x44,
   948  	0x55, 0x43, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x30,
   949  	0x35, 0x10, 0x0c, 0x22, 0xe6, 0x03, 0x0a, 0x14, 0x50, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65,
   950  	0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x0e,
   951  	0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01,
   952  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f,
   953  	0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61,
   954  	0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65,
   955  	0x72, 0x69, 0x65, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f,
   956  	0x64, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
   957  	0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72,
   958  	0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x54, 0x69,
   959  	0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65,
   960  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f,
   961  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e,
   962  	0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x63,
   963  	0x6b, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65,
   964  	0x72, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72,
   965  	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76,
   966  	0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   967  	0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52,
   968  	0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x74, 0x0a, 0x06, 0x4d, 0x65, 0x74,
   969  	0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e,
   970  	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d,
   971  	0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4d, 0x45, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a,
   972  	0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a,
   973  	0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a,
   974  	0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x55, 0x4d, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d,
   975  	0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0x05, 0x22,
   976  	0x3b, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15,
   977  	0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
   978  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x4f, 0x50, 0x10, 0x01,
   979  	0x12, 0x0a, 0x0a, 0x06, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x10, 0x02, 0x22, 0xee, 0x01, 0x0a,
   980  	0x1b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65,
   981  	0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x69, 0x0a, 0x0e,
   982  	0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01,
   983  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f,
   984  	0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61,
   985  	0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x61,
   986  	0x6c, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65,
   987  	0x72, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e,
   988  	0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x74,
   989  	0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
   990  	0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22,
   991  	0x3c, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54,
   992  	0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
   993  	0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4c, 0x55, 0x53,
   994  	0x54, 0x45, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x4c, 0x49, 0x45, 0x52, 0x10, 0x01, 0x42, 0xf4, 0x01,
   995  	0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e,
   996  	0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72,
   997  	0x64, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74,
   998  	0x6f, 0x50, 0x01, 0x5a, 0x46, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   999  	0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
  1000  	0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2f, 0x61, 0x70,
  1001  	0x69, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x70, 0x62, 0x3b,
  1002  	0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x70, 0x62, 0xaa, 0x02, 0x24, 0x47, 0x6f,
  1003  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74,
  1004  	0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e,
  1005  	0x56, 0x31, 0xca, 0x02, 0x24, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75,
  1006  	0x64, 0x5c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x44, 0x61, 0x73,
  1007  	0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x28, 0x47, 0x6f, 0x6f, 0x67,
  1008  	0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4d, 0x6f, 0x6e, 0x69, 0x74,
  1009  	0x6f, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64,
  1010  	0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1011  }
  1012  
  1013  var (
  1014  	file_google_monitoring_dashboard_v1_common_proto_rawDescOnce sync.Once
  1015  	file_google_monitoring_dashboard_v1_common_proto_rawDescData = file_google_monitoring_dashboard_v1_common_proto_rawDesc
  1016  )
  1017  
  1018  func file_google_monitoring_dashboard_v1_common_proto_rawDescGZIP() []byte {
  1019  	file_google_monitoring_dashboard_v1_common_proto_rawDescOnce.Do(func() {
  1020  		file_google_monitoring_dashboard_v1_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_monitoring_dashboard_v1_common_proto_rawDescData)
  1021  	})
  1022  	return file_google_monitoring_dashboard_v1_common_proto_rawDescData
  1023  }
  1024  
  1025  var file_google_monitoring_dashboard_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
  1026  var file_google_monitoring_dashboard_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
  1027  var file_google_monitoring_dashboard_v1_common_proto_goTypes = []interface{}{
  1028  	(Aggregation_Aligner)(0),                // 0: google.monitoring.dashboard.v1.Aggregation.Aligner
  1029  	(Aggregation_Reducer)(0),                // 1: google.monitoring.dashboard.v1.Aggregation.Reducer
  1030  	(PickTimeSeriesFilter_Method)(0),        // 2: google.monitoring.dashboard.v1.PickTimeSeriesFilter.Method
  1031  	(PickTimeSeriesFilter_Direction)(0),     // 3: google.monitoring.dashboard.v1.PickTimeSeriesFilter.Direction
  1032  	(StatisticalTimeSeriesFilter_Method)(0), // 4: google.monitoring.dashboard.v1.StatisticalTimeSeriesFilter.Method
  1033  	(*Aggregation)(nil),                     // 5: google.monitoring.dashboard.v1.Aggregation
  1034  	(*PickTimeSeriesFilter)(nil),            // 6: google.monitoring.dashboard.v1.PickTimeSeriesFilter
  1035  	(*StatisticalTimeSeriesFilter)(nil),     // 7: google.monitoring.dashboard.v1.StatisticalTimeSeriesFilter
  1036  	(*durationpb.Duration)(nil),             // 8: google.protobuf.Duration
  1037  	(*interval.Interval)(nil),               // 9: google.type.Interval
  1038  }
  1039  var file_google_monitoring_dashboard_v1_common_proto_depIdxs = []int32{
  1040  	8, // 0: google.monitoring.dashboard.v1.Aggregation.alignment_period:type_name -> google.protobuf.Duration
  1041  	0, // 1: google.monitoring.dashboard.v1.Aggregation.per_series_aligner:type_name -> google.monitoring.dashboard.v1.Aggregation.Aligner
  1042  	1, // 2: google.monitoring.dashboard.v1.Aggregation.cross_series_reducer:type_name -> google.monitoring.dashboard.v1.Aggregation.Reducer
  1043  	2, // 3: google.monitoring.dashboard.v1.PickTimeSeriesFilter.ranking_method:type_name -> google.monitoring.dashboard.v1.PickTimeSeriesFilter.Method
  1044  	3, // 4: google.monitoring.dashboard.v1.PickTimeSeriesFilter.direction:type_name -> google.monitoring.dashboard.v1.PickTimeSeriesFilter.Direction
  1045  	9, // 5: google.monitoring.dashboard.v1.PickTimeSeriesFilter.interval:type_name -> google.type.Interval
  1046  	4, // 6: google.monitoring.dashboard.v1.StatisticalTimeSeriesFilter.ranking_method:type_name -> google.monitoring.dashboard.v1.StatisticalTimeSeriesFilter.Method
  1047  	7, // [7:7] is the sub-list for method output_type
  1048  	7, // [7:7] is the sub-list for method input_type
  1049  	7, // [7:7] is the sub-list for extension type_name
  1050  	7, // [7:7] is the sub-list for extension extendee
  1051  	0, // [0:7] is the sub-list for field type_name
  1052  }
  1053  
  1054  func init() { file_google_monitoring_dashboard_v1_common_proto_init() }
  1055  func file_google_monitoring_dashboard_v1_common_proto_init() {
  1056  	if File_google_monitoring_dashboard_v1_common_proto != nil {
  1057  		return
  1058  	}
  1059  	if !protoimpl.UnsafeEnabled {
  1060  		file_google_monitoring_dashboard_v1_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1061  			switch v := v.(*Aggregation); i {
  1062  			case 0:
  1063  				return &v.state
  1064  			case 1:
  1065  				return &v.sizeCache
  1066  			case 2:
  1067  				return &v.unknownFields
  1068  			default:
  1069  				return nil
  1070  			}
  1071  		}
  1072  		file_google_monitoring_dashboard_v1_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1073  			switch v := v.(*PickTimeSeriesFilter); i {
  1074  			case 0:
  1075  				return &v.state
  1076  			case 1:
  1077  				return &v.sizeCache
  1078  			case 2:
  1079  				return &v.unknownFields
  1080  			default:
  1081  				return nil
  1082  			}
  1083  		}
  1084  		file_google_monitoring_dashboard_v1_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1085  			switch v := v.(*StatisticalTimeSeriesFilter); i {
  1086  			case 0:
  1087  				return &v.state
  1088  			case 1:
  1089  				return &v.sizeCache
  1090  			case 2:
  1091  				return &v.unknownFields
  1092  			default:
  1093  				return nil
  1094  			}
  1095  		}
  1096  	}
  1097  	type x struct{}
  1098  	out := protoimpl.TypeBuilder{
  1099  		File: protoimpl.DescBuilder{
  1100  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1101  			RawDescriptor: file_google_monitoring_dashboard_v1_common_proto_rawDesc,
  1102  			NumEnums:      5,
  1103  			NumMessages:   3,
  1104  			NumExtensions: 0,
  1105  			NumServices:   0,
  1106  		},
  1107  		GoTypes:           file_google_monitoring_dashboard_v1_common_proto_goTypes,
  1108  		DependencyIndexes: file_google_monitoring_dashboard_v1_common_proto_depIdxs,
  1109  		EnumInfos:         file_google_monitoring_dashboard_v1_common_proto_enumTypes,
  1110  		MessageInfos:      file_google_monitoring_dashboard_v1_common_proto_msgTypes,
  1111  	}.Build()
  1112  	File_google_monitoring_dashboard_v1_common_proto = out.File
  1113  	file_google_monitoring_dashboard_v1_common_proto_rawDesc = nil
  1114  	file_google_monitoring_dashboard_v1_common_proto_goTypes = nil
  1115  	file_google_monitoring_dashboard_v1_common_proto_depIdxs = nil
  1116  }
  1117  

View as plain text