public sealed class MonitoredResource : IMessage<MonitoredResource>, IEquatable<MonitoredResource>, IDeepCloneable<MonitoredResource>, IBufferMessage, IMessage
An object representing a resource that can be used for monitoring, logging,
billing, or other purposes. Examples include virtual machine instances,
databases, and storage devices such as disks. The type field identifies a
[MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object
that describes the resource's schema. Information in the labels field
identifies the actual resource and its attributes according to the schema.
For example, a particular Compute Engine VM instance could be represented by
the following object, because the
[MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] for
"gce_instance" has labels
"project_id", "instance_id" and "zone":
Required. Values for all of the labels listed in the associated monitored
resource descriptor. For example, Compute Engine VM instances use the
labels "project_id", "instance_id", and "zone".
Required. The monitored resource type. This field must match
the type field of a
[MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor]
object. For example, the type of a Compute Engine VM instance is
gce_instance. Some descriptors include the service name in the type; for
example, the type of a Datastream stream is
datastream.googleapis.com/Stream.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003e\u003ccode\u003eMonitoredResource\u003c/code\u003e represents a resource for monitoring, logging, or billing, such as virtual machine instances or databases.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003etype\u003c/code\u003e field in \u003ccode\u003eMonitoredResource\u003c/code\u003e identifies a \u003ccode\u003eMonitoredResourceDescriptor\u003c/code\u003e object, which defines the resource's schema.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003elabels\u003c/code\u003e field within a \u003ccode\u003eMonitoredResource\u003c/code\u003e object contains key-value pairs that uniquely identify the resource and its attributes.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMonitoredResource\u003c/code\u003e class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, providing functionalities like message parsing, equality checks, deep cloning, and buffering.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eMonitoredResource\u003c/code\u003e objects include properties like \u003ccode\u003eType\u003c/code\u003e (the resource type) and \u003ccode\u003eLabels\u003c/code\u003e (a map of label values), along with methods for actions like calculating size, cloning, merging, and serialization.\u003c/p\u003e\n"]]],[],null,["# Class MonitoredResource (2.17.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.17.0 (latest)](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.MonitoredResource)\n- [2.15.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.15.0/Google.Api.MonitoredResource)\n- [2.10.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.10.0/Google.Api.MonitoredResource)\n- [2.2.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.2.0/Google.Api.MonitoredResource) \n\n public sealed class MonitoredResource : IMessage\u003cMonitoredResource\u003e, IEquatable\u003cMonitoredResource\u003e, IDeepCloneable\u003cMonitoredResource\u003e, IBufferMessage, IMessage\n\nAn object representing a resource that can be used for monitoring, logging,\nbilling, or other purposes. Examples include virtual machine instances,\ndatabases, and storage devices such as disks. The `type` field identifies a\n\\[MonitoredResourceDescriptor\\]\\[google.api.MonitoredResourceDescriptor\\] object\nthat describes the resource's schema. Information in the `labels` field\nidentifies the actual resource and its attributes according to the schema.\nFor example, a particular Compute Engine VM instance could be represented by\nthe following object, because the\n\\[MonitoredResourceDescriptor\\]\\[google.api.MonitoredResourceDescriptor\\] for\n`\"gce_instance\"` has labels\n`\"project_id\"`, `\"instance_id\"` and `\"zone\"`: \n\n { \"type\": \"gce_instance\",\n \"labels\": { \"project_id\": \"my-project\",\n \"instance_id\": \"12345678901234\",\n \"zone\": \"us-central1-a\" }}\n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e MonitoredResource \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[MonitoredResource](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.MonitoredResource), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[MonitoredResource](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.MonitoredResource), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[MonitoredResource](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.MonitoredResource), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals)\n\nNamespace\n---------\n\n[Google.Api](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api)\n\nAssembly\n--------\n\nGoogle.Api.CommonProtos.dll\n\nConstructors\n------------\n\n### MonitoredResource()\n\n public MonitoredResource()\n\n### MonitoredResource(MonitoredResource)\n\n public MonitoredResource(MonitoredResource other)\n\nFields\n------\n\n### LabelsFieldNumber\n\n public const int LabelsFieldNumber = 2\n\nField number for the \"labels\" field.\n\n### TypeFieldNumber\n\n public const int TypeFieldNumber = 1\n\nField number for the \"type\" field.\n\nProperties\n----------\n\n### Descriptor\n\n public static MessageDescriptor Descriptor { get; }\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nRequired. Values for all of the labels listed in the associated monitored\nresource descriptor. For example, Compute Engine VM instances use the\nlabels `\"project_id\"`, `\"instance_id\"`, and `\"zone\"`.\n\n### Parser\n\n public static MessageParser\u003cMonitoredResource\u003e Parser { get; }\n\n### Type\n\n public string Type { get; set; }\n\nRequired. The monitored resource type. This field must match\nthe `type` field of a\n\\[MonitoredResourceDescriptor\\]\\[google.api.MonitoredResourceDescriptor\\]\nobject. For example, the type of a Compute Engine VM instance is\n`gce_instance`. Some descriptors include the service name in the type; for\nexample, the type of a Datastream stream is\n`datastream.googleapis.com/Stream`.\n\nMethods\n-------\n\n### CalculateSize()\n\n public int CalculateSize()\n\n### Clone()\n\n public MonitoredResource Clone()\n\n### Equals(MonitoredResource)\n\n public bool Equals(MonitoredResource other)\n\n### Equals(object)\n\n public override bool Equals(object other)\n\n**Overrides** \n[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object))\n\n### GetHashCode()\n\n public override int GetHashCode()\n\n**Overrides** \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)\n\n### MergeFrom(MonitoredResource)\n\n public void MergeFrom(MonitoredResource other)\n\n### MergeFrom(CodedInputStream)\n\n public void MergeFrom(CodedInputStream input)\n\n### ToString()\n\n public override string ToString()\n\n**Overrides** \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\n### WriteTo(CodedOutputStream)\n\n public void WriteTo(CodedOutputStream output)"]]