1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/monitoring/v3/group.proto
20
21package monitoring
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	_ "google.golang.org/genproto/googleapis/api/annotations"
28	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
29	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
30)
31
32const (
33	// Verify that this generated code is sufficiently up-to-date.
34	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
35	// Verify that runtime/protoimpl is sufficiently up-to-date.
36	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
37)
38
39// The description of a dynamic collection of monitored resources. Each group
40// has a filter that is matched against monitored resources and their associated
41// metadata. If a group's filter matches an available monitored resource, then
42// that resource is a member of that group.  Groups can contain any number of
43// monitored resources, and each monitored resource can be a member of any
44// number of groups.
45//
46// Groups can be nested in parent-child hierarchies. The `parentName` field
47// identifies an optional parent for each group.  If a group has a parent, then
48// the only monitored resources available to be matched by the group's filter
49// are the resources contained in the parent group.  In other words, a group
50// contains the monitored resources that match its filter and the filters of all
51// the group's ancestors.  A group without a parent can contain any monitored
52// resource.
53//
54// For example, consider an infrastructure running a set of instances with two
55// user-defined tags: `"environment"` and `"role"`. A parent group has a filter,
56// `environment="production"`.  A child of that parent group has a filter,
57// `role="transcoder"`.  The parent group contains all instances in the
58// production environment, regardless of their roles.  The child group contains
59// instances that have the transcoder role *and* are in the production
60// environment.
61//
62// The monitored resources contained in a group can change at any moment,
63// depending on what resources exist and what filters are associated with the
64// group and its ancestors.
65type Group struct {
66	state         protoimpl.MessageState
67	sizeCache     protoimpl.SizeCache
68	unknownFields protoimpl.UnknownFields
69
70	// Output only. The name of this group. The format is:
71	//
72	//     projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
73	//
74	// When creating a group, this field is ignored and a new name is created
75	// consisting of the project specified in the call to `CreateGroup`
76	// and a unique `[GROUP_ID]` that is generated automatically.
77	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
78	// A user-assigned name for this group, used only for display purposes.
79	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
80	// The name of the group's parent, if it has one. The format is:
81	//
82	//     projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
83	//
84	// For groups with no parent, `parent_name` is the empty string, `""`.
85	ParentName string `protobuf:"bytes,3,opt,name=parent_name,json=parentName,proto3" json:"parent_name,omitempty"`
86	// The filter used to determine which monitored resources belong to this
87	// group.
88	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
89	// If true, the members of this group are considered to be a cluster.
90	// The system can perform additional analysis on groups that are clusters.
91	IsCluster bool `protobuf:"varint,6,opt,name=is_cluster,json=isCluster,proto3" json:"is_cluster,omitempty"`
92}
93
94func (x *Group) Reset() {
95	*x = Group{}
96	if protoimpl.UnsafeEnabled {
97		mi := &file_google_monitoring_v3_group_proto_msgTypes[0]
98		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
99		ms.StoreMessageInfo(mi)
100	}
101}
102
103func (x *Group) String() string {
104	return protoimpl.X.MessageStringOf(x)
105}
106
107func (*Group) ProtoMessage() {}
108
109func (x *Group) ProtoReflect() protoreflect.Message {
110	mi := &file_google_monitoring_v3_group_proto_msgTypes[0]
111	if protoimpl.UnsafeEnabled && x != nil {
112		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
113		if ms.LoadMessageInfo() == nil {
114			ms.StoreMessageInfo(mi)
115		}
116		return ms
117	}
118	return mi.MessageOf(x)
119}
120
121// Deprecated: Use Group.ProtoReflect.Descriptor instead.
122func (*Group) Descriptor() ([]byte, []int) {
123	return file_google_monitoring_v3_group_proto_rawDescGZIP(), []int{0}
124}
125
126func (x *Group) GetName() string {
127	if x != nil {
128		return x.Name
129	}
130	return ""
131}
132
133func (x *Group) GetDisplayName() string {
134	if x != nil {
135		return x.DisplayName
136	}
137	return ""
138}
139
140func (x *Group) GetParentName() string {
141	if x != nil {
142		return x.ParentName
143	}
144	return ""
145}
146
147func (x *Group) GetFilter() string {
148	if x != nil {
149		return x.Filter
150	}
151	return ""
152}
153
154func (x *Group) GetIsCluster() bool {
155	if x != nil {
156		return x.IsCluster
157	}
158	return false
159}
160
161var File_google_monitoring_v3_group_proto protoreflect.FileDescriptor
162
163var file_google_monitoring_v3_group_proto_rawDesc = []byte{
164	0x0a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
165	0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f,
166	0x74, 0x6f, 0x12, 0x14, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74,
167	0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
168	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72,
169	0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x02, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a,
170	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
171	0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
172	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
173	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e,
174	0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e,
175	0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
176	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a,
177	0x0a, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
178	0x08, 0x52, 0x09, 0x69, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x99, 0x01, 0xea,
179	0x41, 0x95, 0x01, 0x0a, 0x1f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e,
180	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47,
181	0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
182	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f,
183	0x7b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0x2b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
184	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
185	0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x67, 0x72,
186	0x6f, 0x75, 0x70, 0x7d, 0x12, 0x1f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66,
187	0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x67,
188	0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0x01, 0x2a, 0x42, 0xc2, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6d,
189	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69,
190	0x6e, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x74,
191	0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
192	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
193	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74,
194	0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
195	0x69, 0x6e, 0x67, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f,
196	0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x33,
197	0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c,
198	0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x33, 0xea, 0x02, 0x1d,
199	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4d,
200	0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70,
201	0x72, 0x6f, 0x74, 0x6f, 0x33,
202}
203
204var (
205	file_google_monitoring_v3_group_proto_rawDescOnce sync.Once
206	file_google_monitoring_v3_group_proto_rawDescData = file_google_monitoring_v3_group_proto_rawDesc
207)
208
209func file_google_monitoring_v3_group_proto_rawDescGZIP() []byte {
210	file_google_monitoring_v3_group_proto_rawDescOnce.Do(func() {
211		file_google_monitoring_v3_group_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_monitoring_v3_group_proto_rawDescData)
212	})
213	return file_google_monitoring_v3_group_proto_rawDescData
214}
215
216var file_google_monitoring_v3_group_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
217var file_google_monitoring_v3_group_proto_goTypes = []interface{}{
218	(*Group)(nil), // 0: google.monitoring.v3.Group
219}
220var file_google_monitoring_v3_group_proto_depIdxs = []int32{
221	0, // [0:0] is the sub-list for method output_type
222	0, // [0:0] is the sub-list for method input_type
223	0, // [0:0] is the sub-list for extension type_name
224	0, // [0:0] is the sub-list for extension extendee
225	0, // [0:0] is the sub-list for field type_name
226}
227
228func init() { file_google_monitoring_v3_group_proto_init() }
229func file_google_monitoring_v3_group_proto_init() {
230	if File_google_monitoring_v3_group_proto != nil {
231		return
232	}
233	if !protoimpl.UnsafeEnabled {
234		file_google_monitoring_v3_group_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
235			switch v := v.(*Group); i {
236			case 0:
237				return &v.state
238			case 1:
239				return &v.sizeCache
240			case 2:
241				return &v.unknownFields
242			default:
243				return nil
244			}
245		}
246	}
247	type x struct{}
248	out := protoimpl.TypeBuilder{
249		File: protoimpl.DescBuilder{
250			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
251			RawDescriptor: file_google_monitoring_v3_group_proto_rawDesc,
252			NumEnums:      0,
253			NumMessages:   1,
254			NumExtensions: 0,
255			NumServices:   0,
256		},
257		GoTypes:           file_google_monitoring_v3_group_proto_goTypes,
258		DependencyIndexes: file_google_monitoring_v3_group_proto_depIdxs,
259		MessageInfos:      file_google_monitoring_v3_group_proto_msgTypes,
260	}.Build()
261	File_google_monitoring_v3_group_proto = out.File
262	file_google_monitoring_v3_group_proto_rawDesc = nil
263	file_google_monitoring_v3_group_proto_goTypes = nil
264	file_google_monitoring_v3_group_proto_depIdxs = nil
265}
266