OSDN Git Service

new repo
[bytom/vapor.git] / vendor / google.golang.org / genproto / googleapis / monitoring / v3 / common.pb.go
1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/monitoring/v3/common.proto
3
4 /*
5 Package monitoring is a generated protocol buffer package.
6
7 It is generated from these files:
8         google/monitoring/v3/common.proto
9         google/monitoring/v3/group.proto
10         google/monitoring/v3/group_service.proto
11         google/monitoring/v3/metric.proto
12         google/monitoring/v3/metric_service.proto
13
14 It has these top-level messages:
15         TypedValue
16         TimeInterval
17         Aggregation
18         Group
19         ListGroupsRequest
20         ListGroupsResponse
21         GetGroupRequest
22         CreateGroupRequest
23         UpdateGroupRequest
24         DeleteGroupRequest
25         ListGroupMembersRequest
26         ListGroupMembersResponse
27         Point
28         TimeSeries
29         ListMonitoredResourceDescriptorsRequest
30         ListMonitoredResourceDescriptorsResponse
31         GetMonitoredResourceDescriptorRequest
32         ListMetricDescriptorsRequest
33         ListMetricDescriptorsResponse
34         GetMetricDescriptorRequest
35         CreateMetricDescriptorRequest
36         DeleteMetricDescriptorRequest
37         ListTimeSeriesRequest
38         ListTimeSeriesResponse
39         CreateTimeSeriesRequest
40         CreateTimeSeriesError
41 */
42 package monitoring
43
44 import proto "github.com/golang/protobuf/proto"
45 import fmt "fmt"
46 import math "math"
47 import google_api2 "google.golang.org/genproto/googleapis/api/distribution"
48 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
49 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
50
51 // Reference imports to suppress errors if they are not otherwise used.
52 var _ = proto.Marshal
53 var _ = fmt.Errorf
54 var _ = math.Inf
55
56 // This is a compile-time assertion to ensure that this generated file
57 // is compatible with the proto package it is being compiled against.
58 // A compilation error at this line likely means your copy of the
59 // proto package needs to be updated.
60 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
61
62 // The Aligner describes how to bring the data points in a single
63 // time series into temporal alignment.
64 type Aggregation_Aligner int32
65
66 const (
67         // No alignment. Raw data is returned. Not valid if cross-time
68         // series reduction is requested. The value type of the result is
69         // the same as the value type of the input.
70         Aggregation_ALIGN_NONE Aggregation_Aligner = 0
71         // Align and convert to delta metric type. This alignment is valid
72         // for cumulative metrics and delta metrics. Aligning an existing
73         // delta metric to a delta metric requires that the alignment
74         // period be increased. The value type of the result is the same
75         // as the value type of the input.
76         Aggregation_ALIGN_DELTA Aggregation_Aligner = 1
77         // Align and convert to a rate. This alignment is valid for
78         // cumulative metrics and delta metrics with numeric values. The output is a
79         // gauge metric with value type
80         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
81         Aggregation_ALIGN_RATE Aggregation_Aligner = 2
82         // Align by interpolating between adjacent points around the
83         // period boundary. This alignment is valid for gauge
84         // metrics with numeric values. The value type of the result is the same
85         // as the value type of the input.
86         Aggregation_ALIGN_INTERPOLATE Aggregation_Aligner = 3
87         // Align by shifting the oldest data point before the period
88         // boundary to the boundary. This alignment is valid for gauge
89         // metrics. The value type of the result is the same as the
90         // value type of the input.
91         Aggregation_ALIGN_NEXT_OLDER Aggregation_Aligner = 4
92         // Align time series via aggregation. The resulting data point in
93         // the alignment period is the minimum of all data points in the
94         // period. This alignment is valid for gauge and delta metrics with numeric
95         // values. The value type of the result is the same as the value
96         // type of the input.
97         Aggregation_ALIGN_MIN Aggregation_Aligner = 10
98         // Align time series via aggregation. The resulting data point in
99         // the alignment period is the maximum of all data points in the
100         // period. This alignment is valid for gauge and delta metrics with numeric
101         // values. The value type of the result is the same as the value
102         // type of the input.
103         Aggregation_ALIGN_MAX Aggregation_Aligner = 11
104         // Align time series via aggregation. The resulting data point in
105         // the alignment period is the average or arithmetic mean of all
106         // data points in the period. This alignment is valid for gauge and delta
107         // metrics with numeric values. The value type of the output is
108         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
109         Aggregation_ALIGN_MEAN Aggregation_Aligner = 12
110         // Align time series via aggregation. The resulting data point in
111         // the alignment period is the count of all data points in the
112         // period. This alignment is valid for gauge and delta metrics with numeric
113         // or Boolean values. The value type of the output is
114         // [INT64][google.api.MetricDescriptor.ValueType.INT64].
115         Aggregation_ALIGN_COUNT Aggregation_Aligner = 13
116         // Align time series via aggregation. The resulting data point in
117         // the alignment period is the sum of all data points in the
118         // period. This alignment is valid for gauge and delta metrics with numeric
119         // and distribution values. The value type of the output is the
120         // same as the value type of the input.
121         Aggregation_ALIGN_SUM Aggregation_Aligner = 14
122         // Align time series via aggregation. The resulting data point in
123         // the alignment period is the standard deviation of all data
124         // points in the period. This alignment is valid for gauge and delta metrics
125         // with numeric values. The value type of the output is
126         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
127         Aggregation_ALIGN_STDDEV Aggregation_Aligner = 15
128         // Align time series via aggregation. The resulting data point in
129         // the alignment period is the count of True-valued data points in the
130         // period. This alignment is valid for gauge metrics with
131         // Boolean values. The value type of the output is
132         // [INT64][google.api.MetricDescriptor.ValueType.INT64].
133         Aggregation_ALIGN_COUNT_TRUE Aggregation_Aligner = 16
134         // Align time series via aggregation. The resulting data point in
135         // the alignment period is the fraction of True-valued data points in the
136         // period. This alignment is valid for gauge metrics with Boolean values.
137         // The output value is in the range [0, 1] and has value type
138         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
139         Aggregation_ALIGN_FRACTION_TRUE Aggregation_Aligner = 17
140         // Align time series via aggregation. The resulting data point in
141         // the alignment period is the 99th percentile of all data
142         // points in the period. This alignment is valid for gauge and delta metrics
143         // with distribution values. The output is a gauge metric with value type
144         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
145         Aggregation_ALIGN_PERCENTILE_99 Aggregation_Aligner = 18
146         // Align time series via aggregation. The resulting data point in
147         // the alignment period is the 95th percentile of all data
148         // points in the period. This alignment is valid for gauge and delta metrics
149         // with distribution values. The output is a gauge metric with value type
150         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
151         Aggregation_ALIGN_PERCENTILE_95 Aggregation_Aligner = 19
152         // Align time series via aggregation. The resulting data point in
153         // the alignment period is the 50th percentile of all data
154         // points in the period. This alignment is valid for gauge and delta metrics
155         // with distribution values. The output is a gauge metric with value type
156         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
157         Aggregation_ALIGN_PERCENTILE_50 Aggregation_Aligner = 20
158         // Align time series via aggregation. The resulting data point in
159         // the alignment period is the 5th percentile of all data
160         // points in the period. This alignment is valid for gauge and delta metrics
161         // with distribution values. The output is a gauge metric with value type
162         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
163         Aggregation_ALIGN_PERCENTILE_05 Aggregation_Aligner = 21
164 )
165
166 var Aggregation_Aligner_name = map[int32]string{
167         0:  "ALIGN_NONE",
168         1:  "ALIGN_DELTA",
169         2:  "ALIGN_RATE",
170         3:  "ALIGN_INTERPOLATE",
171         4:  "ALIGN_NEXT_OLDER",
172         10: "ALIGN_MIN",
173         11: "ALIGN_MAX",
174         12: "ALIGN_MEAN",
175         13: "ALIGN_COUNT",
176         14: "ALIGN_SUM",
177         15: "ALIGN_STDDEV",
178         16: "ALIGN_COUNT_TRUE",
179         17: "ALIGN_FRACTION_TRUE",
180         18: "ALIGN_PERCENTILE_99",
181         19: "ALIGN_PERCENTILE_95",
182         20: "ALIGN_PERCENTILE_50",
183         21: "ALIGN_PERCENTILE_05",
184 }
185 var Aggregation_Aligner_value = map[string]int32{
186         "ALIGN_NONE":          0,
187         "ALIGN_DELTA":         1,
188         "ALIGN_RATE":          2,
189         "ALIGN_INTERPOLATE":   3,
190         "ALIGN_NEXT_OLDER":    4,
191         "ALIGN_MIN":           10,
192         "ALIGN_MAX":           11,
193         "ALIGN_MEAN":          12,
194         "ALIGN_COUNT":         13,
195         "ALIGN_SUM":           14,
196         "ALIGN_STDDEV":        15,
197         "ALIGN_COUNT_TRUE":    16,
198         "ALIGN_FRACTION_TRUE": 17,
199         "ALIGN_PERCENTILE_99": 18,
200         "ALIGN_PERCENTILE_95": 19,
201         "ALIGN_PERCENTILE_50": 20,
202         "ALIGN_PERCENTILE_05": 21,
203 }
204
205 func (x Aggregation_Aligner) String() string {
206         return proto.EnumName(Aggregation_Aligner_name, int32(x))
207 }
208 func (Aggregation_Aligner) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
209
210 // A Reducer describes how to aggregate data points from multiple
211 // time series into a single time series.
212 type Aggregation_Reducer int32
213
214 const (
215         // No cross-time series reduction. The output of the aligner is
216         // returned.
217         Aggregation_REDUCE_NONE Aggregation_Reducer = 0
218         // Reduce by computing the mean across time series for each
219         // alignment period. This reducer is valid for delta and
220         // gauge metrics with numeric or distribution values. The value type of the
221         // output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
222         Aggregation_REDUCE_MEAN Aggregation_Reducer = 1
223         // Reduce by computing the minimum across time series for each
224         // alignment period. This reducer is valid for delta and
225         // gauge metrics with numeric values. The value type of the output
226         // is the same as the value type of the input.
227         Aggregation_REDUCE_MIN Aggregation_Reducer = 2
228         // Reduce by computing the maximum across time series for each
229         // alignment period. This reducer is valid for delta and
230         // gauge metrics with numeric values. The value type of the output
231         // is the same as the value type of the input.
232         Aggregation_REDUCE_MAX Aggregation_Reducer = 3
233         // Reduce by computing the sum across time series for each
234         // alignment period. This reducer is valid for delta and
235         // gauge metrics with numeric and distribution values. The value type of
236         // the output is the same as the value type of the input.
237         Aggregation_REDUCE_SUM Aggregation_Reducer = 4
238         // Reduce by computing the standard deviation across time series
239         // for each alignment period. This reducer is valid for delta
240         // and gauge metrics with numeric or distribution values. The value type of
241         // the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
242         Aggregation_REDUCE_STDDEV Aggregation_Reducer = 5
243         // Reduce by computing the count of data points across time series
244         // for each alignment period. This reducer is valid for delta
245         // and gauge metrics of numeric, Boolean, distribution, and string value
246         // type. The value type of the output is
247         // [INT64][google.api.MetricDescriptor.ValueType.INT64].
248         Aggregation_REDUCE_COUNT Aggregation_Reducer = 6
249         // Reduce by computing the count of True-valued data points across time
250         // series for each alignment period. This reducer is valid for delta
251         // and gauge metrics of Boolean value type. The value type of
252         // the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
253         Aggregation_REDUCE_COUNT_TRUE Aggregation_Reducer = 7
254         // Reduce by computing the fraction of True-valued data points across time
255         // series for each alignment period. This reducer is valid for delta
256         // and gauge metrics of Boolean value type. The output value is in the
257         // range [0, 1] and has value type
258         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
259         Aggregation_REDUCE_FRACTION_TRUE Aggregation_Reducer = 8
260         // Reduce by computing 99th percentile of data points across time series
261         // for each alignment period. This reducer is valid for gauge and delta
262         // metrics of numeric and distribution type. The value of the output is
263         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
264         Aggregation_REDUCE_PERCENTILE_99 Aggregation_Reducer = 9
265         // Reduce by computing 95th percentile of data points across time series
266         // for each alignment period. This reducer is valid for gauge and delta
267         // metrics of numeric and distribution type. The value of the output is
268         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
269         Aggregation_REDUCE_PERCENTILE_95 Aggregation_Reducer = 10
270         // Reduce by computing 50th percentile of data points across time series
271         // for each alignment period. This reducer is valid for gauge and delta
272         // metrics of numeric and distribution type. The value of the output is
273         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
274         Aggregation_REDUCE_PERCENTILE_50 Aggregation_Reducer = 11
275         // Reduce by computing 5th percentile of data points across time series
276         // for each alignment period. This reducer is valid for gauge and delta
277         // metrics of numeric and distribution type. The value of the output is
278         // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
279         Aggregation_REDUCE_PERCENTILE_05 Aggregation_Reducer = 12
280 )
281
282 var Aggregation_Reducer_name = map[int32]string{
283         0:  "REDUCE_NONE",
284         1:  "REDUCE_MEAN",
285         2:  "REDUCE_MIN",
286         3:  "REDUCE_MAX",
287         4:  "REDUCE_SUM",
288         5:  "REDUCE_STDDEV",
289         6:  "REDUCE_COUNT",
290         7:  "REDUCE_COUNT_TRUE",
291         8:  "REDUCE_FRACTION_TRUE",
292         9:  "REDUCE_PERCENTILE_99",
293         10: "REDUCE_PERCENTILE_95",
294         11: "REDUCE_PERCENTILE_50",
295         12: "REDUCE_PERCENTILE_05",
296 }
297 var Aggregation_Reducer_value = map[string]int32{
298         "REDUCE_NONE":          0,
299         "REDUCE_MEAN":          1,
300         "REDUCE_MIN":           2,
301         "REDUCE_MAX":           3,
302         "REDUCE_SUM":           4,
303         "REDUCE_STDDEV":        5,
304         "REDUCE_COUNT":         6,
305         "REDUCE_COUNT_TRUE":    7,
306         "REDUCE_FRACTION_TRUE": 8,
307         "REDUCE_PERCENTILE_99": 9,
308         "REDUCE_PERCENTILE_95": 10,
309         "REDUCE_PERCENTILE_50": 11,
310         "REDUCE_PERCENTILE_05": 12,
311 }
312
313 func (x Aggregation_Reducer) String() string {
314         return proto.EnumName(Aggregation_Reducer_name, int32(x))
315 }
316 func (Aggregation_Reducer) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 1} }
317
318 // A single strongly-typed value.
319 type TypedValue struct {
320         // The typed value field.
321         //
322         // Types that are valid to be assigned to Value:
323         //      *TypedValue_BoolValue
324         //      *TypedValue_Int64Value
325         //      *TypedValue_DoubleValue
326         //      *TypedValue_StringValue
327         //      *TypedValue_DistributionValue
328         Value isTypedValue_Value `protobuf_oneof:"value"`
329 }
330
331 func (m *TypedValue) Reset()                    { *m = TypedValue{} }
332 func (m *TypedValue) String() string            { return proto.CompactTextString(m) }
333 func (*TypedValue) ProtoMessage()               {}
334 func (*TypedValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
335
336 type isTypedValue_Value interface {
337         isTypedValue_Value()
338 }
339
340 type TypedValue_BoolValue struct {
341         BoolValue bool `protobuf:"varint,1,opt,name=bool_value,json=boolValue,oneof"`
342 }
343 type TypedValue_Int64Value struct {
344         Int64Value int64 `protobuf:"varint,2,opt,name=int64_value,json=int64Value,oneof"`
345 }
346 type TypedValue_DoubleValue struct {
347         DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,oneof"`
348 }
349 type TypedValue_StringValue struct {
350         StringValue string `protobuf:"bytes,4,opt,name=string_value,json=stringValue,oneof"`
351 }
352 type TypedValue_DistributionValue struct {
353         DistributionValue *google_api2.Distribution `protobuf:"bytes,5,opt,name=distribution_value,json=distributionValue,oneof"`
354 }
355
356 func (*TypedValue_BoolValue) isTypedValue_Value()         {}
357 func (*TypedValue_Int64Value) isTypedValue_Value()        {}
358 func (*TypedValue_DoubleValue) isTypedValue_Value()       {}
359 func (*TypedValue_StringValue) isTypedValue_Value()       {}
360 func (*TypedValue_DistributionValue) isTypedValue_Value() {}
361
362 func (m *TypedValue) GetValue() isTypedValue_Value {
363         if m != nil {
364                 return m.Value
365         }
366         return nil
367 }
368
369 func (m *TypedValue) GetBoolValue() bool {
370         if x, ok := m.GetValue().(*TypedValue_BoolValue); ok {
371                 return x.BoolValue
372         }
373         return false
374 }
375
376 func (m *TypedValue) GetInt64Value() int64 {
377         if x, ok := m.GetValue().(*TypedValue_Int64Value); ok {
378                 return x.Int64Value
379         }
380         return 0
381 }
382
383 func (m *TypedValue) GetDoubleValue() float64 {
384         if x, ok := m.GetValue().(*TypedValue_DoubleValue); ok {
385                 return x.DoubleValue
386         }
387         return 0
388 }
389
390 func (m *TypedValue) GetStringValue() string {
391         if x, ok := m.GetValue().(*TypedValue_StringValue); ok {
392                 return x.StringValue
393         }
394         return ""
395 }
396
397 func (m *TypedValue) GetDistributionValue() *google_api2.Distribution {
398         if x, ok := m.GetValue().(*TypedValue_DistributionValue); ok {
399                 return x.DistributionValue
400         }
401         return nil
402 }
403
404 // XXX_OneofFuncs is for the internal use of the proto package.
405 func (*TypedValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
406         return _TypedValue_OneofMarshaler, _TypedValue_OneofUnmarshaler, _TypedValue_OneofSizer, []interface{}{
407                 (*TypedValue_BoolValue)(nil),
408                 (*TypedValue_Int64Value)(nil),
409                 (*TypedValue_DoubleValue)(nil),
410                 (*TypedValue_StringValue)(nil),
411                 (*TypedValue_DistributionValue)(nil),
412         }
413 }
414
415 func _TypedValue_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
416         m := msg.(*TypedValue)
417         // value
418         switch x := m.Value.(type) {
419         case *TypedValue_BoolValue:
420                 t := uint64(0)
421                 if x.BoolValue {
422                         t = 1
423                 }
424                 b.EncodeVarint(1<<3 | proto.WireVarint)
425                 b.EncodeVarint(t)
426         case *TypedValue_Int64Value:
427                 b.EncodeVarint(2<<3 | proto.WireVarint)
428                 b.EncodeVarint(uint64(x.Int64Value))
429         case *TypedValue_DoubleValue:
430                 b.EncodeVarint(3<<3 | proto.WireFixed64)
431                 b.EncodeFixed64(math.Float64bits(x.DoubleValue))
432         case *TypedValue_StringValue:
433                 b.EncodeVarint(4<<3 | proto.WireBytes)
434                 b.EncodeStringBytes(x.StringValue)
435         case *TypedValue_DistributionValue:
436                 b.EncodeVarint(5<<3 | proto.WireBytes)
437                 if err := b.EncodeMessage(x.DistributionValue); err != nil {
438                         return err
439                 }
440         case nil:
441         default:
442                 return fmt.Errorf("TypedValue.Value has unexpected type %T", x)
443         }
444         return nil
445 }
446
447 func _TypedValue_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
448         m := msg.(*TypedValue)
449         switch tag {
450         case 1: // value.bool_value
451                 if wire != proto.WireVarint {
452                         return true, proto.ErrInternalBadWireType
453                 }
454                 x, err := b.DecodeVarint()
455                 m.Value = &TypedValue_BoolValue{x != 0}
456                 return true, err
457         case 2: // value.int64_value
458                 if wire != proto.WireVarint {
459                         return true, proto.ErrInternalBadWireType
460                 }
461                 x, err := b.DecodeVarint()
462                 m.Value = &TypedValue_Int64Value{int64(x)}
463                 return true, err
464         case 3: // value.double_value
465                 if wire != proto.WireFixed64 {
466                         return true, proto.ErrInternalBadWireType
467                 }
468                 x, err := b.DecodeFixed64()
469                 m.Value = &TypedValue_DoubleValue{math.Float64frombits(x)}
470                 return true, err
471         case 4: // value.string_value
472                 if wire != proto.WireBytes {
473                         return true, proto.ErrInternalBadWireType
474                 }
475                 x, err := b.DecodeStringBytes()
476                 m.Value = &TypedValue_StringValue{x}
477                 return true, err
478         case 5: // value.distribution_value
479                 if wire != proto.WireBytes {
480                         return true, proto.ErrInternalBadWireType
481                 }
482                 msg := new(google_api2.Distribution)
483                 err := b.DecodeMessage(msg)
484                 m.Value = &TypedValue_DistributionValue{msg}
485                 return true, err
486         default:
487                 return false, nil
488         }
489 }
490
491 func _TypedValue_OneofSizer(msg proto.Message) (n int) {
492         m := msg.(*TypedValue)
493         // value
494         switch x := m.Value.(type) {
495         case *TypedValue_BoolValue:
496                 n += proto.SizeVarint(1<<3 | proto.WireVarint)
497                 n += 1
498         case *TypedValue_Int64Value:
499                 n += proto.SizeVarint(2<<3 | proto.WireVarint)
500                 n += proto.SizeVarint(uint64(x.Int64Value))
501         case *TypedValue_DoubleValue:
502                 n += proto.SizeVarint(3<<3 | proto.WireFixed64)
503                 n += 8
504         case *TypedValue_StringValue:
505                 n += proto.SizeVarint(4<<3 | proto.WireBytes)
506                 n += proto.SizeVarint(uint64(len(x.StringValue)))
507                 n += len(x.StringValue)
508         case *TypedValue_DistributionValue:
509                 s := proto.Size(x.DistributionValue)
510                 n += proto.SizeVarint(5<<3 | proto.WireBytes)
511                 n += proto.SizeVarint(uint64(s))
512                 n += s
513         case nil:
514         default:
515                 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
516         }
517         return n
518 }
519
520 // A time interval extending just after a start time through an end time.
521 // If the start time is the same as the end time, then the interval
522 // represents a single point in time.
523 type TimeInterval struct {
524         // Required. The end of the time interval.
525         EndTime *google_protobuf2.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
526         // Optional. The beginning of the time interval.  The default value
527         // for the start time is the end time. The start time must not be
528         // later than the end time.
529         StartTime *google_protobuf2.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
530 }
531
532 func (m *TimeInterval) Reset()                    { *m = TimeInterval{} }
533 func (m *TimeInterval) String() string            { return proto.CompactTextString(m) }
534 func (*TimeInterval) ProtoMessage()               {}
535 func (*TimeInterval) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
536
537 func (m *TimeInterval) GetEndTime() *google_protobuf2.Timestamp {
538         if m != nil {
539                 return m.EndTime
540         }
541         return nil
542 }
543
544 func (m *TimeInterval) GetStartTime() *google_protobuf2.Timestamp {
545         if m != nil {
546                 return m.StartTime
547         }
548         return nil
549 }
550
551 // Describes how to combine multiple time series to provide different views of
552 // the data.  Aggregation consists of an alignment step on individual time
553 // series (`per_series_aligner`) followed by an optional reduction of the data
554 // across different time series (`cross_series_reducer`).  For more details, see
555 // [Aggregation](/monitoring/api/learn_more#aggregation).
556 type Aggregation struct {
557         // The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
558         // alignment. If present, `alignmentPeriod` must be at least 60
559         // seconds.  After per-time series alignment, each time series will
560         // contain data points only on the period boundaries. If
561         // `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then
562         // this field is ignored. If `perSeriesAligner` is specified and
563         // does not equal `ALIGN_NONE`, then this field must be defined;
564         // otherwise an error is returned.
565         AlignmentPeriod *google_protobuf3.Duration `protobuf:"bytes,1,opt,name=alignment_period,json=alignmentPeriod" json:"alignment_period,omitempty"`
566         // The approach to be used to align individual time series. Not all
567         // alignment functions may be applied to all time series, depending
568         // on the metric type and value type of the original time
569         // series. Alignment may change the metric type or the value type of
570         // the time series.
571         //
572         // Time series data must be aligned in order to perform cross-time
573         // series reduction. If `crossSeriesReducer` is specified, then
574         // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
575         // and `alignmentPeriod` must be specified; otherwise, an error is
576         // returned.
577         PerSeriesAligner Aggregation_Aligner `protobuf:"varint,2,opt,name=per_series_aligner,json=perSeriesAligner,enum=google.monitoring.v3.Aggregation_Aligner" json:"per_series_aligner,omitempty"`
578         // The approach to be used to combine time series. Not all reducer
579         // functions may be applied to all time series, depending on the
580         // metric type and the value type of the original time
581         // series. Reduction may change the metric type of value type of the
582         // time series.
583         //
584         // Time series data must be aligned in order to perform cross-time
585         // series reduction. If `crossSeriesReducer` is specified, then
586         // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
587         // and `alignmentPeriod` must be specified; otherwise, an error is
588         // returned.
589         CrossSeriesReducer Aggregation_Reducer `protobuf:"varint,4,opt,name=cross_series_reducer,json=crossSeriesReducer,enum=google.monitoring.v3.Aggregation_Reducer" json:"cross_series_reducer,omitempty"`
590         // The set of fields to preserve when `crossSeriesReducer` is
591         // specified. The `groupByFields` determine how the time series are
592         // partitioned into subsets prior to applying the aggregation
593         // function. Each subset contains time series that have the same
594         // value for each of the grouping fields. Each individual time
595         // series is a member of exactly one subset. The
596         // `crossSeriesReducer` is applied to each subset of time series.
597         // It is not possible to reduce across different resource types, so
598         // this field implicitly contains `resource.type`.  Fields not
599         // specified in `groupByFields` are aggregated away.  If
600         // `groupByFields` is not specified and all the time series have
601         // the same resource type, then the time series are aggregated into
602         // a single output time series. If `crossSeriesReducer` is not
603         // defined, this field is ignored.
604         GroupByFields []string `protobuf:"bytes,5,rep,name=group_by_fields,json=groupByFields" json:"group_by_fields,omitempty"`
605 }
606
607 func (m *Aggregation) Reset()                    { *m = Aggregation{} }
608 func (m *Aggregation) String() string            { return proto.CompactTextString(m) }
609 func (*Aggregation) ProtoMessage()               {}
610 func (*Aggregation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
611
612 func (m *Aggregation) GetAlignmentPeriod() *google_protobuf3.Duration {
613         if m != nil {
614                 return m.AlignmentPeriod
615         }
616         return nil
617 }
618
619 func (m *Aggregation) GetPerSeriesAligner() Aggregation_Aligner {
620         if m != nil {
621                 return m.PerSeriesAligner
622         }
623         return Aggregation_ALIGN_NONE
624 }
625
626 func (m *Aggregation) GetCrossSeriesReducer() Aggregation_Reducer {
627         if m != nil {
628                 return m.CrossSeriesReducer
629         }
630         return Aggregation_REDUCE_NONE
631 }
632
633 func (m *Aggregation) GetGroupByFields() []string {
634         if m != nil {
635                 return m.GroupByFields
636         }
637         return nil
638 }
639
640 func init() {
641         proto.RegisterType((*TypedValue)(nil), "google.monitoring.v3.TypedValue")
642         proto.RegisterType((*TimeInterval)(nil), "google.monitoring.v3.TimeInterval")
643         proto.RegisterType((*Aggregation)(nil), "google.monitoring.v3.Aggregation")
644         proto.RegisterEnum("google.monitoring.v3.Aggregation_Aligner", Aggregation_Aligner_name, Aggregation_Aligner_value)
645         proto.RegisterEnum("google.monitoring.v3.Aggregation_Reducer", Aggregation_Reducer_name, Aggregation_Reducer_value)
646 }
647
648 func init() { proto.RegisterFile("google/monitoring/v3/common.proto", fileDescriptor0) }
649
650 var fileDescriptor0 = []byte{
651         // 780 bytes of a gzipped FileDescriptorProto
652         0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xdd, 0x6a, 0xe3, 0x46,
653         0x14, 0xb6, 0xec, 0x64, 0x1d, 0x1f, 0x39, 0xf1, 0x64, 0xd6, 0x4b, 0xdd, 0x40, 0xbb, 0x5e, 0x17,
654         0x8a, 0x7b, 0x23, 0x87, 0xa4, 0x2e, 0x84, 0x42, 0x41, 0xb1, 0xb5, 0x1b, 0x83, 0x23, 0x9b, 0x59,
655         0x25, 0x0d, 0xed, 0x85, 0x90, 0xa3, 0x59, 0x21, 0x90, 0x35, 0x62, 0x24, 0x19, 0x72, 0xd7, 0xab,
656         0xbe, 0x43, 0x5f, 0x61, 0x1f, 0xa9, 0x0f, 0xd1, 0x67, 0x28, 0x9a, 0x19, 0xad, 0x94, 0xd6, 0xa5,
657         0x7b, 0xf9, 0xfd, 0x9c, 0x6f, 0x74, 0xbe, 0x91, 0x6c, 0x78, 0x13, 0x30, 0x16, 0x44, 0x74, 0xb2,
658         0x65, 0x71, 0x98, 0x31, 0x1e, 0xc6, 0xc1, 0x64, 0x77, 0x39, 0x79, 0x64, 0xdb, 0x2d, 0x8b, 0x8d,
659         0x84, 0xb3, 0x8c, 0xe1, 0xbe, 0xb4, 0x18, 0x95, 0xc5, 0xd8, 0x5d, 0x9e, 0x7d, 0xa5, 0x06, 0xbd,
660         0x24, 0x9c, 0xf8, 0x61, 0x9a, 0xf1, 0x70, 0x93, 0x67, 0x61, 0x39, 0x74, 0xf6, 0xb5, 0x92, 0x05,
661         0xda, 0xe4, 0x1f, 0x26, 0x7e, 0xce, 0xbd, 0x9a, 0xfe, 0xfa, 0x9f, 0x7a, 0x16, 0x6e, 0x69, 0x9a,
662         0x79, 0xdb, 0x44, 0x1a, 0x46, 0x7f, 0x69, 0x00, 0xce, 0x53, 0x42, 0xfd, 0x7b, 0x2f, 0xca, 0x29,
663         0x7e, 0x0d, 0xb0, 0x61, 0x2c, 0x72, 0x77, 0x05, 0x1a, 0x68, 0x43, 0x6d, 0x7c, 0x74, 0xd3, 0x20,
664         0x9d, 0x82, 0x93, 0x86, 0x37, 0xa0, 0x87, 0x71, 0xf6, 0xc3, 0xf7, 0xca, 0xd1, 0x1c, 0x6a, 0xe3,
665         0xd6, 0x4d, 0x83, 0x80, 0x20, 0xa5, 0xe5, 0x1b, 0xe8, 0xfa, 0x2c, 0xdf, 0x44, 0x54, 0x79, 0x5a,
666         0x43, 0x6d, 0xac, 0xdd, 0x34, 0x88, 0x2e, 0xd9, 0x4f, 0xa6, 0x62, 0x99, 0x38, 0x50, 0xa6, 0x83,
667         0xa1, 0x36, 0xee, 0x14, 0x26, 0xc9, 0x4a, 0xd3, 0x02, 0x70, 0x7d, 0x67, 0x65, 0x3d, 0x1c, 0x6a,
668         0x63, 0xfd, 0x62, 0x60, 0xa8, 0xbe, 0xbc, 0x24, 0x34, 0xe6, 0x35, 0xd7, 0x4d, 0x83, 0x9c, 0xd6,
669         0xa7, 0x44, 0xd4, 0x75, 0x1b, 0x0e, 0xc5, 0xf4, 0xe8, 0x37, 0x0d, 0xba, 0x4e, 0xb8, 0xa5, 0x8b,
670         0x38, 0xa3, 0x7c, 0xe7, 0x45, 0x78, 0x0a, 0x47, 0x34, 0xf6, 0xdd, 0xa2, 0x18, 0xb1, 0x8e, 0x7e,
671         0x71, 0x56, 0x46, 0x97, 0xad, 0x19, 0x4e, 0xd9, 0x1a, 0x69, 0xd3, 0xd8, 0x2f, 0x10, 0xbe, 0x02,
672         0x48, 0x33, 0x8f, 0x67, 0x72, 0x50, 0xfb, 0xdf, 0xc1, 0x8e, 0x70, 0x17, 0x78, 0xf4, 0xb1, 0x0d,
673         0xba, 0x19, 0x04, 0x9c, 0x06, 0xe2, 0xaa, 0xf0, 0x1c, 0x90, 0x17, 0x85, 0x41, 0xbc, 0xa5, 0x71,
674         0xe6, 0x26, 0x94, 0x87, 0xcc, 0x57, 0x81, 0x5f, 0xfe, 0x2b, 0x70, 0xae, 0xee, 0x97, 0xf4, 0x3e,
675         0x8d, 0xac, 0xc5, 0x04, 0xfe, 0x19, 0x70, 0x42, 0xb9, 0x9b, 0x52, 0x1e, 0xd2, 0xd4, 0x15, 0x2a,
676         0xe5, 0x62, 0xa3, 0x93, 0x8b, 0xef, 0x8c, 0x7d, 0x2f, 0x97, 0x51, 0x7b, 0x08, 0xc3, 0x94, 0x03,
677         0x04, 0x25, 0x94, 0xbf, 0x17, 0x19, 0x8a, 0xc1, 0xbf, 0x42, 0xff, 0x91, 0xb3, 0x34, 0x2d, 0xa3,
678         0x39, 0xf5, 0xf3, 0x47, 0xca, 0xc5, 0x95, 0x7d, 0x56, 0x34, 0x91, 0x03, 0x04, 0x8b, 0x18, 0x19,
679         0xae, 0x38, 0xfc, 0x2d, 0xf4, 0x02, 0xce, 0xf2, 0xc4, 0xdd, 0x3c, 0xb9, 0x1f, 0x42, 0x1a, 0xf9,
680         0xe9, 0xe0, 0x70, 0xd8, 0x1a, 0x77, 0xc8, 0xb1, 0xa0, 0xaf, 0x9f, 0xde, 0x0a, 0x72, 0xf4, 0x67,
681         0x13, 0xda, 0xe5, 0x03, 0x9d, 0x00, 0x98, 0xcb, 0xc5, 0x3b, 0xdb, 0xb5, 0x57, 0xb6, 0x85, 0x1a,
682         0xb8, 0x07, 0xba, 0xc4, 0x73, 0x6b, 0xe9, 0x98, 0x48, 0xab, 0x0c, 0xc4, 0x74, 0x2c, 0xd4, 0xc4,
683         0xaf, 0xe0, 0x54, 0xe2, 0x85, 0xed, 0x58, 0x64, 0xbd, 0x5a, 0x16, 0x74, 0x0b, 0xf7, 0x01, 0xa9,
684         0x1c, 0xeb, 0xc1, 0x71, 0x57, 0xcb, 0xb9, 0x45, 0xd0, 0x01, 0x3e, 0x86, 0x8e, 0x64, 0x6f, 0x17,
685         0x36, 0x82, 0x1a, 0x34, 0x1f, 0x90, 0x5e, 0x45, 0xdf, 0x5a, 0xa6, 0x8d, 0xba, 0xd5, 0xd9, 0xb3,
686         0xd5, 0x9d, 0xed, 0xa0, 0xe3, 0xca, 0xff, 0xfe, 0xee, 0x16, 0x9d, 0x60, 0x04, 0x5d, 0x05, 0x9d,
687         0xf9, 0xdc, 0xba, 0x47, 0xbd, 0xea, 0x54, 0x31, 0xe1, 0x3a, 0xe4, 0xce, 0x42, 0x08, 0x7f, 0x01,
688         0x2f, 0x25, 0xfb, 0x96, 0x98, 0x33, 0x67, 0xb1, 0xb2, 0xa5, 0x70, 0x5a, 0x09, 0x6b, 0x8b, 0xcc,
689         0x2c, 0xdb, 0x59, 0x2c, 0x2d, 0xf7, 0xea, 0x0a, 0xe1, 0xfd, 0xc2, 0x14, 0xbd, 0xdc, 0x2b, 0x4c,
690         0xcf, 0x51, 0x7f, 0xaf, 0x70, 0x3e, 0x45, 0xaf, 0x46, 0x7f, 0x34, 0xa1, 0x5d, 0x5e, 0x48, 0x0f,
691         0x74, 0x62, 0xcd, 0xef, 0x66, 0x56, 0xad, 0x5d, 0x45, 0x88, 0x95, 0x45, 0xbb, 0x25, 0xb1, 0xb0,
692         0x51, 0xb3, 0x8e, 0xcd, 0x07, 0xd4, 0xaa, 0xe1, 0xa2, 0x82, 0x03, 0x7c, 0x0a, 0xc7, 0x25, 0x96,
693         0x1d, 0x1c, 0x16, 0xad, 0x28, 0x4a, 0xd6, 0xf6, 0xa2, 0xb8, 0xa2, 0x3a, 0x23, 0xb7, 0x6f, 0xe3,
694         0x01, 0xf4, 0x15, 0xfd, 0xbc, 0x97, 0xa3, 0x9a, 0xf2, 0xbc, 0x98, 0xce, 0x7f, 0x28, 0x53, 0x04,
695         0xfb, 0x95, 0xe9, 0x39, 0xd2, 0xf7, 0x2b, 0xe7, 0x53, 0xd4, 0xbd, 0xfe, 0x5d, 0x83, 0xc1, 0x23,
696         0xdb, 0xee, 0x7d, 0xcb, 0xaf, 0xf5, 0x99, 0xf8, 0x05, 0x5f, 0x17, 0x5f, 0xe7, 0x5a, 0xfb, 0xe5,
697         0x27, 0x65, 0x0a, 0x58, 0xe4, 0xc5, 0x81, 0xc1, 0x78, 0x30, 0x09, 0x68, 0x2c, 0xbe, 0xdd, 0x89,
698         0x94, 0xbc, 0x24, 0x4c, 0x9f, 0xff, 0x09, 0xfc, 0x58, 0xa1, 0x8f, 0xcd, 0xb3, 0x77, 0x32, 0x60,
699         0x16, 0xb1, 0xdc, 0x37, 0x6e, 0xab, 0xb3, 0xee, 0x2f, 0x37, 0x2f, 0x44, 0xce, 0xe5, 0xdf, 0x01,
700         0x00, 0x00, 0xff, 0xff, 0x53, 0x47, 0x59, 0x88, 0x4b, 0x06, 0x00, 0x00,
701 }