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