Table of Contents

Class WorkerDeploymentVersionInfo

Namespace
Temporalio.Api.Deployment.V1
Assembly
Temporalio.dll

A Worker Deployment Version (Version, for short) represents all workers of the same code and config within a Deployment. Workers of the same Version are expected to behave exactly the same so when executions move between them there are no non-determinism issues. Worker Deployment Versions are created in Temporal server automatically when their first poller arrives to the server. Experimental. Worker Deployments are experimental and might significantly change in the future.

public sealed class WorkerDeploymentVersionInfo : IMessage<WorkerDeploymentVersionInfo>, IEquatable<WorkerDeploymentVersionInfo>, IDeepCloneable<WorkerDeploymentVersionInfo>, IBufferMessage, IMessage
Inheritance
WorkerDeploymentVersionInfo
Implements
IBufferMessage
IMessage
Inherited Members

Constructors

WorkerDeploymentVersionInfo()

public WorkerDeploymentVersionInfo()

WorkerDeploymentVersionInfo(WorkerDeploymentVersionInfo)

public WorkerDeploymentVersionInfo(WorkerDeploymentVersionInfo other)

Parameters

other WorkerDeploymentVersionInfo

Fields

CreateTimeFieldNumber

Field number for the "create_time" field.

public const int CreateTimeFieldNumber = 3

Field Value

int

CurrentSinceTimeFieldNumber

Field number for the "current_since_time" field.

public const int CurrentSinceTimeFieldNumber = 5

Field Value

int

DeploymentNameFieldNumber

Field number for the "deployment_name" field.

public const int DeploymentNameFieldNumber = 2

Field Value

int

DeploymentVersionFieldNumber

Field number for the "deployment_version" field.

public const int DeploymentVersionFieldNumber = 11

Field Value

int

DrainageInfoFieldNumber

Field number for the "drainage_info" field.

public const int DrainageInfoFieldNumber = 9

Field Value

int

MetadataFieldNumber

Field number for the "metadata" field.

public const int MetadataFieldNumber = 10

Field Value

int

RampPercentageFieldNumber

Field number for the "ramp_percentage" field.

public const int RampPercentageFieldNumber = 7

Field Value

int

RampingSinceTimeFieldNumber

Field number for the "ramping_since_time" field.

public const int RampingSinceTimeFieldNumber = 6

Field Value

int

RoutingChangedTimeFieldNumber

Field number for the "routing_changed_time" field.

public const int RoutingChangedTimeFieldNumber = 4

Field Value

int

TaskQueueInfosFieldNumber

Field number for the "task_queue_infos" field.

public const int TaskQueueInfosFieldNumber = 8

Field Value

int

VersionFieldNumber

Field number for the "version" field.

public const int VersionFieldNumber = 1

Field Value

int

Properties

CreateTime

public Timestamp CreateTime { get; set; }

Property Value

Timestamp

CurrentSinceTime

(-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) Nil if not current.

public Timestamp CurrentSinceTime { get; set; }

Property Value

Timestamp

DeploymentName

public string DeploymentName { get; set; }

Property Value

string

DeploymentVersion

Required.

public WorkerDeploymentVersion DeploymentVersion { get; set; }

Property Value

WorkerDeploymentVersion

Descriptor

public static MessageDescriptor Descriptor { get; }

Property Value

MessageDescriptor

DrainageInfo

Helps user determine when it is safe to decommission the workers of this Version. Not present when version is current or ramping. Current limitations:

  • Not supported for Unversioned mode.
  • Periodically refreshed, may have delays up to few minutes (consult the last_checked_time value).
  • Refreshed only when version is not current or ramping AND the status is not "drained" yet.
  • Once the status is changed to "drained", it is not changed until the Version becomes Current or Ramping again, at which time the drainage info is cleared. This means if the Version is "drained" but new workflows are sent to it via Pinned Versioning Override, the status does not account for those Pinned-override executions and remains "drained".
public VersionDrainageInfo DrainageInfo { get; set; }

Property Value

VersionDrainageInfo

Metadata

Arbitrary user-provided metadata attached to this version.

public VersionMetadata Metadata { get; set; }

Property Value

VersionMetadata

Parser

public static MessageParser<WorkerDeploymentVersionInfo> Parser { get; }

Property Value

MessageParser<WorkerDeploymentVersionInfo>

RampPercentage

Range: [0, 100]. Must be zero if the version is not ramping (i.e. ramping_since_time is nil). Can be in the range [0, 100] if the version is ramping.

public float RampPercentage { get; set; }

Property Value

float

RampingSinceTime

(-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) Nil if not ramping. Updated when the version first starts ramping, not on each ramp change.

public Timestamp RampingSinceTime { get; set; }

Property Value

Timestamp

RoutingChangedTime

Last time current_since_time, ramping_since_time, or ramp_percentage` of this version changed.

public Timestamp RoutingChangedTime { get; set; }

Property Value

Timestamp

TaskQueueInfos

All the Task Queues that have ever polled from this Deployment version.

public RepeatedField<WorkerDeploymentVersionInfo.Types.VersionTaskQueueInfo> TaskQueueInfos { get; }

Property Value

RepeatedField<WorkerDeploymentVersionInfo.Types.VersionTaskQueueInfo>

Version

Deprecated. Use deployment_version.

[Obsolete]
public string Version { 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 WorkerDeploymentVersionInfo Clone()

Returns

WorkerDeploymentVersionInfo

A deep clone of this object.

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.

Equals(WorkerDeploymentVersionInfo)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(WorkerDeploymentVersionInfo other)

Parameters

other WorkerDeploymentVersionInfo

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; 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(WorkerDeploymentVersionInfo)

Merges the given message into this one.

public void MergeFrom(WorkerDeploymentVersionInfo other)

Parameters

other WorkerDeploymentVersionInfo

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.