Get desktop application:
View/edit binary Protocol Buffers messages
ComputeStatus represents compute-related configuration and health for a Worker Deployment Version.
Used in:
provider_validation encapsulates the health signal for validating the compute provider.
ProviderValidationStatus represents the result of the most recent connectivity check between Temporal and a customer's compute provider.
Used in:
Human-readable error message if connectivity validation failed. An empty string means validation passed.
Timestamp of the last validation check.
`Deployment` identifies a deployment of Temporal workers. The combination of deployment series name + build ID serves as the identifier. User can use `WorkerDeploymentOptions` in their worker programs to specify these values. Deprecated.
Used in: , , , , , , , , , , , , , ,
Different versions of the same worker service/application are related together by having a shared series name. Out of all deployments of a series, one can be designated as the current deployment, which receives new workflow executions and new tasks of workflows with `VERSIONING_BEHAVIOR_AUTO_UPGRADE` versioning behavior.
Build ID changes with each version of the worker when the worker program code and/or config changes.
`DeploymentInfo` holds information about a deployment. Deployment information is tracked automatically by server as soon as the first poll from that deployment reaches the server. There can be multiple task queue workers in a single deployment which are listed in this message. Deprecated.
Used in: , , ,
A user-defined set of key-values. Can be updated as part of write operations to the deployment, such as `SetCurrentDeployment`.
If this deployment is the current deployment of its deployment series.
Used in:
When server saw the first poller for this task queue in this deployment.
DeploymentListInfo is an abbreviated set of fields from DeploymentInfo that's returned in ListDeployments. Deprecated.
Used in:
If this deployment is the current deployment of its deployment series.
Used as part of WorkflowExecutionStartedEventAttributes to pass down the AutoUpgrade behavior and source deployment version to a workflow execution whose parent/previous workflow has an AutoUpgrade behavior. Also used for Upgrade-on-CaN behaviors AutoUpgrade and UseRampingVersion.
Used in:
The source deployment version of the parent/previous workflow.
The revision number of the source deployment version of the parent/previous workflow.
Experimental. If this workflow is the result of a continue-as-new, this field is set to the initial_versioning_behavior specified in that command. Only used for the initial task of this run and the initial task of any retries of this run. Not passed to children or to future continue-as-new. Note: In the first release of Upgrade-on-CaN, when the only ContinueAsNewVersioningBehavior was AutoUpgrade, a non-empty InheritedAutoUpgradeInfo meant that the workflow should start as AutoUpgrade. So for compatibility with history events generated during that time, know that an UNSPECIFIED value here is equivalent to AutoUpgrade value if the InheritedAutoUpgradeInfo is non-empty.
Used in: ,
Specifies which Deployment Version should receive new workflow executions and tasks of existing unversioned or AutoUpgrade workflows. Nil value means no Version in this Deployment (except Ramping Version, if present) receives traffic other than tasks of previously Pinned workflows. In absence of a Current Version, remaining traffic after any ramp (if set) goes to unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.). Note: Current Version is overridden by the Ramping Version for a portion of traffic when ramp percentage is non-zero (see `ramping_deployment_version` and `ramping_version_percentage`).
Deprecated. Use `current_deployment_version`.
When ramp percentage is non-zero, that portion of traffic is shifted from the Current Version to the Ramping Version. Must always be different from `current_deployment_version` unless both are nil. Nil value represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.) Note that it is possible to ramp from one Version to another Version, or from unversioned workers to a particular Version, or from a particular Version to unversioned workers.
Deprecated. Use `ramping_deployment_version`.
Percentage of tasks that are routed to the Ramping Version instead of the Current Version. Valid range: [0, 100]. A 100% value means the Ramping Version is receiving full traffic but not yet "promoted" to be the Current Version, likely due to pending validations. A 0% value means the Ramping Version is receiving no traffic.
Last time current version was changed.
Last time ramping version was changed. Not updated if only the ramp percentage changes.
Last time ramping version percentage was changed. If ramping version is changed, this is also updated, even if the percentage stays the same.
Monotonically increasing value which is incremented on every mutation to any field of this message to achieve eventual consistency between task queues and their partitions.
Used as part of Deployment write APIs to update metadata attached to a deployment. Deprecated.
Used in:
List of keys to remove from the metadata.
Information about workflow drainage to help the user determine when it is safe to decommission a Version. Not present while version is current or ramping.
Used in: ,
Set to DRAINING when the version first stops accepting new executions (is no longer current or ramping). Set to DRAINED when no more open pinned workflows exist on this version.
Last time the drainage status changed.
Last time the system checked for drainage of this version.
Used in: ,
Arbitrary key-values.
A Worker Deployment (Deployment, for short) represents all workers serving a shared set of Task Queues. Typically, a Deployment represents one service or application. A Deployment contains multiple Deployment Versions, each representing a different version of workers. (see documentation of WorkerDeploymentVersionInfo) Deployment records are created in Temporal server automatically when their first poller arrives to the server.
Used in:
Identifies a Worker Deployment. Must be unique within the namespace.
Deployment Versions that are currently tracked in this Deployment. A DeploymentVersion will be cleaned up automatically if all the following conditions meet: - It does not receive new executions (is not current or ramping) - It has no active pollers (see WorkerDeploymentVersionInfo.pollers_status) - It is drained (see WorkerDeploymentVersionInfo.drainage_status)
Identity of the last client who modified the configuration of this Deployment. Set to the `identity` value sent by APIs such as `SetWorkerDeploymentCurrentVersion` and `SetWorkerDeploymentRampingVersion`.
Identity of the client that has the exclusive right to make changes to this Worker Deployment. Empty by default. If this is set, clients whose identity does not match `manager_identity` will not be able to make changes to this Worker Deployment. They can either set their own identity as the manager or unset the field to proceed.
Indicates whether the routing_config has been fully propagated to all relevant task queues and their partitions.
Used in: ,
Deprecated. Use `deployment_version`.
The status of the Worker Deployment Version.
Required.
Deprecated. Use `drainage_info` instead.
Information about workflow drainage to help the user determine when it is safe to decommission a Version. Not present while version is current or ramping
Unset if not current. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --)
Unset if not ramping. Updated when the version first starts ramping, not on each ramp change. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --)
Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed.
Timestamp when this version first became current or ramping.
Timestamp when this version last became current. Can be used to determine whether a version has ever been Current.
Timestamp when this version last stopped being current or ramping. Cleared if the version becomes current or ramping again.
ComputeStatus represents compute-related configuration and healthchecks.
Worker Deployment options set in SDK that need to be sent to server in every poll.
Used in: , , , , , , , , , ,
Required when `worker_versioning_mode==VERSIONED`.
The Build ID of the worker. Required when `worker_versioning_mode==VERSIONED`, in which case, the worker will be part of a Deployment Version.
Required. Versioning Mode for this worker. Must be the same for all workers with the same `deployment_name` and `build_id` combination, across all Task Queues. When `worker_versioning_mode==VERSIONED`, the worker will be part of a Deployment Version.
A Worker Deployment Version (Version, for short) represents a version of workers within a Worker Deployment. (see documentation of WorkerDeploymentVersionInfo) Version records are created in Temporal server automatically when their first poller arrives to the server. Experimental. Worker Deployment Versions are experimental and might significantly change in the future.
Used in: , , , , , , , , , , , , , , , , , , , , , ,
A unique identifier for this Version within the Deployment it is a part of. Not necessarily unique within the namespace. The combination of `deployment_name` and `build_id` uniquely identifies this Version within the namespace, because Deployment names are unique within a namespace.
Identifies the Worker Deployment this Version is part of.
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.
Used in:
Deprecated. Use `deployment_version`.
The status of the Worker Deployment Version.
Required.
Deprecated. User deployment_version.deployment_name.
Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed.
(-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) Unset if not current.
(-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) Unset if not ramping. Updated when the version first starts ramping, not on each ramp change.
Timestamp when this version first became current or ramping.
Timestamp when this version last became current. Can be used to determine whether a version has ever been Current.
Timestamp when this version last stopped being current or ramping. Cleared if the version becomes current or ramping again.
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.
All the Task Queues that have ever polled from this Deployment version. Deprecated. Use `version_task_queues` in DescribeWorkerDeploymentVersionResponse instead.
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".
Arbitrary user-provided metadata attached to this version.
Optional. Contains the new worker compute configuration for the Worker Deployment. Used for worker scale management.
Identity of the last client who modified the configuration of this Version. As of now, this field only covers changes through the following APIs: - `CreateWorkerDeploymentVersion` - `UpdateWorkerDeploymentVersionComputeConfig` - `UpdateWorkerDeploymentVersionMetadata`
Used in: