Class ObjectMeta
- Namespace
- Openshell.Datamodel.V1
- Assembly
- OpenShell.Sdk.dll
Kubernetes-style metadata shared by all top-level OpenShell domain objects.
This structure provides consistent metadata (identity, labels, annotations, timestamps, resource versioning) across Sandbox, Provider, SshSession, and other resources.
public sealed class ObjectMeta : IMessage<ObjectMeta>, IEquatable<ObjectMeta>, IDeepCloneable<ObjectMeta>, IBufferMessage, IMessage
- Inheritance
-
ObjectMeta
- Implements
-
IMessage<ObjectMeta>IDeepCloneable<ObjectMeta>IBufferMessageIMessage
- Inherited Members
Constructors
ObjectMeta()
public ObjectMeta()
ObjectMeta(ObjectMeta)
public ObjectMeta(ObjectMeta other)
Parameters
otherObjectMeta
Fields
AnnotationsFieldNumber
Field number for the "annotations" field.
public const int AnnotationsFieldNumber = 6
Field Value
CreatedTimeFieldNumber
Field number for the "created_time" field.
public const int CreatedTimeFieldNumber = 103
Field Value
DeletionTimeFieldNumber
Field number for the "deletion_time" field.
public const int DeletionTimeFieldNumber = 108
Field Value
IdFieldNumber
Field number for the "id" field.
public const int IdFieldNumber = 1
Field Value
LabelsFieldNumber
Field number for the "labels" field.
public const int LabelsFieldNumber = 4
Field Value
NameFieldNumber
Field number for the "name" field.
public const int NameFieldNumber = 2
Field Value
ResourceVersionFieldNumber
Field number for the "resource_version" field.
public const int ResourceVersionFieldNumber = 5
Field Value
WorkspaceFieldNumber
Field number for the "workspace" field.
public const int WorkspaceFieldNumber = 7
Field Value
Properties
Annotations
Opaque key-value metadata that is not used for selectors. Annotation keys use the same qualified-key shape as labels, but values may be longer.
public MapField<string, string> Annotations { get; }
Property Value
CreatedTime
Time when the object was created.
public Timestamp CreatedTime { get; set; }
Property Value
- Timestamp
DeletionTime
Time when graceful deletion was initiated. Absence means the object is not being deleted. Once set, this field is immutable — the only path forward is completing deletion.
public Timestamp DeletionTime { get; set; }
Property Value
- Timestamp
Descriptor
public static MessageDescriptor Descriptor { get; }
Property Value
- MessageDescriptor
Id
Stable object ID generated by the gateway.
public string Id { get; set; }
Property Value
Labels
Key-value labels for filtering and organization.
Labels must follow Kubernetes conventions: alphanumeric + -._/, max 63 chars per segment.
public MapField<string, string> Labels { get; }
Property Value
Name
Human-readable object name (unique per object type).
public string Name { get; set; }
Property Value
Parser
public static MessageParser<ObjectMeta> Parser { get; }
Property Value
- MessageParser<ObjectMeta>
ResourceVersion
Optimistic concurrency control version. Incremented by the gateway on each update. Clients can use this for compare-and-swap operations.
public ulong ResourceVersion { get; set; }
Property Value
Workspace
Workspace that owns this resource. Empty is normalized to "default" by the gateway. Immutable after creation.
public string Workspace { get; set; }
Property Value
Methods
CalculateSize()
Calculates the size of this message in Protocol Buffer wire format, in bytes.
public int CalculateSize()
Returns
- int
The number of bytes required to write this message to a coded output stream.
Clone()
Creates a deep clone of this object.
public ObjectMeta Clone()
Returns
- ObjectMeta
A deep clone of this object.
Equals(ObjectMeta)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(ObjectMeta other)
Parameters
otherObjectMetaAn object to compare with this object.
Returns
Equals(object)
Determines whether the specified object is equal to the current object.
public override bool Equals(object other)
Parameters
otherobject
Returns
GetHashCode()
Serves as the default hash function.
public override int GetHashCode()
Returns
- int
A hash code for the current object.
MergeFrom(CodedInputStream)
Merges the data from the specified coded input stream with the current message.
public void MergeFrom(CodedInputStream input)
Parameters
inputCodedInputStream
Remarks
See the user guide for precise merge semantics.
MergeFrom(ObjectMeta)
Merges the given message into this one.
public void MergeFrom(ObjectMeta other)
Parameters
otherObjectMeta
Remarks
See the user guide for precise merge semantics.
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.
WriteTo(CodedOutputStream)
Writes the data to the given coded output stream.
public void WriteTo(CodedOutputStream output)
Parameters
outputCodedOutputStreamCoded output stream to write the data to. Must not be null.