91 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
		
		
			
		
	
	
			91 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
|  | // Copyright 2021 Google LLC
 | ||
|  | //
 | ||
|  | // Licensed under the Apache License, Version 2.0 (the "License");
 | ||
|  | // you may not use this file except in compliance with the License.
 | ||
|  | // You may obtain a copy of the License at
 | ||
|  | //
 | ||
|  | //     http://www.apache.org/licenses/LICENSE-2.0
 | ||
|  | //
 | ||
|  | // Unless required by applicable law or agreed to in writing, software
 | ||
|  | // distributed under the License is distributed on an "AS IS" BASIS,
 | ||
|  | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | ||
|  | // See the License for the specific language governing permissions and
 | ||
|  | // limitations under the License.
 | ||
|  | 
 | ||
|  | syntax = "proto3";
 | ||
|  | 
 | ||
|  | package google.monitoring.v3;
 | ||
|  | 
 | ||
|  | import "google/api/resource.proto";
 | ||
|  | 
 | ||
|  | option csharp_namespace = "Google.Cloud.Monitoring.V3";
 | ||
|  | option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
 | ||
|  | option java_multiple_files = true;
 | ||
|  | option java_outer_classname = "GroupProto";
 | ||
|  | option java_package = "com.google.monitoring.v3";
 | ||
|  | option php_namespace = "Google\\Cloud\\Monitoring\\V3";
 | ||
|  | option ruby_package = "Google::Cloud::Monitoring::V3";
 | ||
|  | 
 | ||
|  | // The description of a dynamic collection of monitored resources. Each group
 | ||
|  | // has a filter that is matched against monitored resources and their associated
 | ||
|  | // metadata. If a group's filter matches an available monitored resource, then
 | ||
|  | // that resource is a member of that group.  Groups can contain any number of
 | ||
|  | // monitored resources, and each monitored resource can be a member of any
 | ||
|  | // number of groups.
 | ||
|  | //
 | ||
|  | // Groups can be nested in parent-child hierarchies. The `parentName` field
 | ||
|  | // identifies an optional parent for each group.  If a group has a parent, then
 | ||
|  | // the only monitored resources available to be matched by the group's filter
 | ||
|  | // are the resources contained in the parent group.  In other words, a group
 | ||
|  | // contains the monitored resources that match its filter and the filters of all
 | ||
|  | // the group's ancestors.  A group without a parent can contain any monitored
 | ||
|  | // resource.
 | ||
|  | //
 | ||
|  | // For example, consider an infrastructure running a set of instances with two
 | ||
|  | // user-defined tags: `"environment"` and `"role"`. A parent group has a filter,
 | ||
|  | // `environment="production"`.  A child of that parent group has a filter,
 | ||
|  | // `role="transcoder"`.  The parent group contains all instances in the
 | ||
|  | // production environment, regardless of their roles.  The child group contains
 | ||
|  | // instances that have the transcoder role *and* are in the production
 | ||
|  | // environment.
 | ||
|  | //
 | ||
|  | // The monitored resources contained in a group can change at any moment,
 | ||
|  | // depending on what resources exist and what filters are associated with the
 | ||
|  | // group and its ancestors.
 | ||
|  | message Group {
 | ||
|  |   option (google.api.resource) = {
 | ||
|  |     type: "monitoring.googleapis.com/Group"
 | ||
|  |     pattern: "projects/{project}/groups/{group}"
 | ||
|  |     pattern: "organizations/{organization}/groups/{group}"
 | ||
|  |     pattern: "folders/{folder}/groups/{group}"
 | ||
|  |     pattern: "*"
 | ||
|  |   };
 | ||
|  | 
 | ||
|  |   // Output only. The name of this group. The format is:
 | ||
|  |   //
 | ||
|  |   //     projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
 | ||
|  |   //
 | ||
|  |   // When creating a group, this field is ignored and a new name is created
 | ||
|  |   // consisting of the project specified in the call to `CreateGroup`
 | ||
|  |   // and a unique `[GROUP_ID]` that is generated automatically.
 | ||
|  |   string name = 1;
 | ||
|  | 
 | ||
|  |   // A user-assigned name for this group, used only for display purposes.
 | ||
|  |   string display_name = 2;
 | ||
|  | 
 | ||
|  |   // The name of the group's parent, if it has one. The format is:
 | ||
|  |   //
 | ||
|  |   //     projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
 | ||
|  |   //
 | ||
|  |   // For groups with no parent, `parent_name` is the empty string, `""`.
 | ||
|  |   string parent_name = 3;
 | ||
|  | 
 | ||
|  |   // The filter used to determine which monitored resources belong to this
 | ||
|  |   // group.
 | ||
|  |   string filter = 5;
 | ||
|  | 
 | ||
|  |   // If true, the members of this group are considered to be a cluster.
 | ||
|  |   // The system can perform additional analysis on groups that are clusters.
 | ||
|  |   bool is_cluster = 6;
 | ||
|  | }
 |