1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/monitoring/v3/group_service.proto
3
4package monitoring
5
6import (
7	context "context"
8	fmt "fmt"
9	math "math"
10
11	proto "github.com/golang/protobuf/proto"
12	empty "github.com/golang/protobuf/ptypes/empty"
13	_ "google.golang.org/genproto/googleapis/api/annotations"
14	monitoredres "google.golang.org/genproto/googleapis/api/monitoredres"
15	grpc "google.golang.org/grpc"
16	codes "google.golang.org/grpc/codes"
17	status "google.golang.org/grpc/status"
18)
19
20// Reference imports to suppress errors if they are not otherwise used.
21var _ = proto.Marshal
22var _ = fmt.Errorf
23var _ = math.Inf
24
25// This is a compile-time assertion to ensure that this generated file
26// is compatible with the proto package it is being compiled against.
27// A compilation error at this line likely means your copy of the
28// proto package needs to be updated.
29const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
30
31// The `ListGroup` request.
32type ListGroupsRequest struct {
33	// Required. The project whose groups are to be listed. The format is:
34	//
35	//     projects/[PROJECT_ID_OR_NUMBER]
36	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
37	// An optional filter consisting of a single group name.  The filters limit
38	// the groups returned based on their parent-child relationship with the
39	// specified group. If no filter is specified, all groups are returned.
40	//
41	// Types that are valid to be assigned to Filter:
42	//	*ListGroupsRequest_ChildrenOfGroup
43	//	*ListGroupsRequest_AncestorsOfGroup
44	//	*ListGroupsRequest_DescendantsOfGroup
45	Filter isListGroupsRequest_Filter `protobuf_oneof:"filter"`
46	// A positive number that is the maximum number of results to return.
47	PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
48	// If this field is not empty then it must contain the `next_page_token` value
49	// returned by a previous call to this method.  Using this field causes the
50	// method to return additional results from the previous method call.
51	PageToken            string   `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
52	XXX_NoUnkeyedLiteral struct{} `json:"-"`
53	XXX_unrecognized     []byte   `json:"-"`
54	XXX_sizecache        int32    `json:"-"`
55}
56
57func (m *ListGroupsRequest) Reset()         { *m = ListGroupsRequest{} }
58func (m *ListGroupsRequest) String() string { return proto.CompactTextString(m) }
59func (*ListGroupsRequest) ProtoMessage()    {}
60func (*ListGroupsRequest) Descriptor() ([]byte, []int) {
61	return fileDescriptor_21ad21d0ed55c55a, []int{0}
62}
63
64func (m *ListGroupsRequest) XXX_Unmarshal(b []byte) error {
65	return xxx_messageInfo_ListGroupsRequest.Unmarshal(m, b)
66}
67func (m *ListGroupsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
68	return xxx_messageInfo_ListGroupsRequest.Marshal(b, m, deterministic)
69}
70func (m *ListGroupsRequest) XXX_Merge(src proto.Message) {
71	xxx_messageInfo_ListGroupsRequest.Merge(m, src)
72}
73func (m *ListGroupsRequest) XXX_Size() int {
74	return xxx_messageInfo_ListGroupsRequest.Size(m)
75}
76func (m *ListGroupsRequest) XXX_DiscardUnknown() {
77	xxx_messageInfo_ListGroupsRequest.DiscardUnknown(m)
78}
79
80var xxx_messageInfo_ListGroupsRequest proto.InternalMessageInfo
81
82func (m *ListGroupsRequest) GetName() string {
83	if m != nil {
84		return m.Name
85	}
86	return ""
87}
88
89type isListGroupsRequest_Filter interface {
90	isListGroupsRequest_Filter()
91}
92
93type ListGroupsRequest_ChildrenOfGroup struct {
94	ChildrenOfGroup string `protobuf:"bytes,2,opt,name=children_of_group,json=childrenOfGroup,proto3,oneof"`
95}
96
97type ListGroupsRequest_AncestorsOfGroup struct {
98	AncestorsOfGroup string `protobuf:"bytes,3,opt,name=ancestors_of_group,json=ancestorsOfGroup,proto3,oneof"`
99}
100
101type ListGroupsRequest_DescendantsOfGroup struct {
102	DescendantsOfGroup string `protobuf:"bytes,4,opt,name=descendants_of_group,json=descendantsOfGroup,proto3,oneof"`
103}
104
105func (*ListGroupsRequest_ChildrenOfGroup) isListGroupsRequest_Filter() {}
106
107func (*ListGroupsRequest_AncestorsOfGroup) isListGroupsRequest_Filter() {}
108
109func (*ListGroupsRequest_DescendantsOfGroup) isListGroupsRequest_Filter() {}
110
111func (m *ListGroupsRequest) GetFilter() isListGroupsRequest_Filter {
112	if m != nil {
113		return m.Filter
114	}
115	return nil
116}
117
118func (m *ListGroupsRequest) GetChildrenOfGroup() string {
119	if x, ok := m.GetFilter().(*ListGroupsRequest_ChildrenOfGroup); ok {
120		return x.ChildrenOfGroup
121	}
122	return ""
123}
124
125func (m *ListGroupsRequest) GetAncestorsOfGroup() string {
126	if x, ok := m.GetFilter().(*ListGroupsRequest_AncestorsOfGroup); ok {
127		return x.AncestorsOfGroup
128	}
129	return ""
130}
131
132func (m *ListGroupsRequest) GetDescendantsOfGroup() string {
133	if x, ok := m.GetFilter().(*ListGroupsRequest_DescendantsOfGroup); ok {
134		return x.DescendantsOfGroup
135	}
136	return ""
137}
138
139func (m *ListGroupsRequest) GetPageSize() int32 {
140	if m != nil {
141		return m.PageSize
142	}
143	return 0
144}
145
146func (m *ListGroupsRequest) GetPageToken() string {
147	if m != nil {
148		return m.PageToken
149	}
150	return ""
151}
152
153// XXX_OneofWrappers is for the internal use of the proto package.
154func (*ListGroupsRequest) XXX_OneofWrappers() []interface{} {
155	return []interface{}{
156		(*ListGroupsRequest_ChildrenOfGroup)(nil),
157		(*ListGroupsRequest_AncestorsOfGroup)(nil),
158		(*ListGroupsRequest_DescendantsOfGroup)(nil),
159	}
160}
161
162// The `ListGroups` response.
163type ListGroupsResponse struct {
164	// The groups that match the specified filters.
165	Group []*Group `protobuf:"bytes,1,rep,name=group,proto3" json:"group,omitempty"`
166	// If there are more results than have been returned, then this field is set
167	// to a non-empty value.  To see the additional results,
168	// use that value as `page_token` in the next call to this method.
169	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
170	XXX_NoUnkeyedLiteral struct{} `json:"-"`
171	XXX_unrecognized     []byte   `json:"-"`
172	XXX_sizecache        int32    `json:"-"`
173}
174
175func (m *ListGroupsResponse) Reset()         { *m = ListGroupsResponse{} }
176func (m *ListGroupsResponse) String() string { return proto.CompactTextString(m) }
177func (*ListGroupsResponse) ProtoMessage()    {}
178func (*ListGroupsResponse) Descriptor() ([]byte, []int) {
179	return fileDescriptor_21ad21d0ed55c55a, []int{1}
180}
181
182func (m *ListGroupsResponse) XXX_Unmarshal(b []byte) error {
183	return xxx_messageInfo_ListGroupsResponse.Unmarshal(m, b)
184}
185func (m *ListGroupsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
186	return xxx_messageInfo_ListGroupsResponse.Marshal(b, m, deterministic)
187}
188func (m *ListGroupsResponse) XXX_Merge(src proto.Message) {
189	xxx_messageInfo_ListGroupsResponse.Merge(m, src)
190}
191func (m *ListGroupsResponse) XXX_Size() int {
192	return xxx_messageInfo_ListGroupsResponse.Size(m)
193}
194func (m *ListGroupsResponse) XXX_DiscardUnknown() {
195	xxx_messageInfo_ListGroupsResponse.DiscardUnknown(m)
196}
197
198var xxx_messageInfo_ListGroupsResponse proto.InternalMessageInfo
199
200func (m *ListGroupsResponse) GetGroup() []*Group {
201	if m != nil {
202		return m.Group
203	}
204	return nil
205}
206
207func (m *ListGroupsResponse) GetNextPageToken() string {
208	if m != nil {
209		return m.NextPageToken
210	}
211	return ""
212}
213
214// The `GetGroup` request.
215type GetGroupRequest struct {
216	// Required. The group to retrieve. The format is:
217	//
218	//     projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
219	Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
220	XXX_NoUnkeyedLiteral struct{} `json:"-"`
221	XXX_unrecognized     []byte   `json:"-"`
222	XXX_sizecache        int32    `json:"-"`
223}
224
225func (m *GetGroupRequest) Reset()         { *m = GetGroupRequest{} }
226func (m *GetGroupRequest) String() string { return proto.CompactTextString(m) }
227func (*GetGroupRequest) ProtoMessage()    {}
228func (*GetGroupRequest) Descriptor() ([]byte, []int) {
229	return fileDescriptor_21ad21d0ed55c55a, []int{2}
230}
231
232func (m *GetGroupRequest) XXX_Unmarshal(b []byte) error {
233	return xxx_messageInfo_GetGroupRequest.Unmarshal(m, b)
234}
235func (m *GetGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
236	return xxx_messageInfo_GetGroupRequest.Marshal(b, m, deterministic)
237}
238func (m *GetGroupRequest) XXX_Merge(src proto.Message) {
239	xxx_messageInfo_GetGroupRequest.Merge(m, src)
240}
241func (m *GetGroupRequest) XXX_Size() int {
242	return xxx_messageInfo_GetGroupRequest.Size(m)
243}
244func (m *GetGroupRequest) XXX_DiscardUnknown() {
245	xxx_messageInfo_GetGroupRequest.DiscardUnknown(m)
246}
247
248var xxx_messageInfo_GetGroupRequest proto.InternalMessageInfo
249
250func (m *GetGroupRequest) GetName() string {
251	if m != nil {
252		return m.Name
253	}
254	return ""
255}
256
257// The `CreateGroup` request.
258type CreateGroupRequest struct {
259	// Required. The project in which to create the group. The format is:
260	//
261	//     projects/[PROJECT_ID_OR_NUMBER]
262	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
263	// Required. A group definition. It is an error to define the `name` field because
264	// the system assigns the name.
265	Group *Group `protobuf:"bytes,2,opt,name=group,proto3" json:"group,omitempty"`
266	// If true, validate this request but do not create the group.
267	ValidateOnly         bool     `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
268	XXX_NoUnkeyedLiteral struct{} `json:"-"`
269	XXX_unrecognized     []byte   `json:"-"`
270	XXX_sizecache        int32    `json:"-"`
271}
272
273func (m *CreateGroupRequest) Reset()         { *m = CreateGroupRequest{} }
274func (m *CreateGroupRequest) String() string { return proto.CompactTextString(m) }
275func (*CreateGroupRequest) ProtoMessage()    {}
276func (*CreateGroupRequest) Descriptor() ([]byte, []int) {
277	return fileDescriptor_21ad21d0ed55c55a, []int{3}
278}
279
280func (m *CreateGroupRequest) XXX_Unmarshal(b []byte) error {
281	return xxx_messageInfo_CreateGroupRequest.Unmarshal(m, b)
282}
283func (m *CreateGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
284	return xxx_messageInfo_CreateGroupRequest.Marshal(b, m, deterministic)
285}
286func (m *CreateGroupRequest) XXX_Merge(src proto.Message) {
287	xxx_messageInfo_CreateGroupRequest.Merge(m, src)
288}
289func (m *CreateGroupRequest) XXX_Size() int {
290	return xxx_messageInfo_CreateGroupRequest.Size(m)
291}
292func (m *CreateGroupRequest) XXX_DiscardUnknown() {
293	xxx_messageInfo_CreateGroupRequest.DiscardUnknown(m)
294}
295
296var xxx_messageInfo_CreateGroupRequest proto.InternalMessageInfo
297
298func (m *CreateGroupRequest) GetName() string {
299	if m != nil {
300		return m.Name
301	}
302	return ""
303}
304
305func (m *CreateGroupRequest) GetGroup() *Group {
306	if m != nil {
307		return m.Group
308	}
309	return nil
310}
311
312func (m *CreateGroupRequest) GetValidateOnly() bool {
313	if m != nil {
314		return m.ValidateOnly
315	}
316	return false
317}
318
319// The `UpdateGroup` request.
320type UpdateGroupRequest struct {
321	// Required. The new definition of the group.  All fields of the existing group,
322	// excepting `name`, are replaced with the corresponding fields of this group.
323	Group *Group `protobuf:"bytes,2,opt,name=group,proto3" json:"group,omitempty"`
324	// If true, validate this request but do not update the existing group.
325	ValidateOnly         bool     `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
326	XXX_NoUnkeyedLiteral struct{} `json:"-"`
327	XXX_unrecognized     []byte   `json:"-"`
328	XXX_sizecache        int32    `json:"-"`
329}
330
331func (m *UpdateGroupRequest) Reset()         { *m = UpdateGroupRequest{} }
332func (m *UpdateGroupRequest) String() string { return proto.CompactTextString(m) }
333func (*UpdateGroupRequest) ProtoMessage()    {}
334func (*UpdateGroupRequest) Descriptor() ([]byte, []int) {
335	return fileDescriptor_21ad21d0ed55c55a, []int{4}
336}
337
338func (m *UpdateGroupRequest) XXX_Unmarshal(b []byte) error {
339	return xxx_messageInfo_UpdateGroupRequest.Unmarshal(m, b)
340}
341func (m *UpdateGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
342	return xxx_messageInfo_UpdateGroupRequest.Marshal(b, m, deterministic)
343}
344func (m *UpdateGroupRequest) XXX_Merge(src proto.Message) {
345	xxx_messageInfo_UpdateGroupRequest.Merge(m, src)
346}
347func (m *UpdateGroupRequest) XXX_Size() int {
348	return xxx_messageInfo_UpdateGroupRequest.Size(m)
349}
350func (m *UpdateGroupRequest) XXX_DiscardUnknown() {
351	xxx_messageInfo_UpdateGroupRequest.DiscardUnknown(m)
352}
353
354var xxx_messageInfo_UpdateGroupRequest proto.InternalMessageInfo
355
356func (m *UpdateGroupRequest) GetGroup() *Group {
357	if m != nil {
358		return m.Group
359	}
360	return nil
361}
362
363func (m *UpdateGroupRequest) GetValidateOnly() bool {
364	if m != nil {
365		return m.ValidateOnly
366	}
367	return false
368}
369
370// The `DeleteGroup` request. The default behavior is to be able to delete a
371// single group without any descendants.
372type DeleteGroupRequest struct {
373	// Required. The group to delete. The format is:
374	//
375	//     projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
376	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
377	// If this field is true, then the request means to delete a group with all
378	// its descendants. Otherwise, the request means to delete a group only when
379	// it has no descendants. The default value is false.
380	Recursive            bool     `protobuf:"varint,4,opt,name=recursive,proto3" json:"recursive,omitempty"`
381	XXX_NoUnkeyedLiteral struct{} `json:"-"`
382	XXX_unrecognized     []byte   `json:"-"`
383	XXX_sizecache        int32    `json:"-"`
384}
385
386func (m *DeleteGroupRequest) Reset()         { *m = DeleteGroupRequest{} }
387func (m *DeleteGroupRequest) String() string { return proto.CompactTextString(m) }
388func (*DeleteGroupRequest) ProtoMessage()    {}
389func (*DeleteGroupRequest) Descriptor() ([]byte, []int) {
390	return fileDescriptor_21ad21d0ed55c55a, []int{5}
391}
392
393func (m *DeleteGroupRequest) XXX_Unmarshal(b []byte) error {
394	return xxx_messageInfo_DeleteGroupRequest.Unmarshal(m, b)
395}
396func (m *DeleteGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
397	return xxx_messageInfo_DeleteGroupRequest.Marshal(b, m, deterministic)
398}
399func (m *DeleteGroupRequest) XXX_Merge(src proto.Message) {
400	xxx_messageInfo_DeleteGroupRequest.Merge(m, src)
401}
402func (m *DeleteGroupRequest) XXX_Size() int {
403	return xxx_messageInfo_DeleteGroupRequest.Size(m)
404}
405func (m *DeleteGroupRequest) XXX_DiscardUnknown() {
406	xxx_messageInfo_DeleteGroupRequest.DiscardUnknown(m)
407}
408
409var xxx_messageInfo_DeleteGroupRequest proto.InternalMessageInfo
410
411func (m *DeleteGroupRequest) GetName() string {
412	if m != nil {
413		return m.Name
414	}
415	return ""
416}
417
418func (m *DeleteGroupRequest) GetRecursive() bool {
419	if m != nil {
420		return m.Recursive
421	}
422	return false
423}
424
425// The `ListGroupMembers` request.
426type ListGroupMembersRequest struct {
427	// Required. The group whose members are listed. The format is:
428	//
429	//     projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
430	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
431	// A positive number that is the maximum number of results to return.
432	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
433	// If this field is not empty then it must contain the `next_page_token` value
434	// returned by a previous call to this method.  Using this field causes the
435	// method to return additional results from the previous method call.
436	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
437	// An optional [list
438	// filter](https://cloud.google.com/monitoring/api/learn_more#filtering)
439	// describing the members to be returned.  The filter may reference the type,
440	// labels, and metadata of monitored resources that comprise the group. For
441	// example, to return only resources representing Compute Engine VM instances,
442	// use this filter:
443	//
444	//     `resource.type = "gce_instance"`
445	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
446	// An optional time interval for which results should be returned. Only
447	// members that were part of the group during the specified interval are
448	// included in the response.  If no interval is provided then the group
449	// membership over the last minute is returned.
450	Interval             *TimeInterval `protobuf:"bytes,6,opt,name=interval,proto3" json:"interval,omitempty"`
451	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
452	XXX_unrecognized     []byte        `json:"-"`
453	XXX_sizecache        int32         `json:"-"`
454}
455
456func (m *ListGroupMembersRequest) Reset()         { *m = ListGroupMembersRequest{} }
457func (m *ListGroupMembersRequest) String() string { return proto.CompactTextString(m) }
458func (*ListGroupMembersRequest) ProtoMessage()    {}
459func (*ListGroupMembersRequest) Descriptor() ([]byte, []int) {
460	return fileDescriptor_21ad21d0ed55c55a, []int{6}
461}
462
463func (m *ListGroupMembersRequest) XXX_Unmarshal(b []byte) error {
464	return xxx_messageInfo_ListGroupMembersRequest.Unmarshal(m, b)
465}
466func (m *ListGroupMembersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
467	return xxx_messageInfo_ListGroupMembersRequest.Marshal(b, m, deterministic)
468}
469func (m *ListGroupMembersRequest) XXX_Merge(src proto.Message) {
470	xxx_messageInfo_ListGroupMembersRequest.Merge(m, src)
471}
472func (m *ListGroupMembersRequest) XXX_Size() int {
473	return xxx_messageInfo_ListGroupMembersRequest.Size(m)
474}
475func (m *ListGroupMembersRequest) XXX_DiscardUnknown() {
476	xxx_messageInfo_ListGroupMembersRequest.DiscardUnknown(m)
477}
478
479var xxx_messageInfo_ListGroupMembersRequest proto.InternalMessageInfo
480
481func (m *ListGroupMembersRequest) GetName() string {
482	if m != nil {
483		return m.Name
484	}
485	return ""
486}
487
488func (m *ListGroupMembersRequest) GetPageSize() int32 {
489	if m != nil {
490		return m.PageSize
491	}
492	return 0
493}
494
495func (m *ListGroupMembersRequest) GetPageToken() string {
496	if m != nil {
497		return m.PageToken
498	}
499	return ""
500}
501
502func (m *ListGroupMembersRequest) GetFilter() string {
503	if m != nil {
504		return m.Filter
505	}
506	return ""
507}
508
509func (m *ListGroupMembersRequest) GetInterval() *TimeInterval {
510	if m != nil {
511		return m.Interval
512	}
513	return nil
514}
515
516// The `ListGroupMembers` response.
517type ListGroupMembersResponse struct {
518	// A set of monitored resources in the group.
519	Members []*monitoredres.MonitoredResource `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"`
520	// If there are more results than have been returned, then this field is
521	// set to a non-empty value.  To see the additional results, use that value as
522	// `page_token` in the next call to this method.
523	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
524	// The total number of elements matching this request.
525	TotalSize            int32    `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
526	XXX_NoUnkeyedLiteral struct{} `json:"-"`
527	XXX_unrecognized     []byte   `json:"-"`
528	XXX_sizecache        int32    `json:"-"`
529}
530
531func (m *ListGroupMembersResponse) Reset()         { *m = ListGroupMembersResponse{} }
532func (m *ListGroupMembersResponse) String() string { return proto.CompactTextString(m) }
533func (*ListGroupMembersResponse) ProtoMessage()    {}
534func (*ListGroupMembersResponse) Descriptor() ([]byte, []int) {
535	return fileDescriptor_21ad21d0ed55c55a, []int{7}
536}
537
538func (m *ListGroupMembersResponse) XXX_Unmarshal(b []byte) error {
539	return xxx_messageInfo_ListGroupMembersResponse.Unmarshal(m, b)
540}
541func (m *ListGroupMembersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
542	return xxx_messageInfo_ListGroupMembersResponse.Marshal(b, m, deterministic)
543}
544func (m *ListGroupMembersResponse) XXX_Merge(src proto.Message) {
545	xxx_messageInfo_ListGroupMembersResponse.Merge(m, src)
546}
547func (m *ListGroupMembersResponse) XXX_Size() int {
548	return xxx_messageInfo_ListGroupMembersResponse.Size(m)
549}
550func (m *ListGroupMembersResponse) XXX_DiscardUnknown() {
551	xxx_messageInfo_ListGroupMembersResponse.DiscardUnknown(m)
552}
553
554var xxx_messageInfo_ListGroupMembersResponse proto.InternalMessageInfo
555
556func (m *ListGroupMembersResponse) GetMembers() []*monitoredres.MonitoredResource {
557	if m != nil {
558		return m.Members
559	}
560	return nil
561}
562
563func (m *ListGroupMembersResponse) GetNextPageToken() string {
564	if m != nil {
565		return m.NextPageToken
566	}
567	return ""
568}
569
570func (m *ListGroupMembersResponse) GetTotalSize() int32 {
571	if m != nil {
572		return m.TotalSize
573	}
574	return 0
575}
576
577func init() {
578	proto.RegisterType((*ListGroupsRequest)(nil), "google.monitoring.v3.ListGroupsRequest")
579	proto.RegisterType((*ListGroupsResponse)(nil), "google.monitoring.v3.ListGroupsResponse")
580	proto.RegisterType((*GetGroupRequest)(nil), "google.monitoring.v3.GetGroupRequest")
581	proto.RegisterType((*CreateGroupRequest)(nil), "google.monitoring.v3.CreateGroupRequest")
582	proto.RegisterType((*UpdateGroupRequest)(nil), "google.monitoring.v3.UpdateGroupRequest")
583	proto.RegisterType((*DeleteGroupRequest)(nil), "google.monitoring.v3.DeleteGroupRequest")
584	proto.RegisterType((*ListGroupMembersRequest)(nil), "google.monitoring.v3.ListGroupMembersRequest")
585	proto.RegisterType((*ListGroupMembersResponse)(nil), "google.monitoring.v3.ListGroupMembersResponse")
586}
587
588func init() {
589	proto.RegisterFile("google/monitoring/v3/group_service.proto", fileDescriptor_21ad21d0ed55c55a)
590}
591
592var fileDescriptor_21ad21d0ed55c55a = []byte{
593	// 999 bytes of a gzipped FileDescriptorProto
594	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0x1b, 0x45,
595	0x14, 0x67, 0xed, 0x24, 0xb5, 0xc7, 0xad, 0xd2, 0x8c, 0xaa, 0xd6, 0xdd, 0xa4, 0xad, 0xb3, 0xfd,
596	0x67, 0x85, 0x66, 0x57, 0xc4, 0xe2, 0x8f, 0x1a, 0x51, 0xc9, 0x2e, 0x28, 0x20, 0x51, 0x1a, 0x6d,
597	0x43, 0x85, 0x50, 0x24, 0x6b, 0xb2, 0x7e, 0x76, 0x06, 0x76, 0x67, 0xb6, 0xb3, 0x63, 0x87, 0x14,
598	0x85, 0x03, 0x37, 0x24, 0x84, 0x84, 0xb8, 0xa0, 0x7e, 0x02, 0xca, 0x81, 0x0f, 0xd2, 0x23, 0xdc,
599	0x72, 0xea, 0x81, 0x13, 0x1f, 0xa1, 0x27, 0xb4, 0xb3, 0x3b, 0xf1, 0xc6, 0x7f, 0x93, 0x48, 0x1c,
600	0xf7, 0xbd, 0xdf, 0xbc, 0xdf, 0x7b, 0x6f, 0xde, 0xfb, 0xcd, 0xa2, 0x6a, 0x87, 0xf3, 0x8e, 0x0f,
601	0x4e, 0xc0, 0x19, 0x95, 0x5c, 0x50, 0xd6, 0x71, 0x7a, 0x35, 0xa7, 0x23, 0x78, 0x37, 0x6c, 0x46,
602	0x20, 0x7a, 0xd4, 0x03, 0x3b, 0x14, 0x5c, 0x72, 0x7c, 0x29, 0x41, 0xda, 0x7d, 0xa4, 0xdd, 0xab,
603	0x99, 0x4b, 0xe9, 0x79, 0x12, 0x52, 0x87, 0x30, 0xc6, 0x25, 0x91, 0x94, 0xb3, 0x28, 0x39, 0x63,
604	0x5e, 0xc9, 0x78, 0x3d, 0x9f, 0x02, 0x93, 0xa9, 0xe3, 0x46, 0xc6, 0xd1, 0xa6, 0xe0, 0xb7, 0x9a,
605	0x3b, 0xb0, 0x4b, 0x7a, 0x94, 0x8b, 0x14, 0x70, 0x33, 0x03, 0x48, 0x19, 0xa1, 0xd5, 0x14, 0x10,
606	0xf1, 0xae, 0xd0, 0x29, 0x99, 0x57, 0x33, 0xa0, 0x01, 0xd7, 0xf2, 0xc8, 0xba, 0x3c, 0x1e, 0x04,
607	0x9c, 0xa5, 0x90, 0xca, 0xf8, 0xd2, 0x53, 0xc4, 0x62, 0x8a, 0x50, 0x5f, 0x3b, 0xdd, 0xb6, 0x03,
608	0x41, 0x28, 0xf7, 0x13, 0xa7, 0xf5, 0x22, 0x8f, 0x16, 0x3e, 0xa3, 0x91, 0xdc, 0x88, 0x0f, 0x44,
609	0x2e, 0x3c, 0xeb, 0x42, 0x24, 0xf1, 0x3a, 0x9a, 0x61, 0x24, 0x80, 0xf2, 0xb9, 0x8a, 0x51, 0x2d,
610	0x36, 0xee, 0xbe, 0xae, 0xe7, 0xde, 0xd4, 0x97, 0xf1, 0x8d, 0x4c, 0xd3, 0x92, 0x98, 0x24, 0xa4,
611	0x91, 0xed, 0xf1, 0xc0, 0x51, 0xc7, 0x5d, 0x75, 0x08, 0xbb, 0x68, 0xc1, 0xdb, 0xa5, 0x7e, 0x4b,
612	0x00, 0x6b, 0xf2, 0x76, 0x53, 0xa5, 0x52, 0xce, 0xa9, 0x48, 0xb7, 0xde, 0xd4, 0x97, 0xd1, 0xb4,
613	0x30, 0x9f, 0xbc, 0xe5, 0xce, 0xeb, 0x00, 0x8f, 0xdb, 0xca, 0x84, 0xb7, 0x10, 0x26, 0xcc, 0x83,
614	0x48, 0x72, 0x11, 0xf5, 0x83, 0xe6, 0x4f, 0x15, 0xf4, 0xe2, 0x51, 0x04, 0x1d, 0xf5, 0x4b, 0x74,
615	0xa9, 0x05, 0x91, 0x07, 0xac, 0x45, 0x98, 0xcc, 0xc4, 0x9d, 0x39, 0x55, 0x5c, 0x9c, 0x89, 0xa1,
616	0x23, 0x2f, 0xa2, 0x62, 0x48, 0x3a, 0xd0, 0x8c, 0xe8, 0x73, 0x28, 0xcf, 0x56, 0x8c, 0xea, 0xac,
617	0x5b, 0x88, 0x0d, 0x4f, 0xe8, 0x73, 0xc0, 0xd7, 0x10, 0x52, 0x4e, 0xc9, 0xbf, 0x01, 0x56, 0x9e,
618	0x8b, 0xc9, 0x5c, 0x05, 0xdf, 0x8a, 0x0d, 0x8d, 0x02, 0x9a, 0x6b, 0x53, 0x5f, 0x82, 0xb0, 0x38,
619	0xc2, 0xd9, 0xbb, 0x89, 0x42, 0xce, 0x22, 0xc0, 0xef, 0xa0, 0xd9, 0x24, 0x4d, 0xa3, 0x92, 0xaf,
620	0x96, 0xd6, 0x16, 0xed, 0x51, 0x23, 0x6d, 0x27, 0x37, 0x92, 0x20, 0xf1, 0x1d, 0x34, 0xcf, 0xe0,
621	0x5b, 0xd9, 0xcc, 0xd0, 0xaa, 0x0b, 0x71, 0x2f, 0xc4, 0xe6, 0x4d, 0x4d, 0x6d, 0x7d, 0x8e, 0xe6,
622	0x37, 0x20, 0xe1, 0x1b, 0x1c, 0x85, 0x7c, 0x76, 0x14, 0xd0, 0xc9, 0x46, 0xc1, 0xfa, 0xd3, 0x40,
623	0xf8, 0xa1, 0x00, 0x22, 0x61, 0x64, 0xcc, 0x99, 0xb3, 0x8c, 0xd7, 0x7b, 0xba, 0xfc, 0xb8, 0x82,
624	0xc9, 0xe5, 0x37, 0xf2, 0xaf, 0xeb, 0x39, 0xdd, 0x83, 0x9b, 0xe8, 0x42, 0x8f, 0xf8, 0xb4, 0x45,
625	0x24, 0x34, 0x39, 0xf3, 0xf7, 0x55, 0x45, 0x05, 0xf7, 0xbc, 0x36, 0x3e, 0x66, 0xfe, 0xbe, 0xf5,
626	0x0c, 0xe1, 0x2f, 0xc2, 0xd6, 0x60, 0xbe, 0xff, 0x2b, 0x25, 0x47, 0xf8, 0x23, 0xf0, 0x61, 0x4c,
627	0x8b, 0xce, 0xd2, 0x76, 0xbc, 0x84, 0x8a, 0x02, 0xbc, 0xae, 0x88, 0x68, 0x2f, 0x69, 0x72, 0xc1,
628	0xed, 0x1b, 0xac, 0x7f, 0x0d, 0x74, 0xe5, 0x68, 0xac, 0x1e, 0x41, 0xb0, 0x03, 0x62, 0xf2, 0xe2,
629	0x9f, 0x94, 0xf6, 0xd8, 0xd0, 0xe7, 0x27, 0x0e, 0xfd, 0xcc, 0xc0, 0xd0, 0xe3, 0xcb, 0x7a, 0xe8,
630	0xd5, 0xb6, 0x14, 0xdd, 0xf4, 0x0b, 0x3f, 0x40, 0x05, 0xca, 0x24, 0x88, 0x1e, 0xf1, 0xd5, 0xa6,
631	0x94, 0xd6, 0xac, 0xd1, 0xdd, 0xdf, 0xa2, 0x01, 0x7c, 0x9a, 0x22, 0xdd, 0xa3, 0x33, 0xd6, 0x0b,
632	0x03, 0x95, 0x87, 0x8b, 0x4d, 0x37, 0xe9, 0x7d, 0x74, 0x2e, 0x48, 0x4c, 0xe9, 0x2e, 0x5d, 0xd3,
633	0xb1, 0x49, 0x48, 0xed, 0x47, 0x5a, 0xb0, 0xdd, 0x54, 0x94, 0x5d, 0x8d, 0x3e, 0xe9, 0x3e, 0xc5,
634	0x45, 0x4b, 0x2e, 0x89, 0x9f, 0x6d, 0x49, 0x51, 0x59, 0xe2, 0x9e, 0xac, 0xfd, 0x56, 0x40, 0xe7,
635	0x55, 0x62, 0x4f, 0x92, 0x37, 0x0a, 0xff, 0x64, 0x20, 0xd4, 0xdf, 0x78, 0x7c, 0x77, 0x74, 0xa9,
636	0x43, 0x7a, 0x6d, 0x56, 0xa7, 0x03, 0x93, 0x92, 0xad, 0xb7, 0x0f, 0xeb, 0xea, 0xb2, 0x7e, 0xf8,
637	0xfb, 0x9f, 0x5f, 0x73, 0xd7, 0xf1, 0x52, 0xfc, 0x58, 0x7c, 0x17, 0x1b, 0x3e, 0x0c, 0x05, 0xff,
638	0x1a, 0x3c, 0x19, 0x39, 0x2b, 0x07, 0xc9, 0xf3, 0x11, 0xe1, 0x03, 0x54, 0xd0, 0x72, 0x80, 0x6f,
639	0x8f, 0x19, 0xfa, 0xe3, 0x72, 0x61, 0x4e, 0xda, 0x0d, 0x6b, 0x35, 0x4b, 0x5e, 0xc1, 0xd7, 0x47,
640	0x91, 0xa7, 0xdc, 0xce, 0xca, 0x01, 0xfe, 0xd9, 0x40, 0xa5, 0x8c, 0x7a, 0xe0, 0x31, 0x55, 0x0e,
641	0x0b, 0xcc, 0xe4, 0x2c, 0x3e, 0x38, 0xac, 0xa3, 0x98, 0xf4, 0x9e, 0x62, 0x52, 0xb9, 0xdc, 0xb6,
642	0x26, 0x36, 0xe2, 0x7e, 0xba, 0xcf, 0xbf, 0x18, 0xa8, 0x94, 0x91, 0x87, 0x71, 0x09, 0x0d, 0x2b,
643	0xc8, 0xe4, 0x84, 0xd6, 0x0f, 0xeb, 0xb3, 0xfd, 0x5c, 0x56, 0xcd, 0x5b, 0x2a, 0x97, 0xe4, 0x09,
644	0x1f, 0xdb, 0x1d, 0x9d, 0xd3, 0xf7, 0xa8, 0x94, 0x91, 0x8f, 0x71, 0x29, 0x0d, 0x2b, 0x8c, 0x79,
645	0x59, 0x23, 0xf5, 0x7f, 0x81, 0xfd, 0x71, 0xfc, 0x5f, 0x30, 0x70, 0x49, 0x2b, 0xd3, 0x2e, 0xe9,
646	0x77, 0x03, 0x5d, 0x1c, 0x5c, 0x30, 0xbc, 0x3a, 0x65, 0x1e, 0x8f, 0xab, 0x8e, 0x69, 0x9f, 0x14,
647	0x9e, 0x0e, 0xf1, 0xbb, 0xd9, 0x14, 0xab, 0xf8, 0xce, 0xe4, 0x14, 0x9d, 0x74, 0x6b, 0xcd, 0x97,
648	0xc6, 0xab, 0xfa, 0xd5, 0xb1, 0x52, 0xf6, 0x57, 0xfd, 0x47, 0x63, 0x57, 0xca, 0x30, 0xba, 0xef,
649	0x38, 0x7b, 0x7b, 0x7b, 0x83, 0x42, 0x47, 0xba, 0x72, 0xd7, 0xf1, 0x7c, 0xde, 0x6d, 0xad, 0x86,
650	0x3e, 0x91, 0x6d, 0x2e, 0x82, 0x7b, 0xd3, 0xe0, 0x7d, 0xae, 0x53, 0x40, 0x6d, 0x01, 0xa4, 0xd5,
651	0x78, 0x69, 0xa0, 0xb2, 0xc7, 0x83, 0x91, 0x8d, 0x69, 0x2c, 0x64, 0x45, 0x63, 0x33, 0xbe, 0xbe,
652	0x4d, 0xe3, 0xab, 0x07, 0x29, 0xb4, 0xc3, 0x7d, 0xc2, 0x3a, 0x36, 0x17, 0x1d, 0xa7, 0x03, 0x4c,
653	0x5d, 0xae, 0xd3, 0x67, 0x3c, 0xfe, 0x9f, 0xb8, 0xde, 0xff, 0xfa, 0x23, 0x67, 0x6e, 0x24, 0x01,
654	0x1e, 0xc6, 0x45, 0x6a, 0xf5, 0x8b, 0x19, 0x9f, 0xd6, 0x5e, 0x69, 0xe7, 0xb6, 0x72, 0x6e, 0xf7,
655	0x9d, 0xdb, 0x4f, 0x6b, 0x3b, 0x73, 0x8a, 0xa4, 0xf6, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3c,
656	0x8b, 0xf0, 0x28, 0x86, 0x0b, 0x00, 0x00,
657}
658
659// Reference imports to suppress errors if they are not otherwise used.
660var _ context.Context
661var _ grpc.ClientConnInterface
662
663// This is a compile-time assertion to ensure that this generated file
664// is compatible with the grpc package it is being compiled against.
665const _ = grpc.SupportPackageIsVersion6
666
667// GroupServiceClient is the client API for GroupService service.
668//
669// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
670type GroupServiceClient interface {
671	// Lists the existing groups.
672	ListGroups(ctx context.Context, in *ListGroupsRequest, opts ...grpc.CallOption) (*ListGroupsResponse, error)
673	// Gets a single group.
674	GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*Group, error)
675	// Creates a new group.
676	CreateGroup(ctx context.Context, in *CreateGroupRequest, opts ...grpc.CallOption) (*Group, error)
677	// Updates an existing group.
678	// You can change any group attributes except `name`.
679	UpdateGroup(ctx context.Context, in *UpdateGroupRequest, opts ...grpc.CallOption) (*Group, error)
680	// Deletes an existing group.
681	DeleteGroup(ctx context.Context, in *DeleteGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
682	// Lists the monitored resources that are members of a group.
683	ListGroupMembers(ctx context.Context, in *ListGroupMembersRequest, opts ...grpc.CallOption) (*ListGroupMembersResponse, error)
684}
685
686type groupServiceClient struct {
687	cc grpc.ClientConnInterface
688}
689
690func NewGroupServiceClient(cc grpc.ClientConnInterface) GroupServiceClient {
691	return &groupServiceClient{cc}
692}
693
694func (c *groupServiceClient) ListGroups(ctx context.Context, in *ListGroupsRequest, opts ...grpc.CallOption) (*ListGroupsResponse, error) {
695	out := new(ListGroupsResponse)
696	err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/ListGroups", in, out, opts...)
697	if err != nil {
698		return nil, err
699	}
700	return out, nil
701}
702
703func (c *groupServiceClient) GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*Group, error) {
704	out := new(Group)
705	err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/GetGroup", in, out, opts...)
706	if err != nil {
707		return nil, err
708	}
709	return out, nil
710}
711
712func (c *groupServiceClient) CreateGroup(ctx context.Context, in *CreateGroupRequest, opts ...grpc.CallOption) (*Group, error) {
713	out := new(Group)
714	err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/CreateGroup", in, out, opts...)
715	if err != nil {
716		return nil, err
717	}
718	return out, nil
719}
720
721func (c *groupServiceClient) UpdateGroup(ctx context.Context, in *UpdateGroupRequest, opts ...grpc.CallOption) (*Group, error) {
722	out := new(Group)
723	err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/UpdateGroup", in, out, opts...)
724	if err != nil {
725		return nil, err
726	}
727	return out, nil
728}
729
730func (c *groupServiceClient) DeleteGroup(ctx context.Context, in *DeleteGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
731	out := new(empty.Empty)
732	err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/DeleteGroup", in, out, opts...)
733	if err != nil {
734		return nil, err
735	}
736	return out, nil
737}
738
739func (c *groupServiceClient) ListGroupMembers(ctx context.Context, in *ListGroupMembersRequest, opts ...grpc.CallOption) (*ListGroupMembersResponse, error) {
740	out := new(ListGroupMembersResponse)
741	err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/ListGroupMembers", in, out, opts...)
742	if err != nil {
743		return nil, err
744	}
745	return out, nil
746}
747
748// GroupServiceServer is the server API for GroupService service.
749type GroupServiceServer interface {
750	// Lists the existing groups.
751	ListGroups(context.Context, *ListGroupsRequest) (*ListGroupsResponse, error)
752	// Gets a single group.
753	GetGroup(context.Context, *GetGroupRequest) (*Group, error)
754	// Creates a new group.
755	CreateGroup(context.Context, *CreateGroupRequest) (*Group, error)
756	// Updates an existing group.
757	// You can change any group attributes except `name`.
758	UpdateGroup(context.Context, *UpdateGroupRequest) (*Group, error)
759	// Deletes an existing group.
760	DeleteGroup(context.Context, *DeleteGroupRequest) (*empty.Empty, error)
761	// Lists the monitored resources that are members of a group.
762	ListGroupMembers(context.Context, *ListGroupMembersRequest) (*ListGroupMembersResponse, error)
763}
764
765// UnimplementedGroupServiceServer can be embedded to have forward compatible implementations.
766type UnimplementedGroupServiceServer struct {
767}
768
769func (*UnimplementedGroupServiceServer) ListGroups(ctx context.Context, req *ListGroupsRequest) (*ListGroupsResponse, error) {
770	return nil, status.Errorf(codes.Unimplemented, "method ListGroups not implemented")
771}
772func (*UnimplementedGroupServiceServer) GetGroup(ctx context.Context, req *GetGroupRequest) (*Group, error) {
773	return nil, status.Errorf(codes.Unimplemented, "method GetGroup not implemented")
774}
775func (*UnimplementedGroupServiceServer) CreateGroup(ctx context.Context, req *CreateGroupRequest) (*Group, error) {
776	return nil, status.Errorf(codes.Unimplemented, "method CreateGroup not implemented")
777}
778func (*UnimplementedGroupServiceServer) UpdateGroup(ctx context.Context, req *UpdateGroupRequest) (*Group, error) {
779	return nil, status.Errorf(codes.Unimplemented, "method UpdateGroup not implemented")
780}
781func (*UnimplementedGroupServiceServer) DeleteGroup(ctx context.Context, req *DeleteGroupRequest) (*empty.Empty, error) {
782	return nil, status.Errorf(codes.Unimplemented, "method DeleteGroup not implemented")
783}
784func (*UnimplementedGroupServiceServer) ListGroupMembers(ctx context.Context, req *ListGroupMembersRequest) (*ListGroupMembersResponse, error) {
785	return nil, status.Errorf(codes.Unimplemented, "method ListGroupMembers not implemented")
786}
787
788func RegisterGroupServiceServer(s *grpc.Server, srv GroupServiceServer) {
789	s.RegisterService(&_GroupService_serviceDesc, srv)
790}
791
792func _GroupService_ListGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
793	in := new(ListGroupsRequest)
794	if err := dec(in); err != nil {
795		return nil, err
796	}
797	if interceptor == nil {
798		return srv.(GroupServiceServer).ListGroups(ctx, in)
799	}
800	info := &grpc.UnaryServerInfo{
801		Server:     srv,
802		FullMethod: "/google.monitoring.v3.GroupService/ListGroups",
803	}
804	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
805		return srv.(GroupServiceServer).ListGroups(ctx, req.(*ListGroupsRequest))
806	}
807	return interceptor(ctx, in, info, handler)
808}
809
810func _GroupService_GetGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
811	in := new(GetGroupRequest)
812	if err := dec(in); err != nil {
813		return nil, err
814	}
815	if interceptor == nil {
816		return srv.(GroupServiceServer).GetGroup(ctx, in)
817	}
818	info := &grpc.UnaryServerInfo{
819		Server:     srv,
820		FullMethod: "/google.monitoring.v3.GroupService/GetGroup",
821	}
822	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
823		return srv.(GroupServiceServer).GetGroup(ctx, req.(*GetGroupRequest))
824	}
825	return interceptor(ctx, in, info, handler)
826}
827
828func _GroupService_CreateGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
829	in := new(CreateGroupRequest)
830	if err := dec(in); err != nil {
831		return nil, err
832	}
833	if interceptor == nil {
834		return srv.(GroupServiceServer).CreateGroup(ctx, in)
835	}
836	info := &grpc.UnaryServerInfo{
837		Server:     srv,
838		FullMethod: "/google.monitoring.v3.GroupService/CreateGroup",
839	}
840	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
841		return srv.(GroupServiceServer).CreateGroup(ctx, req.(*CreateGroupRequest))
842	}
843	return interceptor(ctx, in, info, handler)
844}
845
846func _GroupService_UpdateGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
847	in := new(UpdateGroupRequest)
848	if err := dec(in); err != nil {
849		return nil, err
850	}
851	if interceptor == nil {
852		return srv.(GroupServiceServer).UpdateGroup(ctx, in)
853	}
854	info := &grpc.UnaryServerInfo{
855		Server:     srv,
856		FullMethod: "/google.monitoring.v3.GroupService/UpdateGroup",
857	}
858	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
859		return srv.(GroupServiceServer).UpdateGroup(ctx, req.(*UpdateGroupRequest))
860	}
861	return interceptor(ctx, in, info, handler)
862}
863
864func _GroupService_DeleteGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
865	in := new(DeleteGroupRequest)
866	if err := dec(in); err != nil {
867		return nil, err
868	}
869	if interceptor == nil {
870		return srv.(GroupServiceServer).DeleteGroup(ctx, in)
871	}
872	info := &grpc.UnaryServerInfo{
873		Server:     srv,
874		FullMethod: "/google.monitoring.v3.GroupService/DeleteGroup",
875	}
876	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
877		return srv.(GroupServiceServer).DeleteGroup(ctx, req.(*DeleteGroupRequest))
878	}
879	return interceptor(ctx, in, info, handler)
880}
881
882func _GroupService_ListGroupMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
883	in := new(ListGroupMembersRequest)
884	if err := dec(in); err != nil {
885		return nil, err
886	}
887	if interceptor == nil {
888		return srv.(GroupServiceServer).ListGroupMembers(ctx, in)
889	}
890	info := &grpc.UnaryServerInfo{
891		Server:     srv,
892		FullMethod: "/google.monitoring.v3.GroupService/ListGroupMembers",
893	}
894	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
895		return srv.(GroupServiceServer).ListGroupMembers(ctx, req.(*ListGroupMembersRequest))
896	}
897	return interceptor(ctx, in, info, handler)
898}
899
900var _GroupService_serviceDesc = grpc.ServiceDesc{
901	ServiceName: "google.monitoring.v3.GroupService",
902	HandlerType: (*GroupServiceServer)(nil),
903	Methods: []grpc.MethodDesc{
904		{
905			MethodName: "ListGroups",
906			Handler:    _GroupService_ListGroups_Handler,
907		},
908		{
909			MethodName: "GetGroup",
910			Handler:    _GroupService_GetGroup_Handler,
911		},
912		{
913			MethodName: "CreateGroup",
914			Handler:    _GroupService_CreateGroup_Handler,
915		},
916		{
917			MethodName: "UpdateGroup",
918			Handler:    _GroupService_UpdateGroup_Handler,
919		},
920		{
921			MethodName: "DeleteGroup",
922			Handler:    _GroupService_DeleteGroup_Handler,
923		},
924		{
925			MethodName: "ListGroupMembers",
926			Handler:    _GroupService_ListGroupMembers_Handler,
927		},
928	},
929	Streams:  []grpc.StreamDesc{},
930	Metadata: "google/monitoring/v3/group_service.proto",
931}
932