Table of Contents

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>
IBufferMessage
IMessage
Inherited Members

Constructors

ObjectMeta()

public ObjectMeta()

ObjectMeta(ObjectMeta)

public ObjectMeta(ObjectMeta other)

Parameters

other ObjectMeta

Fields

AnnotationsFieldNumber

Field number for the "annotations" field.

public const int AnnotationsFieldNumber = 6

Field Value

int

CreatedTimeFieldNumber

Field number for the "created_time" field.

public const int CreatedTimeFieldNumber = 103

Field Value

int

DeletionTimeFieldNumber

Field number for the "deletion_time" field.

public const int DeletionTimeFieldNumber = 108

Field Value

int

IdFieldNumber

Field number for the "id" field.

public const int IdFieldNumber = 1

Field Value

int

LabelsFieldNumber

Field number for the "labels" field.

public const int LabelsFieldNumber = 4

Field Value

int

NameFieldNumber

Field number for the "name" field.

public const int NameFieldNumber = 2

Field Value

int

ResourceVersionFieldNumber

Field number for the "resource_version" field.

public const int ResourceVersionFieldNumber = 5

Field Value

int

WorkspaceFieldNumber

Field number for the "workspace" field.

public const int WorkspaceFieldNumber = 7

Field Value

int

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

MapField<string, string>

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

string

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

MapField<string, string>

Name

Human-readable object name (unique per object type).

public string Name { get; set; }

Property Value

string

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

ulong

Workspace

Workspace that owns this resource. Empty is normalized to "default" by the gateway. Immutable after creation.

public string Workspace { get; set; }

Property Value

string

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

other ObjectMeta

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object)

Determines whether the specified object is equal to the current object.

public override bool Equals(object other)

Parameters

other object

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

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

input CodedInputStream

Remarks

See the user guide for precise merge semantics.

MergeFrom(ObjectMeta)

Merges the given message into this one.

public void MergeFrom(ObjectMeta other)

Parameters

other ObjectMeta

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

output CodedOutputStream

Coded output stream to write the data to. Must not be null.