Table of Contents

Class StartNexusOperationExecutionRequest

Namespace
Temporalio.Api.WorkflowService.V1
Assembly
Temporalio.dll
public sealed class StartNexusOperationExecutionRequest : IMessage<StartNexusOperationExecutionRequest>, IEquatable<StartNexusOperationExecutionRequest>, IDeepCloneable<StartNexusOperationExecutionRequest>, IBufferMessage, IMessage
Inheritance
StartNexusOperationExecutionRequest
Implements
IBufferMessage
IMessage
Inherited Members

Constructors

StartNexusOperationExecutionRequest()

public StartNexusOperationExecutionRequest()

StartNexusOperationExecutionRequest(StartNexusOperationExecutionRequest)

public StartNexusOperationExecutionRequest(StartNexusOperationExecutionRequest other)

Parameters

other StartNexusOperationExecutionRequest

Fields

EndpointFieldNumber

Field number for the "endpoint" field.

public const int EndpointFieldNumber = 5

Field Value

int

IdConflictPolicyFieldNumber

Field number for the "id_conflict_policy" field.

public const int IdConflictPolicyFieldNumber = 13

Field Value

int

IdReusePolicyFieldNumber

Field number for the "id_reuse_policy" field.

public const int IdReusePolicyFieldNumber = 12

Field Value

int

IdentityFieldNumber

Field number for the "identity" field.

public const int IdentityFieldNumber = 2

Field Value

int

InputFieldNumber

Field number for the "input" field.

public const int InputFieldNumber = 11

Field Value

int

NamespaceFieldNumber

Field number for the "namespace" field.

public const int NamespaceFieldNumber = 1

Field Value

int

NexusHeaderFieldNumber

Field number for the "nexus_header" field.

public const int NexusHeaderFieldNumber = 15

Field Value

int

OperationFieldNumber

Field number for the "operation" field.

public const int OperationFieldNumber = 7

Field Value

int

OperationIdFieldNumber

Field number for the "operation_id" field.

public const int OperationIdFieldNumber = 4

Field Value

int

RequestIdFieldNumber

Field number for the "request_id" field.

public const int RequestIdFieldNumber = 3

Field Value

int

ScheduleToCloseTimeoutFieldNumber

Field number for the "schedule_to_close_timeout" field.

public const int ScheduleToCloseTimeoutFieldNumber = 8

Field Value

int

ScheduleToStartTimeoutFieldNumber

Field number for the "schedule_to_start_timeout" field.

public const int ScheduleToStartTimeoutFieldNumber = 9

Field Value

int

SearchAttributesFieldNumber

Field number for the "search_attributes" field.

public const int SearchAttributesFieldNumber = 14

Field Value

int

ServiceFieldNumber

Field number for the "service" field.

public const int ServiceFieldNumber = 6

Field Value

int

StartToCloseTimeoutFieldNumber

Field number for the "start_to_close_timeout" field.

public const int StartToCloseTimeoutFieldNumber = 10

Field Value

int

UserMetadataFieldNumber

Field number for the "user_metadata" field.

public const int UserMetadataFieldNumber = 16

Field Value

int

Properties

Descriptor

public static MessageDescriptor Descriptor { get; }

Property Value

MessageDescriptor

Endpoint

Endpoint name, resolved to a URL via the cluster's endpoint registry.

public string Endpoint { get; set; }

Property Value

string

IdConflictPolicy

Defines how to resolve an operation id conflict with a running operation. The default policy is NEXUS_OPERATION_ID_CONFLICT_POLICY_FAIL.

public NexusOperationIdConflictPolicy IdConflictPolicy { get; set; }

Property Value

NexusOperationIdConflictPolicy

IdReusePolicy

Defines whether to allow re-using the operation id from a previously closed operation. The default policy is NEXUS_OPERATION_ID_REUSE_POLICY_ALLOW_DUPLICATE.

public NexusOperationIdReusePolicy IdReusePolicy { get; set; }

Property Value

NexusOperationIdReusePolicy

Identity

The identity of the client who initiated this request.

public string Identity { get; set; }

Property Value

string

Input

Serialized input to the operation. Passed as the request payload.

public Payload Input { get; set; }

Property Value

Payload

Namespace

public string Namespace { get; set; }

Property Value

string

NexusHeader

Header to attach to the Nexus request. Users are responsible for encrypting sensitive data in this header as it is stored in workflow history and transmitted to external services as-is. This is useful for propagating tracing information. Note these headers are not the same as Temporal headers on internal activities and child workflows, these are transmitted to Nexus operations that may be external and are not traditional payloads.

public MapField<string, string> NexusHeader { get; }

Property Value

MapField<string, string>

Operation

Operation name.

public string Operation { get; set; }

Property Value

string

OperationId

Identifier for this operation. This is a caller-side ID, distinct from any internal operation identifiers generated by the handler. Must be unique among operations in the same namespace, subject to the rules imposed by id_reuse_policy and id_conflict_policy.

public string OperationId { get; set; }

Property Value

string

Parser

public static MessageParser<StartNexusOperationExecutionRequest> Parser { get; }

Property Value

MessageParser<StartNexusOperationExecutionRequest>

RequestId

A unique identifier for this caller-side start request. Typically UUIDv4. StartOperation requests sent to the handler will use a server-generated request ID.

public string RequestId { get; set; }

Property Value

string

ScheduleToCloseTimeout

Schedule-to-close timeout for this operation. Indicates how long the caller is willing to wait for operation completion. Calls are retried internally by the server. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

public Duration ScheduleToCloseTimeout { get; set; }

Property Value

Duration

ScheduleToStartTimeout

Schedule-to-start timeout for this operation. Indicates how long the caller is willing to wait for the operation to be started (or completed if synchronous) by the handler. If not set or zero, no schedule-to-start timeout is enforced. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

public Duration ScheduleToStartTimeout { get; set; }

Property Value

Duration

SearchAttributes

Search attributes for indexing.

public SearchAttributes SearchAttributes { get; set; }

Property Value

SearchAttributes

Service

Service name.

public string Service { get; set; }

Property Value

string

StartToCloseTimeout

Start-to-close timeout for this operation. Indicates how long the caller is willing to wait for an asynchronous operation to complete after it has been started. Synchronous operations ignore this timeout. If not set or zero, no start-to-close timeout is enforced. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

public Duration StartToCloseTimeout { get; set; }

Property Value

Duration

UserMetadata

Metadata for use by user interfaces to display the fixed as-of-start summary and details of the operation.

public UserMetadata UserMetadata { get; set; }

Property Value

UserMetadata

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 StartNexusOperationExecutionRequest Clone()

Returns

StartNexusOperationExecutionRequest

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(StartNexusOperationExecutionRequest)

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

public bool Equals(StartNexusOperationExecutionRequest other)

Parameters

other StartNexusOperationExecutionRequest

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(StartNexusOperationExecutionRequest)

Merges the given message into this one.

public void MergeFrom(StartNexusOperationExecutionRequest other)

Parameters

other StartNexusOperationExecutionRequest

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.