Class MonitoredResourceDescriptor (2.2.0)

public sealed class MonitoredResourceDescriptor : Protobuf.IMessage<MonitoredResourceDescriptor>, Protobuf.IBufferMessage

An object that describes the schema of a [MonitoredResource][google.api.MonitoredResource] object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of &quot;gce_instance&quot; and specifies the use of the labels &quot;instance_id&quot; and &quot;zone&quot; to identify particular VM instances.

Different services can support different monitored resource types.

The following are specific rules to service defined monitored resources for Monitoring and Logging:

  • The type, display_name, description, labels and launch_stage fields are all required.
  • The first label of the monitored resource descriptor must be resource_container. There are legacy monitored resource descritptors start with project_id.
  • It must include a location label.
  • Maximum of default 5 service defined monitored resource descriptors is allowed per service.
  • Maximum of default 10 labels per monitored resource is allowed.

The default maximum limit can be overridden. Please follow https://cloud.google.com/monitoring/quotas

Inheritance

Object > MonitoredResourceDescriptor

Namespace

Google.Api

Assembly

Google.Api.CommonProtos.dll

Constructors

MonitoredResourceDescriptor()

public MonitoredResourceDescriptor()

MonitoredResourceDescriptor(MonitoredResourceDescriptor)

public MonitoredResourceDescriptor(MonitoredResourceDescriptor other)
Parameter
NameDescription
otherMonitoredResourceDescriptor

Fields

DescriptionFieldNumber

public const int DescriptionFieldNumber = 3

Field number for the "description" field.

Field Value
TypeDescription
Int32

DisplayNameFieldNumber

public const int DisplayNameFieldNumber = 2

Field number for the "display_name" field.

Field Value
TypeDescription
Int32

LabelsFieldNumber

public const int LabelsFieldNumber = 4

Field number for the "labels" field.

Field Value
TypeDescription
Int32

LaunchStageFieldNumber

public const int LaunchStageFieldNumber = 7

Field number for the "launch_stage" field.

Field Value
TypeDescription
Int32

NameFieldNumber

public const int NameFieldNumber = 5

Field number for the "name" field.

Field Value
TypeDescription
Int32

TypeFieldNumber

public const int TypeFieldNumber = 1

Field number for the "type" field.

Field Value
TypeDescription
Int32

Properties

Description

public string Description { get; set; }

Optional. A detailed description of the monitored resource type that might be used in documentation.

Property Value
TypeDescription
String

Descriptor

public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
Protobuf.Reflection.MessageDescriptor

DisplayName

public string DisplayName { get; set; }

Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, &quot;Google Cloud SQL Database&quot;.

Property Value
TypeDescription
String

Labels

public Protobuf.Collections.RepeatedField<LabelDescriptor> Labels { get; }

Required. A set of labels used to describe instances of this monitored resource type. The label key name must follow:

  • Only upper and lower-case letters, digits and underscores (_) are allowed.
  • Label name must start with a letter or digit.
  • The maximum length of a label name is 100 characters.

For example, an individual Google Cloud SQL database is identified by values for the labels database_id and location.

Property Value
TypeDescription
Protobuf.Collections.RepeatedField<LabelDescriptor>

LaunchStage

public LaunchStage LaunchStage { get; set; }

Optional. The launch stage of the monitored resource definition.

Property Value
TypeDescription
LaunchStage

Name

public string Name { get; set; }

Optional. The resource name of the monitored resource descriptor: &quot;projects/{project_id}/monitoredResourceDescriptors/{type}&quot; where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format &quot;monitoredResourceDescriptors/{type}&quot;.

Property Value
TypeDescription
String

Parser

public static Protobuf.MessageParser<MonitoredResourceDescriptor> Parser { get; }
Property Value
TypeDescription
Protobuf.MessageParser<MonitoredResourceDescriptor>

Type

public string Type { get; set; }

Required. The monitored resource type. For example, the type cloudsql_database represents databases in Google Cloud SQL.

All service defined monitored resource types must be prefixed with the service name, in the format of {service name}/{relative resource name}. The relative resource name must follow:

  • Only upper and lower-case letters and digits are allowed.
  • It must start with upper case character and is recommended to use Upper Camel Case style.
  • The maximum number of characters allowed for the relative_resource_name is 100.

Note there are legacy service monitored resources not following this rule.

Property Value
TypeDescription
String

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
Int32

Clone()

public MonitoredResourceDescriptor Clone()
Returns
TypeDescription
MonitoredResourceDescriptor

Equals(MonitoredResourceDescriptor)

public bool Equals(MonitoredResourceDescriptor other)
Parameter
NameDescription
otherMonitoredResourceDescriptor
Returns
TypeDescription
Boolean

Equals(Object)

public override bool Equals(object other)
Parameter
NameDescription
otherObject
Returns
TypeDescription
Boolean

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
Int32

MergeFrom(MonitoredResourceDescriptor)

public void MergeFrom(MonitoredResourceDescriptor other)
Parameter
NameDescription
otherMonitoredResourceDescriptor

MergeFrom(Protobuf.CodedInputStream)

public void MergeFrom(Protobuf.CodedInputStream input)
Parameter
NameDescription
inputProtobuf.CodedInputStream

ToString()

public override string ToString()
Returns
TypeDescription
String

WriteTo(Protobuf.CodedOutputStream)

public void WriteTo(Protobuf.CodedOutputStream output)
Parameter
NameDescription
outputProtobuf.CodedOutputStream