...

Source file src/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/common.pb.go

Documentation: cloud.google.com/go/monitoring/apiv3/v2/monitoringpb

     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/v3/common.proto
    20  
    21  package monitoringpb
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	distribution "google.golang.org/genproto/googleapis/api/distribution"
    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  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    32  )
    33  
    34  const (
    35  	// Verify that this generated code is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    37  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    39  )
    40  
    41  // Specifies an ordering relationship on two arguments, called `left` and
    42  // `right`.
    43  type ComparisonType int32
    44  
    45  const (
    46  	// No ordering relationship is specified.
    47  	ComparisonType_COMPARISON_UNSPECIFIED ComparisonType = 0
    48  	// True if the left argument is greater than the right argument.
    49  	ComparisonType_COMPARISON_GT ComparisonType = 1
    50  	// True if the left argument is greater than or equal to the right argument.
    51  	ComparisonType_COMPARISON_GE ComparisonType = 2
    52  	// True if the left argument is less than the right argument.
    53  	ComparisonType_COMPARISON_LT ComparisonType = 3
    54  	// True if the left argument is less than or equal to the right argument.
    55  	ComparisonType_COMPARISON_LE ComparisonType = 4
    56  	// True if the left argument is equal to the right argument.
    57  	ComparisonType_COMPARISON_EQ ComparisonType = 5
    58  	// True if the left argument is not equal to the right argument.
    59  	ComparisonType_COMPARISON_NE ComparisonType = 6
    60  )
    61  
    62  // Enum value maps for ComparisonType.
    63  var (
    64  	ComparisonType_name = map[int32]string{
    65  		0: "COMPARISON_UNSPECIFIED",
    66  		1: "COMPARISON_GT",
    67  		2: "COMPARISON_GE",
    68  		3: "COMPARISON_LT",
    69  		4: "COMPARISON_LE",
    70  		5: "COMPARISON_EQ",
    71  		6: "COMPARISON_NE",
    72  	}
    73  	ComparisonType_value = map[string]int32{
    74  		"COMPARISON_UNSPECIFIED": 0,
    75  		"COMPARISON_GT":          1,
    76  		"COMPARISON_GE":          2,
    77  		"COMPARISON_LT":          3,
    78  		"COMPARISON_LE":          4,
    79  		"COMPARISON_EQ":          5,
    80  		"COMPARISON_NE":          6,
    81  	}
    82  )
    83  
    84  func (x ComparisonType) Enum() *ComparisonType {
    85  	p := new(ComparisonType)
    86  	*p = x
    87  	return p
    88  }
    89  
    90  func (x ComparisonType) String() string {
    91  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    92  }
    93  
    94  func (ComparisonType) Descriptor() protoreflect.EnumDescriptor {
    95  	return file_google_monitoring_v3_common_proto_enumTypes[0].Descriptor()
    96  }
    97  
    98  func (ComparisonType) Type() protoreflect.EnumType {
    99  	return &file_google_monitoring_v3_common_proto_enumTypes[0]
   100  }
   101  
   102  func (x ComparisonType) Number() protoreflect.EnumNumber {
   103  	return protoreflect.EnumNumber(x)
   104  }
   105  
   106  // Deprecated: Use ComparisonType.Descriptor instead.
   107  func (ComparisonType) EnumDescriptor() ([]byte, []int) {
   108  	return file_google_monitoring_v3_common_proto_rawDescGZIP(), []int{0}
   109  }
   110  
   111  // The tier of service for a Metrics Scope. Please see the
   112  // [service tiers
   113  // documentation](https://cloud.google.com/monitoring/workspaces/tiers) for more
   114  // details.
   115  //
   116  // Deprecated: Marked as deprecated in google/monitoring/v3/common.proto.
   117  type ServiceTier int32
   118  
   119  const (
   120  	// An invalid sentinel value, used to indicate that a tier has not
   121  	// been provided explicitly.
   122  	ServiceTier_SERVICE_TIER_UNSPECIFIED ServiceTier = 0
   123  	// The Cloud Monitoring Basic tier, a free tier of service that provides basic
   124  	// features, a moderate allotment of logs, and access to built-in metrics.
   125  	// A number of features are not available in this tier. For more details,
   126  	// see [the service tiers
   127  	// documentation](https://cloud.google.com/monitoring/workspaces/tiers).
   128  	ServiceTier_SERVICE_TIER_BASIC ServiceTier = 1
   129  	// The Cloud Monitoring Premium tier, a higher, more expensive tier of service
   130  	// that provides access to all Cloud Monitoring features, lets you use Cloud
   131  	// Monitoring with AWS accounts, and has a larger allotments for logs and
   132  	// metrics. For more details, see [the service tiers
   133  	// documentation](https://cloud.google.com/monitoring/workspaces/tiers).
   134  	ServiceTier_SERVICE_TIER_PREMIUM ServiceTier = 2
   135  )
   136  
   137  // Enum value maps for ServiceTier.
   138  var (
   139  	ServiceTier_name = map[int32]string{
   140  		0: "SERVICE_TIER_UNSPECIFIED",
   141  		1: "SERVICE_TIER_BASIC",
   142  		2: "SERVICE_TIER_PREMIUM",
   143  	}
   144  	ServiceTier_value = map[string]int32{
   145  		"SERVICE_TIER_UNSPECIFIED": 0,
   146  		"SERVICE_TIER_BASIC":       1,
   147  		"SERVICE_TIER_PREMIUM":     2,
   148  	}
   149  )
   150  
   151  func (x ServiceTier) Enum() *ServiceTier {
   152  	p := new(ServiceTier)
   153  	*p = x
   154  	return p
   155  }
   156  
   157  func (x ServiceTier) String() string {
   158  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   159  }
   160  
   161  func (ServiceTier) Descriptor() protoreflect.EnumDescriptor {
   162  	return file_google_monitoring_v3_common_proto_enumTypes[1].Descriptor()
   163  }
   164  
   165  func (ServiceTier) Type() protoreflect.EnumType {
   166  	return &file_google_monitoring_v3_common_proto_enumTypes[1]
   167  }
   168  
   169  func (x ServiceTier) Number() protoreflect.EnumNumber {
   170  	return protoreflect.EnumNumber(x)
   171  }
   172  
   173  // Deprecated: Use ServiceTier.Descriptor instead.
   174  func (ServiceTier) EnumDescriptor() ([]byte, []int) {
   175  	return file_google_monitoring_v3_common_proto_rawDescGZIP(), []int{1}
   176  }
   177  
   178  // The `Aligner` specifies the operation that will be applied to the data
   179  // points in each alignment period in a time series. Except for
   180  // `ALIGN_NONE`, which specifies that no operation be applied, each alignment
   181  // operation replaces the set of data values in each alignment period with
   182  // a single value: the result of applying the operation to the data values.
   183  // An aligned time series has a single data value at the end of each
   184  // `alignment_period`.
   185  //
   186  // An alignment operation can change the data type of the values, too. For
   187  // example, if you apply a counting operation to boolean values, the data
   188  // `value_type` in the original time series is `BOOLEAN`, but the `value_type`
   189  // in the aligned result is `INT64`.
   190  type Aggregation_Aligner int32
   191  
   192  const (
   193  	// No alignment. Raw data is returned. Not valid if cross-series reduction
   194  	// is requested. The `value_type` of the result is the same as the
   195  	// `value_type` of the input.
   196  	Aggregation_ALIGN_NONE Aggregation_Aligner = 0
   197  	// Align and convert to
   198  	// [DELTA][google.api.MetricDescriptor.MetricKind.DELTA].
   199  	// The output is `delta = y1 - y0`.
   200  	//
   201  	// This alignment is valid for
   202  	// [CUMULATIVE][google.api.MetricDescriptor.MetricKind.CUMULATIVE] and
   203  	// `DELTA` metrics. If the selected alignment period results in periods
   204  	// with no data, then the aligned value for such a period is created by
   205  	// interpolation. The `value_type`  of the aligned result is the same as
   206  	// the `value_type` of the input.
   207  	Aggregation_ALIGN_DELTA Aggregation_Aligner = 1
   208  	// Align and convert to a rate. The result is computed as
   209  	// `rate = (y1 - y0)/(t1 - t0)`, or "delta over time".
   210  	// Think of this aligner as providing the slope of the line that passes
   211  	// through the value at the start and at the end of the `alignment_period`.
   212  	//
   213  	// This aligner is valid for `CUMULATIVE`
   214  	// and `DELTA` metrics with numeric values. If the selected alignment
   215  	// period results in periods with no data, then the aligned value for
   216  	// such a period is created by interpolation. The output is a `GAUGE`
   217  	// metric with `value_type` `DOUBLE`.
   218  	//
   219  	// If, by "rate", you mean "percentage change", see the
   220  	// `ALIGN_PERCENT_CHANGE` aligner instead.
   221  	Aggregation_ALIGN_RATE Aggregation_Aligner = 2
   222  	// Align by interpolating between adjacent points around the alignment
   223  	// period boundary. This aligner is valid for `GAUGE` metrics with
   224  	// numeric values. The `value_type` of the aligned result is the same as the
   225  	// `value_type` of the input.
   226  	Aggregation_ALIGN_INTERPOLATE Aggregation_Aligner = 3
   227  	// Align by moving the most recent data point before the end of the
   228  	// alignment period to the boundary at the end of the alignment
   229  	// period. This aligner is valid for `GAUGE` metrics. The `value_type` of
   230  	// the aligned result is the same as the `value_type` of the input.
   231  	Aggregation_ALIGN_NEXT_OLDER Aggregation_Aligner = 4
   232  	// Align the time series by returning the minimum value in each alignment
   233  	// period. This aligner is valid for `GAUGE` and `DELTA` metrics with
   234  	// numeric values. The `value_type` of the aligned result is the same as
   235  	// the `value_type` of the input.
   236  	Aggregation_ALIGN_MIN Aggregation_Aligner = 10
   237  	// Align the time series by returning the maximum value in each alignment
   238  	// period. This aligner is valid for `GAUGE` and `DELTA` metrics with
   239  	// numeric values. The `value_type` of the aligned result is the same as
   240  	// the `value_type` of the input.
   241  	Aggregation_ALIGN_MAX Aggregation_Aligner = 11
   242  	// Align the time series by returning the mean value in each alignment
   243  	// period. This aligner is valid for `GAUGE` and `DELTA` metrics with
   244  	// numeric values. The `value_type` of the aligned result is `DOUBLE`.
   245  	Aggregation_ALIGN_MEAN Aggregation_Aligner = 12
   246  	// Align the time series by returning the number of values in each alignment
   247  	// period. This aligner is valid for `GAUGE` and `DELTA` metrics with
   248  	// numeric or Boolean values. The `value_type` of the aligned result is
   249  	// `INT64`.
   250  	Aggregation_ALIGN_COUNT Aggregation_Aligner = 13
   251  	// Align the time series by returning the sum of the values in each
   252  	// alignment period. This aligner is valid for `GAUGE` and `DELTA`
   253  	// metrics with numeric and distribution values. The `value_type` of the
   254  	// aligned result is the same as the `value_type` of the input.
   255  	Aggregation_ALIGN_SUM Aggregation_Aligner = 14
   256  	// Align the time series by returning the standard deviation of the values
   257  	// in each alignment period. This aligner is valid for `GAUGE` and
   258  	// `DELTA` metrics with numeric values. The `value_type` of the output is
   259  	// `DOUBLE`.
   260  	Aggregation_ALIGN_STDDEV Aggregation_Aligner = 15
   261  	// Align the time series by returning the number of `True` values in
   262  	// each alignment period. This aligner is valid for `GAUGE` metrics with
   263  	// Boolean values. The `value_type` of the output is `INT64`.
   264  	Aggregation_ALIGN_COUNT_TRUE Aggregation_Aligner = 16
   265  	// Align the time series by returning the number of `False` values in
   266  	// each alignment period. This aligner is valid for `GAUGE` metrics with
   267  	// Boolean values. The `value_type` of the output is `INT64`.
   268  	Aggregation_ALIGN_COUNT_FALSE Aggregation_Aligner = 24
   269  	// Align the time series by returning the ratio of the number of `True`
   270  	// values to the total number of values in each alignment period. This
   271  	// aligner is valid for `GAUGE` metrics with Boolean values. The output
   272  	// value is in the range [0.0, 1.0] and has `value_type` `DOUBLE`.
   273  	Aggregation_ALIGN_FRACTION_TRUE Aggregation_Aligner = 17
   274  	// Align the time series by using [percentile
   275  	// aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
   276  	// data point in each alignment period is the 99th percentile of all data
   277  	// points in the period. This aligner is valid for `GAUGE` and `DELTA`
   278  	// metrics with distribution values. The output is a `GAUGE` metric with
   279  	// `value_type` `DOUBLE`.
   280  	Aggregation_ALIGN_PERCENTILE_99 Aggregation_Aligner = 18
   281  	// Align the time series by using [percentile
   282  	// aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
   283  	// data point in each alignment period is the 95th percentile of all data
   284  	// points in the period. This aligner is valid for `GAUGE` and `DELTA`
   285  	// metrics with distribution values. The output is a `GAUGE` metric with
   286  	// `value_type` `DOUBLE`.
   287  	Aggregation_ALIGN_PERCENTILE_95 Aggregation_Aligner = 19
   288  	// Align the time series by using [percentile
   289  	// aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
   290  	// data point in each alignment period is the 50th percentile of all data
   291  	// points in the period. This aligner is valid for `GAUGE` and `DELTA`
   292  	// metrics with distribution values. The output is a `GAUGE` metric with
   293  	// `value_type` `DOUBLE`.
   294  	Aggregation_ALIGN_PERCENTILE_50 Aggregation_Aligner = 20
   295  	// Align the time series by using [percentile
   296  	// aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
   297  	// data point in each alignment period is the 5th percentile of all data
   298  	// points in the period. This aligner is valid for `GAUGE` and `DELTA`
   299  	// metrics with distribution values. The output is a `GAUGE` metric with
   300  	// `value_type` `DOUBLE`.
   301  	Aggregation_ALIGN_PERCENTILE_05 Aggregation_Aligner = 21
   302  	// Align and convert to a percentage change. This aligner is valid for
   303  	// `GAUGE` and `DELTA` metrics with numeric values. This alignment returns
   304  	// `((current - previous)/previous) * 100`, where the value of `previous` is
   305  	// determined based on the `alignment_period`.
   306  	//
   307  	// If the values of `current` and `previous` are both 0, then the returned
   308  	// value is 0. If only `previous` is 0, the returned value is infinity.
   309  	//
   310  	// A 10-minute moving mean is computed at each point of the alignment period
   311  	// prior to the above calculation to smooth the metric and prevent false
   312  	// positives from very short-lived spikes. The moving mean is only
   313  	// applicable for data whose values are `>= 0`. Any values `< 0` are
   314  	// treated as a missing datapoint, and are ignored. While `DELTA`
   315  	// metrics are accepted by this alignment, special care should be taken that
   316  	// the values for the metric will always be positive. The output is a
   317  	// `GAUGE` metric with `value_type` `DOUBLE`.
   318  	Aggregation_ALIGN_PERCENT_CHANGE Aggregation_Aligner = 23
   319  )
   320  
   321  // Enum value maps for Aggregation_Aligner.
   322  var (
   323  	Aggregation_Aligner_name = map[int32]string{
   324  		0:  "ALIGN_NONE",
   325  		1:  "ALIGN_DELTA",
   326  		2:  "ALIGN_RATE",
   327  		3:  "ALIGN_INTERPOLATE",
   328  		4:  "ALIGN_NEXT_OLDER",
   329  		10: "ALIGN_MIN",
   330  		11: "ALIGN_MAX",
   331  		12: "ALIGN_MEAN",
   332  		13: "ALIGN_COUNT",
   333  		14: "ALIGN_SUM",
   334  		15: "ALIGN_STDDEV",
   335  		16: "ALIGN_COUNT_TRUE",
   336  		24: "ALIGN_COUNT_FALSE",
   337  		17: "ALIGN_FRACTION_TRUE",
   338  		18: "ALIGN_PERCENTILE_99",
   339  		19: "ALIGN_PERCENTILE_95",
   340  		20: "ALIGN_PERCENTILE_50",
   341  		21: "ALIGN_PERCENTILE_05",
   342  		23: "ALIGN_PERCENT_CHANGE",
   343  	}
   344  	Aggregation_Aligner_value = map[string]int32{
   345  		"ALIGN_NONE":           0,
   346  		"ALIGN_DELTA":          1,
   347  		"ALIGN_RATE":           2,
   348  		"ALIGN_INTERPOLATE":    3,
   349  		"ALIGN_NEXT_OLDER":     4,
   350  		"ALIGN_MIN":            10,
   351  		"ALIGN_MAX":            11,
   352  		"ALIGN_MEAN":           12,
   353  		"ALIGN_COUNT":          13,
   354  		"ALIGN_SUM":            14,
   355  		"ALIGN_STDDEV":         15,
   356  		"ALIGN_COUNT_TRUE":     16,
   357  		"ALIGN_COUNT_FALSE":    24,
   358  		"ALIGN_FRACTION_TRUE":  17,
   359  		"ALIGN_PERCENTILE_99":  18,
   360  		"ALIGN_PERCENTILE_95":  19,
   361  		"ALIGN_PERCENTILE_50":  20,
   362  		"ALIGN_PERCENTILE_05":  21,
   363  		"ALIGN_PERCENT_CHANGE": 23,
   364  	}
   365  )
   366  
   367  func (x Aggregation_Aligner) Enum() *Aggregation_Aligner {
   368  	p := new(Aggregation_Aligner)
   369  	*p = x
   370  	return p
   371  }
   372  
   373  func (x Aggregation_Aligner) String() string {
   374  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   375  }
   376  
   377  func (Aggregation_Aligner) Descriptor() protoreflect.EnumDescriptor {
   378  	return file_google_monitoring_v3_common_proto_enumTypes[2].Descriptor()
   379  }
   380  
   381  func (Aggregation_Aligner) Type() protoreflect.EnumType {
   382  	return &file_google_monitoring_v3_common_proto_enumTypes[2]
   383  }
   384  
   385  func (x Aggregation_Aligner) Number() protoreflect.EnumNumber {
   386  	return protoreflect.EnumNumber(x)
   387  }
   388  
   389  // Deprecated: Use Aggregation_Aligner.Descriptor instead.
   390  func (Aggregation_Aligner) EnumDescriptor() ([]byte, []int) {
   391  	return file_google_monitoring_v3_common_proto_rawDescGZIP(), []int{2, 0}
   392  }
   393  
   394  // A Reducer operation describes how to aggregate data points from multiple
   395  // time series into a single time series, where the value of each data point
   396  // in the resulting series is a function of all the already aligned values in
   397  // the input time series.
   398  type Aggregation_Reducer int32
   399  
   400  const (
   401  	// No cross-time series reduction. The output of the `Aligner` is
   402  	// returned.
   403  	Aggregation_REDUCE_NONE Aggregation_Reducer = 0
   404  	// Reduce by computing the mean value across time series for each
   405  	// alignment period. This reducer is valid for
   406  	// [DELTA][google.api.MetricDescriptor.MetricKind.DELTA] and
   407  	// [GAUGE][google.api.MetricDescriptor.MetricKind.GAUGE] metrics with
   408  	// numeric or distribution values. The `value_type` of the output is
   409  	// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
   410  	Aggregation_REDUCE_MEAN Aggregation_Reducer = 1
   411  	// Reduce by computing the minimum value across time series for each
   412  	// alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
   413  	// with numeric values. The `value_type` of the output is the same as the
   414  	// `value_type` of the input.
   415  	Aggregation_REDUCE_MIN Aggregation_Reducer = 2
   416  	// Reduce by computing the maximum value across time series for each
   417  	// alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
   418  	// with numeric values. The `value_type` of the output is the same as the
   419  	// `value_type` of the input.
   420  	Aggregation_REDUCE_MAX Aggregation_Reducer = 3
   421  	// Reduce by computing the sum across time series for each
   422  	// alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
   423  	// with numeric and distribution values. The `value_type` of the output is
   424  	// the same as the `value_type` of the input.
   425  	Aggregation_REDUCE_SUM Aggregation_Reducer = 4
   426  	// Reduce by computing the standard deviation across time series
   427  	// for each alignment period. This reducer is valid for `DELTA` and
   428  	// `GAUGE` metrics with numeric or distribution values. The `value_type`
   429  	// of the output is `DOUBLE`.
   430  	Aggregation_REDUCE_STDDEV Aggregation_Reducer = 5
   431  	// Reduce by computing the number of data points across time series
   432  	// for each alignment period. This reducer is valid for `DELTA` and
   433  	// `GAUGE` metrics of numeric, Boolean, distribution, and string
   434  	// `value_type`. The `value_type` of the output is `INT64`.
   435  	Aggregation_REDUCE_COUNT Aggregation_Reducer = 6
   436  	// Reduce by computing the number of `True`-valued data points across time
   437  	// series for each alignment period. This reducer is valid for `DELTA` and
   438  	// `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
   439  	// is `INT64`.
   440  	Aggregation_REDUCE_COUNT_TRUE Aggregation_Reducer = 7
   441  	// Reduce by computing the number of `False`-valued data points across time
   442  	// series for each alignment period. This reducer is valid for `DELTA` and
   443  	// `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
   444  	// is `INT64`.
   445  	Aggregation_REDUCE_COUNT_FALSE Aggregation_Reducer = 15
   446  	// Reduce by computing the ratio of the number of `True`-valued data points
   447  	// to the total number of data points for each alignment period. This
   448  	// reducer is valid for `DELTA` and `GAUGE` metrics of Boolean `value_type`.
   449  	// The output value is in the range [0.0, 1.0] and has `value_type`
   450  	// `DOUBLE`.
   451  	Aggregation_REDUCE_FRACTION_TRUE Aggregation_Reducer = 8
   452  	// Reduce by computing the [99th
   453  	// percentile](https://en.wikipedia.org/wiki/Percentile) of data points
   454  	// across time series for each alignment period. This reducer is valid for
   455  	// `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
   456  	// of the output is `DOUBLE`.
   457  	Aggregation_REDUCE_PERCENTILE_99 Aggregation_Reducer = 9
   458  	// Reduce by computing the [95th
   459  	// percentile](https://en.wikipedia.org/wiki/Percentile) of data points
   460  	// across time series for each alignment period. This reducer is valid for
   461  	// `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
   462  	// of the output is `DOUBLE`.
   463  	Aggregation_REDUCE_PERCENTILE_95 Aggregation_Reducer = 10
   464  	// Reduce by computing the [50th
   465  	// percentile](https://en.wikipedia.org/wiki/Percentile) of data points
   466  	// across time series for each alignment period. This reducer is valid for
   467  	// `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
   468  	// of the output is `DOUBLE`.
   469  	Aggregation_REDUCE_PERCENTILE_50 Aggregation_Reducer = 11
   470  	// Reduce by computing the [5th
   471  	// percentile](https://en.wikipedia.org/wiki/Percentile) of data points
   472  	// across time series for each alignment period. This reducer is valid for
   473  	// `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
   474  	// of the output is `DOUBLE`.
   475  	Aggregation_REDUCE_PERCENTILE_05 Aggregation_Reducer = 12
   476  )
   477  
   478  // Enum value maps for Aggregation_Reducer.
   479  var (
   480  	Aggregation_Reducer_name = map[int32]string{
   481  		0:  "REDUCE_NONE",
   482  		1:  "REDUCE_MEAN",
   483  		2:  "REDUCE_MIN",
   484  		3:  "REDUCE_MAX",
   485  		4:  "REDUCE_SUM",
   486  		5:  "REDUCE_STDDEV",
   487  		6:  "REDUCE_COUNT",
   488  		7:  "REDUCE_COUNT_TRUE",
   489  		15: "REDUCE_COUNT_FALSE",
   490  		8:  "REDUCE_FRACTION_TRUE",
   491  		9:  "REDUCE_PERCENTILE_99",
   492  		10: "REDUCE_PERCENTILE_95",
   493  		11: "REDUCE_PERCENTILE_50",
   494  		12: "REDUCE_PERCENTILE_05",
   495  	}
   496  	Aggregation_Reducer_value = map[string]int32{
   497  		"REDUCE_NONE":          0,
   498  		"REDUCE_MEAN":          1,
   499  		"REDUCE_MIN":           2,
   500  		"REDUCE_MAX":           3,
   501  		"REDUCE_SUM":           4,
   502  		"REDUCE_STDDEV":        5,
   503  		"REDUCE_COUNT":         6,
   504  		"REDUCE_COUNT_TRUE":    7,
   505  		"REDUCE_COUNT_FALSE":   15,
   506  		"REDUCE_FRACTION_TRUE": 8,
   507  		"REDUCE_PERCENTILE_99": 9,
   508  		"REDUCE_PERCENTILE_95": 10,
   509  		"REDUCE_PERCENTILE_50": 11,
   510  		"REDUCE_PERCENTILE_05": 12,
   511  	}
   512  )
   513  
   514  func (x Aggregation_Reducer) Enum() *Aggregation_Reducer {
   515  	p := new(Aggregation_Reducer)
   516  	*p = x
   517  	return p
   518  }
   519  
   520  func (x Aggregation_Reducer) String() string {
   521  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   522  }
   523  
   524  func (Aggregation_Reducer) Descriptor() protoreflect.EnumDescriptor {
   525  	return file_google_monitoring_v3_common_proto_enumTypes[3].Descriptor()
   526  }
   527  
   528  func (Aggregation_Reducer) Type() protoreflect.EnumType {
   529  	return &file_google_monitoring_v3_common_proto_enumTypes[3]
   530  }
   531  
   532  func (x Aggregation_Reducer) Number() protoreflect.EnumNumber {
   533  	return protoreflect.EnumNumber(x)
   534  }
   535  
   536  // Deprecated: Use Aggregation_Reducer.Descriptor instead.
   537  func (Aggregation_Reducer) EnumDescriptor() ([]byte, []int) {
   538  	return file_google_monitoring_v3_common_proto_rawDescGZIP(), []int{2, 1}
   539  }
   540  
   541  // A single strongly-typed value.
   542  type TypedValue struct {
   543  	state         protoimpl.MessageState
   544  	sizeCache     protoimpl.SizeCache
   545  	unknownFields protoimpl.UnknownFields
   546  
   547  	// The typed value field.
   548  	//
   549  	// Types that are assignable to Value:
   550  	//
   551  	//	*TypedValue_BoolValue
   552  	//	*TypedValue_Int64Value
   553  	//	*TypedValue_DoubleValue
   554  	//	*TypedValue_StringValue
   555  	//	*TypedValue_DistributionValue
   556  	Value isTypedValue_Value `protobuf_oneof:"value"`
   557  }
   558  
   559  func (x *TypedValue) Reset() {
   560  	*x = TypedValue{}
   561  	if protoimpl.UnsafeEnabled {
   562  		mi := &file_google_monitoring_v3_common_proto_msgTypes[0]
   563  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   564  		ms.StoreMessageInfo(mi)
   565  	}
   566  }
   567  
   568  func (x *TypedValue) String() string {
   569  	return protoimpl.X.MessageStringOf(x)
   570  }
   571  
   572  func (*TypedValue) ProtoMessage() {}
   573  
   574  func (x *TypedValue) ProtoReflect() protoreflect.Message {
   575  	mi := &file_google_monitoring_v3_common_proto_msgTypes[0]
   576  	if protoimpl.UnsafeEnabled && x != nil {
   577  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   578  		if ms.LoadMessageInfo() == nil {
   579  			ms.StoreMessageInfo(mi)
   580  		}
   581  		return ms
   582  	}
   583  	return mi.MessageOf(x)
   584  }
   585  
   586  // Deprecated: Use TypedValue.ProtoReflect.Descriptor instead.
   587  func (*TypedValue) Descriptor() ([]byte, []int) {
   588  	return file_google_monitoring_v3_common_proto_rawDescGZIP(), []int{0}
   589  }
   590  
   591  func (m *TypedValue) GetValue() isTypedValue_Value {
   592  	if m != nil {
   593  		return m.Value
   594  	}
   595  	return nil
   596  }
   597  
   598  func (x *TypedValue) GetBoolValue() bool {
   599  	if x, ok := x.GetValue().(*TypedValue_BoolValue); ok {
   600  		return x.BoolValue
   601  	}
   602  	return false
   603  }
   604  
   605  func (x *TypedValue) GetInt64Value() int64 {
   606  	if x, ok := x.GetValue().(*TypedValue_Int64Value); ok {
   607  		return x.Int64Value
   608  	}
   609  	return 0
   610  }
   611  
   612  func (x *TypedValue) GetDoubleValue() float64 {
   613  	if x, ok := x.GetValue().(*TypedValue_DoubleValue); ok {
   614  		return x.DoubleValue
   615  	}
   616  	return 0
   617  }
   618  
   619  func (x *TypedValue) GetStringValue() string {
   620  	if x, ok := x.GetValue().(*TypedValue_StringValue); ok {
   621  		return x.StringValue
   622  	}
   623  	return ""
   624  }
   625  
   626  func (x *TypedValue) GetDistributionValue() *distribution.Distribution {
   627  	if x, ok := x.GetValue().(*TypedValue_DistributionValue); ok {
   628  		return x.DistributionValue
   629  	}
   630  	return nil
   631  }
   632  
   633  type isTypedValue_Value interface {
   634  	isTypedValue_Value()
   635  }
   636  
   637  type TypedValue_BoolValue struct {
   638  	// A Boolean value: `true` or `false`.
   639  	BoolValue bool `protobuf:"varint,1,opt,name=bool_value,json=boolValue,proto3,oneof"`
   640  }
   641  
   642  type TypedValue_Int64Value struct {
   643  	// A 64-bit integer. Its range is approximately &plusmn;9.2x10<sup>18</sup>.
   644  	Int64Value int64 `protobuf:"varint,2,opt,name=int64_value,json=int64Value,proto3,oneof"`
   645  }
   646  
   647  type TypedValue_DoubleValue struct {
   648  	// A 64-bit double-precision floating-point number. Its magnitude
   649  	// is approximately &plusmn;10<sup>&plusmn;300</sup> and it has 16
   650  	// significant digits of precision.
   651  	DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,proto3,oneof"`
   652  }
   653  
   654  type TypedValue_StringValue struct {
   655  	// A variable-length string value.
   656  	StringValue string `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3,oneof"`
   657  }
   658  
   659  type TypedValue_DistributionValue struct {
   660  	// A distribution value.
   661  	DistributionValue *distribution.Distribution `protobuf:"bytes,5,opt,name=distribution_value,json=distributionValue,proto3,oneof"`
   662  }
   663  
   664  func (*TypedValue_BoolValue) isTypedValue_Value() {}
   665  
   666  func (*TypedValue_Int64Value) isTypedValue_Value() {}
   667  
   668  func (*TypedValue_DoubleValue) isTypedValue_Value() {}
   669  
   670  func (*TypedValue_StringValue) isTypedValue_Value() {}
   671  
   672  func (*TypedValue_DistributionValue) isTypedValue_Value() {}
   673  
   674  // Describes a time interval:
   675  //
   676  //   - Reads: A half-open time interval. It includes the end time but
   677  //     excludes the start time: `(startTime, endTime]`. The start time
   678  //     must be specified, must be earlier than the end time, and should be
   679  //     no older than the data retention period for the metric.
   680  //   - Writes: A closed time interval. It extends from the start time to the end
   681  //     time,
   682  //     and includes both: `[startTime, endTime]`. Valid time intervals
   683  //     depend on the
   684  //     [`MetricKind`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors#MetricKind)
   685  //     of the metric value. The end time must not be earlier than the start
   686  //     time, and the end time must not be more than 25 hours in the past or more
   687  //     than five minutes in the future.
   688  //   - For `GAUGE` metrics, the `startTime` value is technically optional; if
   689  //     no value is specified, the start time defaults to the value of the
   690  //     end time, and the interval represents a single point in time. If both
   691  //     start and end times are specified, they must be identical. Such an
   692  //     interval is valid only for `GAUGE` metrics, which are point-in-time
   693  //     measurements. The end time of a new interval must be at least a
   694  //     millisecond after the end time of the previous interval.
   695  //   - For `DELTA` metrics, the start time and end time must specify a
   696  //     non-zero interval, with subsequent points specifying contiguous and
   697  //     non-overlapping intervals. For `DELTA` metrics, the start time of
   698  //     the next interval must be at least a millisecond after the end time
   699  //     of the previous interval.
   700  //   - For `CUMULATIVE` metrics, the start time and end time must specify a
   701  //     non-zero interval, with subsequent points specifying the same
   702  //     start time and increasing end times, until an event resets the
   703  //     cumulative value to zero and sets a new start time for the following
   704  //     points. The new start time must be at least a millisecond after the
   705  //     end time of the previous interval.
   706  //   - The start time of a new interval must be at least a millisecond after
   707  //     the
   708  //     end time of the previous interval because intervals are closed. If the
   709  //     start time of a new interval is the same as the end time of the
   710  //     previous interval, then data written at the new start time could
   711  //     overwrite data written at the previous end time.
   712  type TimeInterval struct {
   713  	state         protoimpl.MessageState
   714  	sizeCache     protoimpl.SizeCache
   715  	unknownFields protoimpl.UnknownFields
   716  
   717  	// Required. The end of the time interval.
   718  	EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
   719  	// Optional. The beginning of the time interval.  The default value
   720  	// for the start time is the end time. The start time must not be
   721  	// later than the end time.
   722  	StartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
   723  }
   724  
   725  func (x *TimeInterval) Reset() {
   726  	*x = TimeInterval{}
   727  	if protoimpl.UnsafeEnabled {
   728  		mi := &file_google_monitoring_v3_common_proto_msgTypes[1]
   729  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   730  		ms.StoreMessageInfo(mi)
   731  	}
   732  }
   733  
   734  func (x *TimeInterval) String() string {
   735  	return protoimpl.X.MessageStringOf(x)
   736  }
   737  
   738  func (*TimeInterval) ProtoMessage() {}
   739  
   740  func (x *TimeInterval) ProtoReflect() protoreflect.Message {
   741  	mi := &file_google_monitoring_v3_common_proto_msgTypes[1]
   742  	if protoimpl.UnsafeEnabled && x != nil {
   743  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   744  		if ms.LoadMessageInfo() == nil {
   745  			ms.StoreMessageInfo(mi)
   746  		}
   747  		return ms
   748  	}
   749  	return mi.MessageOf(x)
   750  }
   751  
   752  // Deprecated: Use TimeInterval.ProtoReflect.Descriptor instead.
   753  func (*TimeInterval) Descriptor() ([]byte, []int) {
   754  	return file_google_monitoring_v3_common_proto_rawDescGZIP(), []int{1}
   755  }
   756  
   757  func (x *TimeInterval) GetEndTime() *timestamppb.Timestamp {
   758  	if x != nil {
   759  		return x.EndTime
   760  	}
   761  	return nil
   762  }
   763  
   764  func (x *TimeInterval) GetStartTime() *timestamppb.Timestamp {
   765  	if x != nil {
   766  		return x.StartTime
   767  	}
   768  	return nil
   769  }
   770  
   771  // Describes how to combine multiple time series to provide a different view of
   772  // the data.  Aggregation of time series is done in two steps. First, each time
   773  // series in the set is _aligned_ to the same time interval boundaries, then the
   774  // set of time series is optionally _reduced_ in number.
   775  //
   776  // Alignment consists of applying the `per_series_aligner` operation
   777  // to each time series after its data has been divided into regular
   778  // `alignment_period` time intervals. This process takes _all_ of the data
   779  // points in an alignment period, applies a mathematical transformation such as
   780  // averaging, minimum, maximum, delta, etc., and converts them into a single
   781  // data point per period.
   782  //
   783  // Reduction is when the aligned and transformed time series can optionally be
   784  // combined, reducing the number of time series through similar mathematical
   785  // transformations. Reduction involves applying a `cross_series_reducer` to
   786  // all the time series, optionally sorting the time series into subsets with
   787  // `group_by_fields`, and applying the reducer to each subset.
   788  //
   789  // The raw time series data can contain a huge amount of information from
   790  // multiple sources. Alignment and reduction transforms this mass of data into
   791  // a more manageable and representative collection of data, for example "the
   792  // 95% latency across the average of all tasks in a cluster". This
   793  // representative data can be more easily graphed and comprehended, and the
   794  // individual time series data is still available for later drilldown. For more
   795  // details, see [Filtering and
   796  // aggregation](https://cloud.google.com/monitoring/api/v3/aggregation).
   797  type Aggregation struct {
   798  	state         protoimpl.MessageState
   799  	sizeCache     protoimpl.SizeCache
   800  	unknownFields protoimpl.UnknownFields
   801  
   802  	// The `alignment_period` specifies a time interval, in seconds, that is used
   803  	// to divide the data in all the
   804  	// [time series][google.monitoring.v3.TimeSeries] into consistent blocks of
   805  	// time. This will be done before the per-series aligner can be applied to
   806  	// the data.
   807  	//
   808  	// The value must be at least 60 seconds. If a per-series
   809  	// aligner other than `ALIGN_NONE` is specified, this field is required or an
   810  	// error is returned. If no per-series aligner is specified, or the aligner
   811  	// `ALIGN_NONE` is specified, then this field is ignored.
   812  	//
   813  	// The maximum value of the `alignment_period` is 104 weeks (2 years) for
   814  	// charts, and 90,000 seconds (25 hours) for alerting policies.
   815  	AlignmentPeriod *durationpb.Duration `protobuf:"bytes,1,opt,name=alignment_period,json=alignmentPeriod,proto3" json:"alignment_period,omitempty"`
   816  	// An `Aligner` describes how to bring the data points in a single
   817  	// time series into temporal alignment. Except for `ALIGN_NONE`, all
   818  	// alignments cause all the data points in an `alignment_period` to be
   819  	// mathematically grouped together, resulting in a single data point for
   820  	// each `alignment_period` with end timestamp at the end of the period.
   821  	//
   822  	// Not all alignment operations may be applied to all time series. The valid
   823  	// choices depend on the `metric_kind` and `value_type` of the original time
   824  	// series. Alignment can change the `metric_kind` or the `value_type` of
   825  	// the time series.
   826  	//
   827  	// Time series data must be aligned in order to perform cross-time
   828  	// series reduction. If `cross_series_reducer` is specified, then
   829  	// `per_series_aligner` must be specified and not equal to `ALIGN_NONE`
   830  	// and `alignment_period` must be specified; otherwise, an error is
   831  	// returned.
   832  	PerSeriesAligner Aggregation_Aligner `protobuf:"varint,2,opt,name=per_series_aligner,json=perSeriesAligner,proto3,enum=google.monitoring.v3.Aggregation_Aligner" json:"per_series_aligner,omitempty"`
   833  	// The reduction operation to be used to combine time series into a single
   834  	// time series, where the value of each data point in the resulting series is
   835  	// a function of all the already aligned values in the input time series.
   836  	//
   837  	// Not all reducer operations can be applied to all time series. The valid
   838  	// choices depend on the `metric_kind` and the `value_type` of the original
   839  	// time series. Reduction can yield a time series with a different
   840  	// `metric_kind` or `value_type` than the input time series.
   841  	//
   842  	// Time series data must first be aligned (see `per_series_aligner`) in order
   843  	// to perform cross-time series reduction. If `cross_series_reducer` is
   844  	// specified, then `per_series_aligner` must be specified, and must not be
   845  	// `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an
   846  	// error is returned.
   847  	CrossSeriesReducer Aggregation_Reducer `protobuf:"varint,4,opt,name=cross_series_reducer,json=crossSeriesReducer,proto3,enum=google.monitoring.v3.Aggregation_Reducer" json:"cross_series_reducer,omitempty"`
   848  	// The set of fields to preserve when `cross_series_reducer` is
   849  	// specified. The `group_by_fields` determine how the time series are
   850  	// partitioned into subsets prior to applying the aggregation
   851  	// operation. Each subset contains time series that have the same
   852  	// value for each of the grouping fields. Each individual time
   853  	// series is a member of exactly one subset. The
   854  	// `cross_series_reducer` is applied to each subset of time series.
   855  	// It is not possible to reduce across different resource types, so
   856  	// this field implicitly contains `resource.type`.  Fields not
   857  	// specified in `group_by_fields` are aggregated away.  If
   858  	// `group_by_fields` is not specified and all the time series have
   859  	// the same resource type, then the time series are aggregated into
   860  	// a single output time series. If `cross_series_reducer` is not
   861  	// defined, this field is ignored.
   862  	GroupByFields []string `protobuf:"bytes,5,rep,name=group_by_fields,json=groupByFields,proto3" json:"group_by_fields,omitempty"`
   863  }
   864  
   865  func (x *Aggregation) Reset() {
   866  	*x = Aggregation{}
   867  	if protoimpl.UnsafeEnabled {
   868  		mi := &file_google_monitoring_v3_common_proto_msgTypes[2]
   869  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   870  		ms.StoreMessageInfo(mi)
   871  	}
   872  }
   873  
   874  func (x *Aggregation) String() string {
   875  	return protoimpl.X.MessageStringOf(x)
   876  }
   877  
   878  func (*Aggregation) ProtoMessage() {}
   879  
   880  func (x *Aggregation) ProtoReflect() protoreflect.Message {
   881  	mi := &file_google_monitoring_v3_common_proto_msgTypes[2]
   882  	if protoimpl.UnsafeEnabled && x != nil {
   883  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   884  		if ms.LoadMessageInfo() == nil {
   885  			ms.StoreMessageInfo(mi)
   886  		}
   887  		return ms
   888  	}
   889  	return mi.MessageOf(x)
   890  }
   891  
   892  // Deprecated: Use Aggregation.ProtoReflect.Descriptor instead.
   893  func (*Aggregation) Descriptor() ([]byte, []int) {
   894  	return file_google_monitoring_v3_common_proto_rawDescGZIP(), []int{2}
   895  }
   896  
   897  func (x *Aggregation) GetAlignmentPeriod() *durationpb.Duration {
   898  	if x != nil {
   899  		return x.AlignmentPeriod
   900  	}
   901  	return nil
   902  }
   903  
   904  func (x *Aggregation) GetPerSeriesAligner() Aggregation_Aligner {
   905  	if x != nil {
   906  		return x.PerSeriesAligner
   907  	}
   908  	return Aggregation_ALIGN_NONE
   909  }
   910  
   911  func (x *Aggregation) GetCrossSeriesReducer() Aggregation_Reducer {
   912  	if x != nil {
   913  		return x.CrossSeriesReducer
   914  	}
   915  	return Aggregation_REDUCE_NONE
   916  }
   917  
   918  func (x *Aggregation) GetGroupByFields() []string {
   919  	if x != nil {
   920  		return x.GroupByFields
   921  	}
   922  	return nil
   923  }
   924  
   925  var File_google_monitoring_v3_common_proto protoreflect.FileDescriptor
   926  
   927  var file_google_monitoring_v3_common_proto_rawDesc = []byte{
   928  	0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
   929  	0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
   930  	0x6f, 0x74, 0x6f, 0x12, 0x14, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69,
   931  	0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   932  	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
   933  	0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   934  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
   935  	0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   936  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
   937  	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a, 0x0a, 0x54, 0x79,
   938  	0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c,
   939  	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09,
   940  	0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74,
   941  	0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00,
   942  	0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c,
   943  	0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01,
   944  	0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
   945  	0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75,
   946  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e,
   947  	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
   948  	0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01,
   949  	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
   950  	0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11,
   951  	0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75,
   952  	0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x0c, 0x54,
   953  	0x69, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x35, 0x0a, 0x08, 0x65,
   954  	0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
   955  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
   956  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,
   957  	0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
   958  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   959  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
   960  	0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf3, 0x07,
   961  	0x0a, 0x0b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a,
   962  	0x10, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f,
   963  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   964  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
   965  	0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72,
   966  	0x69, 0x6f, 0x64, 0x12, 0x57, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65,
   967  	0x73, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
   968  	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
   969  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69,
   970  	0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x52, 0x10, 0x70, 0x65, 0x72, 0x53,
   971  	0x65, 0x72, 0x69, 0x65, 0x73, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x14,
   972  	0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x64,
   973  	0x75, 0x63, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
   974  	0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76,
   975  	0x33, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
   976  	0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x12, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x53, 0x65, 0x72, 0x69,
   977  	0x65, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x72, 0x6f,
   978  	0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03,
   979  	0x28, 0x09, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64,
   980  	0x73, 0x22, 0x8b, 0x03, 0x0a, 0x07, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a,
   981  	0x0a, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a,
   982  	0x0b, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x10, 0x01, 0x12, 0x0e,
   983  	0x0a, 0x0a, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x15,
   984  	0x0a, 0x11, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c,
   985  	0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x4e,
   986  	0x45, 0x58, 0x54, 0x5f, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x41,
   987  	0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c,
   988  	0x49, 0x47, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x4c, 0x49,
   989  	0x47, 0x4e, 0x5f, 0x4d, 0x45, 0x41, 0x4e, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4c, 0x49,
   990  	0x47, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c,
   991  	0x49, 0x47, 0x4e, 0x5f, 0x53, 0x55, 0x4d, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4c, 0x49,
   992  	0x47, 0x4e, 0x5f, 0x53, 0x54, 0x44, 0x44, 0x45, 0x56, 0x10, 0x0f, 0x12, 0x14, 0x0a, 0x10, 0x41,
   993  	0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10,
   994  	0x10, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54,
   995  	0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x18, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x49, 0x47,
   996  	0x4e, 0x5f, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10,
   997  	0x11, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45,
   998  	0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x39, 0x39, 0x10, 0x12, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c,
   999  	0x49, 0x47, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x39,
  1000  	0x35, 0x10, 0x13, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x45, 0x52,
  1001  	0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x35, 0x30, 0x10, 0x14, 0x12, 0x17, 0x0a, 0x13,
  1002  	0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45,
  1003  	0x5f, 0x30, 0x35, 0x10, 0x15, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x5f, 0x50,
  1004  	0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x17, 0x22,
  1005  	0xb1, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x72, 0x12, 0x0f, 0x0a, 0x0b, 0x52,
  1006  	0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b,
  1007  	0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a,
  1008  	0x0a, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0e, 0x0a,
  1009  	0x0a, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x03, 0x12, 0x0e, 0x0a,
  1010  	0x0a, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x55, 0x4d, 0x10, 0x04, 0x12, 0x11, 0x0a,
  1011  	0x0d, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x44, 0x44, 0x45, 0x56, 0x10, 0x05,
  1012  	0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54,
  1013  	0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x55,
  1014  	0x4e, 0x54, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x44,
  1015  	0x55, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10,
  1016  	0x0f, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x46, 0x52, 0x41, 0x43,
  1017  	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x52,
  1018  	0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45,
  1019  	0x5f, 0x39, 0x39, 0x10, 0x09, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f,
  1020  	0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x39, 0x35, 0x10, 0x0a, 0x12,
  1021  	0x18, 0x0a, 0x14, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e,
  1022  	0x54, 0x49, 0x4c, 0x45, 0x5f, 0x35, 0x30, 0x10, 0x0b, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x44,
  1023  	0x55, 0x43, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x30,
  1024  	0x35, 0x10, 0x0c, 0x2a, 0x9e, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73,
  1025  	0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52,
  1026  	0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  1027  	0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e,
  1028  	0x5f, 0x47, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49,
  1029  	0x53, 0x4f, 0x4e, 0x5f, 0x47, 0x45, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50,
  1030  	0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x54, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x43,
  1031  	0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x11,
  1032  	0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x51, 0x10,
  1033  	0x05, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f,
  1034  	0x4e, 0x45, 0x10, 0x06, 0x2a, 0x61, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54,
  1035  	0x69, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54,
  1036  	0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
  1037  	0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x49, 0x45,
  1038  	0x52, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x52,
  1039  	0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55,
  1040  	0x4d, 0x10, 0x02, 0x1a, 0x02, 0x18, 0x01, 0x42, 0xcd, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e,
  1041  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e,
  1042  	0x67, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74,
  1043  	0x6f, 0x50, 0x01, 0x5a, 0x41, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1044  	0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
  1045  	0x69, 0x6e, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x6f, 0x6e,
  1046  	0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x70, 0x62, 0x3b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
  1047  	0x72, 0x69, 0x6e, 0x67, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x4d, 0x4f, 0x4e, 0xaa, 0x02, 0x1a,
  1048  	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x6e,
  1049  	0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f,
  1050  	0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
  1051  	0x72, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x33, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1052  	0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
  1053  	0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1054  }
  1055  
  1056  var (
  1057  	file_google_monitoring_v3_common_proto_rawDescOnce sync.Once
  1058  	file_google_monitoring_v3_common_proto_rawDescData = file_google_monitoring_v3_common_proto_rawDesc
  1059  )
  1060  
  1061  func file_google_monitoring_v3_common_proto_rawDescGZIP() []byte {
  1062  	file_google_monitoring_v3_common_proto_rawDescOnce.Do(func() {
  1063  		file_google_monitoring_v3_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_monitoring_v3_common_proto_rawDescData)
  1064  	})
  1065  	return file_google_monitoring_v3_common_proto_rawDescData
  1066  }
  1067  
  1068  var file_google_monitoring_v3_common_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
  1069  var file_google_monitoring_v3_common_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
  1070  var file_google_monitoring_v3_common_proto_goTypes = []interface{}{
  1071  	(ComparisonType)(0),               // 0: google.monitoring.v3.ComparisonType
  1072  	(ServiceTier)(0),                  // 1: google.monitoring.v3.ServiceTier
  1073  	(Aggregation_Aligner)(0),          // 2: google.monitoring.v3.Aggregation.Aligner
  1074  	(Aggregation_Reducer)(0),          // 3: google.monitoring.v3.Aggregation.Reducer
  1075  	(*TypedValue)(nil),                // 4: google.monitoring.v3.TypedValue
  1076  	(*TimeInterval)(nil),              // 5: google.monitoring.v3.TimeInterval
  1077  	(*Aggregation)(nil),               // 6: google.monitoring.v3.Aggregation
  1078  	(*distribution.Distribution)(nil), // 7: google.api.Distribution
  1079  	(*timestamppb.Timestamp)(nil),     // 8: google.protobuf.Timestamp
  1080  	(*durationpb.Duration)(nil),       // 9: google.protobuf.Duration
  1081  }
  1082  var file_google_monitoring_v3_common_proto_depIdxs = []int32{
  1083  	7, // 0: google.monitoring.v3.TypedValue.distribution_value:type_name -> google.api.Distribution
  1084  	8, // 1: google.monitoring.v3.TimeInterval.end_time:type_name -> google.protobuf.Timestamp
  1085  	8, // 2: google.monitoring.v3.TimeInterval.start_time:type_name -> google.protobuf.Timestamp
  1086  	9, // 3: google.monitoring.v3.Aggregation.alignment_period:type_name -> google.protobuf.Duration
  1087  	2, // 4: google.monitoring.v3.Aggregation.per_series_aligner:type_name -> google.monitoring.v3.Aggregation.Aligner
  1088  	3, // 5: google.monitoring.v3.Aggregation.cross_series_reducer:type_name -> google.monitoring.v3.Aggregation.Reducer
  1089  	6, // [6:6] is the sub-list for method output_type
  1090  	6, // [6:6] is the sub-list for method input_type
  1091  	6, // [6:6] is the sub-list for extension type_name
  1092  	6, // [6:6] is the sub-list for extension extendee
  1093  	0, // [0:6] is the sub-list for field type_name
  1094  }
  1095  
  1096  func init() { file_google_monitoring_v3_common_proto_init() }
  1097  func file_google_monitoring_v3_common_proto_init() {
  1098  	if File_google_monitoring_v3_common_proto != nil {
  1099  		return
  1100  	}
  1101  	if !protoimpl.UnsafeEnabled {
  1102  		file_google_monitoring_v3_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1103  			switch v := v.(*TypedValue); i {
  1104  			case 0:
  1105  				return &v.state
  1106  			case 1:
  1107  				return &v.sizeCache
  1108  			case 2:
  1109  				return &v.unknownFields
  1110  			default:
  1111  				return nil
  1112  			}
  1113  		}
  1114  		file_google_monitoring_v3_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1115  			switch v := v.(*TimeInterval); i {
  1116  			case 0:
  1117  				return &v.state
  1118  			case 1:
  1119  				return &v.sizeCache
  1120  			case 2:
  1121  				return &v.unknownFields
  1122  			default:
  1123  				return nil
  1124  			}
  1125  		}
  1126  		file_google_monitoring_v3_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1127  			switch v := v.(*Aggregation); i {
  1128  			case 0:
  1129  				return &v.state
  1130  			case 1:
  1131  				return &v.sizeCache
  1132  			case 2:
  1133  				return &v.unknownFields
  1134  			default:
  1135  				return nil
  1136  			}
  1137  		}
  1138  	}
  1139  	file_google_monitoring_v3_common_proto_msgTypes[0].OneofWrappers = []interface{}{
  1140  		(*TypedValue_BoolValue)(nil),
  1141  		(*TypedValue_Int64Value)(nil),
  1142  		(*TypedValue_DoubleValue)(nil),
  1143  		(*TypedValue_StringValue)(nil),
  1144  		(*TypedValue_DistributionValue)(nil),
  1145  	}
  1146  	type x struct{}
  1147  	out := protoimpl.TypeBuilder{
  1148  		File: protoimpl.DescBuilder{
  1149  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1150  			RawDescriptor: file_google_monitoring_v3_common_proto_rawDesc,
  1151  			NumEnums:      4,
  1152  			NumMessages:   3,
  1153  			NumExtensions: 0,
  1154  			NumServices:   0,
  1155  		},
  1156  		GoTypes:           file_google_monitoring_v3_common_proto_goTypes,
  1157  		DependencyIndexes: file_google_monitoring_v3_common_proto_depIdxs,
  1158  		EnumInfos:         file_google_monitoring_v3_common_proto_enumTypes,
  1159  		MessageInfos:      file_google_monitoring_v3_common_proto_msgTypes,
  1160  	}.Build()
  1161  	File_google_monitoring_v3_common_proto = out.File
  1162  	file_google_monitoring_v3_common_proto_rawDesc = nil
  1163  	file_google_monitoring_v3_common_proto_goTypes = nil
  1164  	file_google_monitoring_v3_common_proto_depIdxs = nil
  1165  }
  1166  

View as plain text