diff --git a/durabletask/client.py b/durabletask/client.py index 3b4d4e3..6c379f9 100644 --- a/durabletask/client.py +++ b/durabletask/client.py @@ -225,6 +225,26 @@ def resume_orchestration(self, instance_id: str): self._logger.info(f"Resuming instance '{instance_id}'.") self._stub.ResumeInstance(req) + def restart_orchestration(self, instance_id: str, *, + restart_with_new_instance_id: bool = False) -> str: + """Restarts an existing orchestration instance. + + Args: + instance_id: The ID of the orchestration instance to restart. + restart_with_new_instance_id: If True, the restarted orchestration will use a new instance ID. + If False (default), the restarted orchestration will reuse the same instance ID. + + Returns: + The instance ID of the restarted orchestration. + """ + req = pb.RestartInstanceRequest( + instanceId=instance_id, + restartWithNewInstanceId=restart_with_new_instance_id) + + self._logger.info(f"Restarting instance '{instance_id}'.") + res: pb.RestartInstanceResponse = self._stub.RestartInstance(req) + return res.instanceId + def purge_orchestration(self, instance_id: str, recursive: bool = True): req = pb.PurgeInstancesRequest(instanceId=instance_id, recursive=recursive) self._logger.info(f"Purging instance '{instance_id}'.") diff --git a/durabletask/internal/PROTO_SOURCE_COMMIT_HASH b/durabletask/internal/PROTO_SOURCE_COMMIT_HASH index a4aafda..e36b7d0 100644 --- a/durabletask/internal/PROTO_SOURCE_COMMIT_HASH +++ b/durabletask/internal/PROTO_SOURCE_COMMIT_HASH @@ -1,2 +1,3 @@ 443b333f4f65a438dc9eb4f090560d232afec4b7 fd9369c6a03d6af4e95285e432b7c4e943c06970 +026329c53fe6363985655857b9ca848ec7238bd2 diff --git a/durabletask/internal/orchestrator_service_pb2.py b/durabletask/internal/orchestrator_service_pb2.py index 0edb397..76ab46e 100644 --- a/durabletask/internal/orchestrator_service_pb2.py +++ b/durabletask/internal/orchestrator_service_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: durabletask/internal/orchestrator_service.proto -# Protobuf Python Version: 5.26.1 +# Protobuf Python Version: 6.31.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 'durabletask/internal/orchestrator_service.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,7 +29,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/durabletask/internal/orchestrator_service.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"^\n\x15OrchestrationInstance\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x31\n\x0b\x65xecutionId\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xed\x01\n\x0f\x41\x63tivityRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x07version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x15orchestrationInstance\x18\x04 \x01(\x0b\x32\x16.OrchestrationInstance\x12\x0e\n\x06taskId\x18\x05 \x01(\x05\x12)\n\x12parentTraceContext\x18\x06 \x01(\x0b\x32\r.TraceContext\"\xaa\x01\n\x10\x41\x63tivityResponse\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0e\n\x06taskId\x18\x02 \x01(\x05\x12,\n\x06result\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x0e\x66\x61ilureDetails\x18\x04 \x01(\x0b\x32\x13.TaskFailureDetails\x12\x17\n\x0f\x63ompletionToken\x18\x05 \x01(\t\"\xb2\x01\n\x12TaskFailureDetails\x12\x11\n\terrorType\x18\x01 \x01(\t\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\x12\x30\n\nstackTrace\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x0cinnerFailure\x18\x04 \x01(\x0b\x32\x13.TaskFailureDetails\x12\x16\n\x0eisNonRetriable\x18\x05 \x01(\x08\"\xbf\x01\n\x12ParentInstanceInfo\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12*\n\x04name\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x15orchestrationInstance\x18\x04 \x01(\x0b\x32\x16.OrchestrationInstance\"i\n\x0cTraceContext\x12\x13\n\x0btraceParent\x18\x01 \x01(\t\x12\x12\n\x06spanID\x18\x02 \x01(\tB\x02\x18\x01\x12\x30\n\ntraceState\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xe5\x03\n\x15\x45xecutionStartedEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x07version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x15orchestrationInstance\x18\x04 \x01(\x0b\x32\x16.OrchestrationInstance\x12+\n\x0eparentInstance\x18\x05 \x01(\x0b\x32\x13.ParentInstanceInfo\x12;\n\x17scheduledStartTimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x12parentTraceContext\x18\x07 \x01(\x0b\x32\r.TraceContext\x12\x39\n\x13orchestrationSpanID\x18\x08 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x04tags\x18\t \x03(\x0b\x32 .ExecutionStartedEvent.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa7\x01\n\x17\x45xecutionCompletedEvent\x12\x31\n\x13orchestrationStatus\x18\x01 \x01(\x0e\x32\x14.OrchestrationStatus\x12,\n\x06result\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x0e\x66\x61ilureDetails\x18\x03 \x01(\x0b\x32\x13.TaskFailureDetails\"X\n\x18\x45xecutionTerminatedEvent\x12+\n\x05input\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x0f\n\x07recurse\x18\x02 \x01(\x08\"\x83\x02\n\x12TaskScheduledEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x07version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x12parentTraceContext\x18\x04 \x01(\x0b\x32\r.TraceContext\x12+\n\x04tags\x18\x05 \x03(\x0b\x32\x1d.TaskScheduledEvent.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"[\n\x12TaskCompletedEvent\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12,\n\x06result\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"W\n\x0fTaskFailedEvent\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12+\n\x0e\x66\x61ilureDetails\x18\x02 \x01(\x0b\x32\x13.TaskFailureDetails\"\xcf\x01\n$SubOrchestrationInstanceCreatedEvent\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x12parentTraceContext\x18\x05 \x01(\x0b\x32\r.TraceContext\"o\n&SubOrchestrationInstanceCompletedEvent\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12,\n\x06result\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"k\n#SubOrchestrationInstanceFailedEvent\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12+\n\x0e\x66\x61ilureDetails\x18\x02 \x01(\x0b\x32\x13.TaskFailureDetails\"?\n\x11TimerCreatedEvent\x12*\n\x06\x66ireAt\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"N\n\x0fTimerFiredEvent\x12*\n\x06\x66ireAt\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07timerId\x18\x02 \x01(\x05\"\x1a\n\x18OrchestratorStartedEvent\"\x1c\n\x1aOrchestratorCompletedEvent\"_\n\x0e\x45ventSentEvent\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"M\n\x10\x45ventRaisedEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12+\n\x05input\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\":\n\x0cGenericEvent\x12*\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"D\n\x11HistoryStateEvent\x12/\n\x12orchestrationState\x18\x01 \x01(\x0b\x32\x13.OrchestrationState\"A\n\x12\x43ontinueAsNewEvent\x12+\n\x05input\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"F\n\x17\x45xecutionSuspendedEvent\x12+\n\x05input\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"D\n\x15\x45xecutionResumedEvent\x12+\n\x05input\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xdc\x01\n\x1c\x45ntityOperationSignaledEvent\x12\x11\n\trequestId\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12\x31\n\rscheduledTime\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10targetInstanceId\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xcb\x02\n\x1a\x45ntityOperationCalledEvent\x12\x11\n\trequestId\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12\x31\n\rscheduledTime\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10parentInstanceId\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x11parentExecutionId\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10targetInstanceId\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x90\x01\n\x18\x45ntityLockRequestedEvent\x12\x19\n\x11\x63riticalSectionId\x18\x01 \x01(\t\x12\x0f\n\x07lockSet\x18\x02 \x03(\t\x12\x10\n\x08position\x18\x03 \x01(\x05\x12\x36\n\x10parentInstanceId\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"`\n\x1d\x45ntityOperationCompletedEvent\x12\x11\n\trequestId\x18\x01 \x01(\t\x12,\n\x06output\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\\\n\x1a\x45ntityOperationFailedEvent\x12\x11\n\trequestId\x18\x01 \x01(\t\x12+\n\x0e\x66\x61ilureDetails\x18\x02 \x01(\x0b\x32\x13.TaskFailureDetails\"\xa2\x01\n\x15\x45ntityUnlockSentEvent\x12\x19\n\x11\x63riticalSectionId\x18\x01 \x01(\t\x12\x36\n\x10parentInstanceId\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10targetInstanceId\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"3\n\x16\x45ntityLockGrantedEvent\x12\x19\n\x11\x63riticalSectionId\x18\x01 \x01(\t\"\xac\x0c\n\x0cHistoryEvent\x12\x0f\n\x07\x65ventId\x18\x01 \x01(\x05\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x10\x65xecutionStarted\x18\x03 \x01(\x0b\x32\x16.ExecutionStartedEventH\x00\x12\x36\n\x12\x65xecutionCompleted\x18\x04 \x01(\x0b\x32\x18.ExecutionCompletedEventH\x00\x12\x38\n\x13\x65xecutionTerminated\x18\x05 \x01(\x0b\x32\x19.ExecutionTerminatedEventH\x00\x12,\n\rtaskScheduled\x18\x06 \x01(\x0b\x32\x13.TaskScheduledEventH\x00\x12,\n\rtaskCompleted\x18\x07 \x01(\x0b\x32\x13.TaskCompletedEventH\x00\x12&\n\ntaskFailed\x18\x08 \x01(\x0b\x32\x10.TaskFailedEventH\x00\x12P\n\x1fsubOrchestrationInstanceCreated\x18\t \x01(\x0b\x32%.SubOrchestrationInstanceCreatedEventH\x00\x12T\n!subOrchestrationInstanceCompleted\x18\n \x01(\x0b\x32\'.SubOrchestrationInstanceCompletedEventH\x00\x12N\n\x1esubOrchestrationInstanceFailed\x18\x0b \x01(\x0b\x32$.SubOrchestrationInstanceFailedEventH\x00\x12*\n\x0ctimerCreated\x18\x0c \x01(\x0b\x32\x12.TimerCreatedEventH\x00\x12&\n\ntimerFired\x18\r \x01(\x0b\x32\x10.TimerFiredEventH\x00\x12\x38\n\x13orchestratorStarted\x18\x0e \x01(\x0b\x32\x19.OrchestratorStartedEventH\x00\x12<\n\x15orchestratorCompleted\x18\x0f \x01(\x0b\x32\x1b.OrchestratorCompletedEventH\x00\x12$\n\teventSent\x18\x10 \x01(\x0b\x32\x0f.EventSentEventH\x00\x12(\n\x0b\x65ventRaised\x18\x11 \x01(\x0b\x32\x11.EventRaisedEventH\x00\x12%\n\x0cgenericEvent\x18\x12 \x01(\x0b\x32\r.GenericEventH\x00\x12*\n\x0chistoryState\x18\x13 \x01(\x0b\x32\x12.HistoryStateEventH\x00\x12,\n\rcontinueAsNew\x18\x14 \x01(\x0b\x32\x13.ContinueAsNewEventH\x00\x12\x36\n\x12\x65xecutionSuspended\x18\x15 \x01(\x0b\x32\x18.ExecutionSuspendedEventH\x00\x12\x32\n\x10\x65xecutionResumed\x18\x16 \x01(\x0b\x32\x16.ExecutionResumedEventH\x00\x12@\n\x17\x65ntityOperationSignaled\x18\x17 \x01(\x0b\x32\x1d.EntityOperationSignaledEventH\x00\x12<\n\x15\x65ntityOperationCalled\x18\x18 \x01(\x0b\x32\x1b.EntityOperationCalledEventH\x00\x12\x42\n\x18\x65ntityOperationCompleted\x18\x19 \x01(\x0b\x32\x1e.EntityOperationCompletedEventH\x00\x12<\n\x15\x65ntityOperationFailed\x18\x1a \x01(\x0b\x32\x1b.EntityOperationFailedEventH\x00\x12\x38\n\x13\x65ntityLockRequested\x18\x1b \x01(\x0b\x32\x19.EntityLockRequestedEventH\x00\x12\x34\n\x11\x65ntityLockGranted\x18\x1c \x01(\x0b\x32\x17.EntityLockGrantedEventH\x00\x12\x32\n\x10\x65ntityUnlockSent\x18\x1d \x01(\x0b\x32\x16.EntityUnlockSentEventH\x00\x42\x0b\n\teventType\"\xd8\x01\n\x12ScheduleTaskAction\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x07version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x04tags\x18\x04 \x03(\x0b\x32\x1d.ScheduleTaskAction.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9c\x01\n\x1c\x43reateSubOrchestrationAction\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"?\n\x11\x43reateTimerAction\x12*\n\x06\x66ireAt\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"u\n\x0fSendEventAction\x12(\n\x08instance\x18\x01 \x01(\x0b\x32\x16.OrchestrationInstance\x12\x0c\n\x04name\x18\x02 \x01(\t\x12*\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xb4\x02\n\x1b\x43ompleteOrchestrationAction\x12\x31\n\x13orchestrationStatus\x18\x01 \x01(\x0e\x32\x14.OrchestrationStatus\x12,\n\x06result\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07\x64\x65tails\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\nnewVersion\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12&\n\x0f\x63\x61rryoverEvents\x18\x05 \x03(\x0b\x32\r.HistoryEvent\x12+\n\x0e\x66\x61ilureDetails\x18\x06 \x01(\x0b\x32\x13.TaskFailureDetails\"q\n\x1cTerminateOrchestrationAction\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06reason\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x0f\n\x07recurse\x18\x03 \x01(\x08\"\x9c\x02\n\x17SendEntityMessageAction\x12@\n\x17\x65ntityOperationSignaled\x18\x01 \x01(\x0b\x32\x1d.EntityOperationSignaledEventH\x00\x12<\n\x15\x65ntityOperationCalled\x18\x02 \x01(\x0b\x32\x1b.EntityOperationCalledEventH\x00\x12\x38\n\x13\x65ntityLockRequested\x18\x03 \x01(\x0b\x32\x19.EntityLockRequestedEventH\x00\x12\x32\n\x10\x65ntityUnlockSent\x18\x04 \x01(\x0b\x32\x16.EntityUnlockSentEventH\x00\x42\x13\n\x11\x45ntityMessageType\"\xb1\x03\n\x12OrchestratorAction\x12\n\n\x02id\x18\x01 \x01(\x05\x12+\n\x0cscheduleTask\x18\x02 \x01(\x0b\x32\x13.ScheduleTaskActionH\x00\x12?\n\x16\x63reateSubOrchestration\x18\x03 \x01(\x0b\x32\x1d.CreateSubOrchestrationActionH\x00\x12)\n\x0b\x63reateTimer\x18\x04 \x01(\x0b\x32\x12.CreateTimerActionH\x00\x12%\n\tsendEvent\x18\x05 \x01(\x0b\x32\x10.SendEventActionH\x00\x12=\n\x15\x63ompleteOrchestration\x18\x06 \x01(\x0b\x32\x1c.CompleteOrchestrationActionH\x00\x12?\n\x16terminateOrchestration\x18\x07 \x01(\x0b\x32\x1d.TerminateOrchestrationActionH\x00\x12\x35\n\x11sendEntityMessage\x18\x08 \x01(\x0b\x32\x18.SendEntityMessageActionH\x00\x42\x18\n\x16orchestratorActionType\"\x81\x03\n\x13OrchestratorRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x31\n\x0b\x65xecutionId\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12!\n\npastEvents\x18\x03 \x03(\x0b\x32\r.HistoryEvent\x12 \n\tnewEvents\x18\x04 \x03(\x0b\x32\r.HistoryEvent\x12\x37\n\x10\x65ntityParameters\x18\x05 \x01(\x0b\x32\x1d.OrchestratorEntityParameters\x12 \n\x18requiresHistoryStreaming\x18\x06 \x01(\x08\x12\x38\n\nproperties\x18\x07 \x03(\x0b\x32$.OrchestratorRequest.PropertiesEntry\x1aI\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"\xd6\x01\n\x14OrchestratorResponse\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12$\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x13.OrchestratorAction\x12\x32\n\x0c\x63ustomStatus\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x17\n\x0f\x63ompletionToken\x18\x04 \x01(\t\x12\x37\n\x12numEventsProcessed\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\"\xff\x03\n\x15\x43reateInstanceRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12;\n\x17scheduledStartTimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12?\n\x1aorchestrationIdReusePolicy\x18\x06 \x01(\x0b\x32\x1b.OrchestrationIdReusePolicy\x12\x31\n\x0b\x65xecutionId\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x04tags\x18\x08 \x03(\x0b\x32 .CreateInstanceRequest.TagsEntry\x12)\n\x12parentTraceContext\x18\t \x01(\x0b\x32\r.TraceContext\x12/\n\x0brequestTime\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"S\n\x1aOrchestrationIdReusePolicy\x12/\n\x11replaceableStatus\x18\x01 \x03(\x0e\x32\x14.OrchestrationStatusJ\x04\x08\x02\x10\x03\",\n\x16\x43reateInstanceResponse\x12\x12\n\ninstanceId\x18\x01 \x01(\t\"E\n\x12GetInstanceRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x1b\n\x13getInputsAndOutputs\x18\x02 \x01(\x08\"V\n\x13GetInstanceResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\x12/\n\x12orchestrationState\x18\x02 \x01(\x0b\x32\x13.OrchestrationState\"Y\n\x15RewindInstanceRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06reason\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x18\n\x16RewindInstanceResponse\"\xfe\x05\n\x12OrchestrationState\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\x13orchestrationStatus\x18\x04 \x01(\x0e\x32\x14.OrchestrationStatus\x12;\n\x17scheduledStartTimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10\x63reatedTimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14lastUpdatedTimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x05input\x18\x08 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06output\x18\t \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0c\x63ustomStatus\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x0e\x66\x61ilureDetails\x18\x0b \x01(\x0b\x32\x13.TaskFailureDetails\x12\x31\n\x0b\x65xecutionId\x18\x0c \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x12\x63ompletedTimestamp\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x10parentInstanceId\x18\x0e \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x04tags\x18\x0f \x03(\x0b\x32\x1d.OrchestrationState.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"b\n\x11RaiseEventRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x14\n\x12RaiseEventResponse\"g\n\x10TerminateRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06output\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x11\n\trecursive\x18\x03 \x01(\x08\"\x13\n\x11TerminateResponse\"R\n\x0eSuspendRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06reason\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x11\n\x0fSuspendResponse\"Q\n\rResumeRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06reason\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x10\n\x0eResumeResponse\"6\n\x15QueryInstancesRequest\x12\x1d\n\x05query\x18\x01 \x01(\x0b\x32\x0e.InstanceQuery\"\x82\x03\n\rInstanceQuery\x12+\n\rruntimeStatus\x18\x01 \x03(\x0e\x32\x14.OrchestrationStatus\x12\x33\n\x0f\x63reatedTimeFrom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rcreatedTimeTo\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0ctaskHubNames\x18\x04 \x03(\x0b\x32\x1c.google.protobuf.StringValue\x12\x18\n\x10maxInstanceCount\x18\x05 \x01(\x05\x12\x37\n\x11\x63ontinuationToken\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10instanceIdPrefix\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1d\n\x15\x66\x65tchInputsAndOutputs\x18\x08 \x01(\x08\"\x82\x01\n\x16QueryInstancesResponse\x12/\n\x12orchestrationState\x18\x01 \x03(\x0b\x32\x13.OrchestrationState\x12\x37\n\x11\x63ontinuationToken\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x80\x01\n\x15PurgeInstancesRequest\x12\x14\n\ninstanceId\x18\x01 \x01(\tH\x00\x12\x33\n\x13purgeInstanceFilter\x18\x02 \x01(\x0b\x32\x14.PurgeInstanceFilterH\x00\x12\x11\n\trecursive\x18\x03 \x01(\x08\x42\t\n\x07request\"\xaa\x01\n\x13PurgeInstanceFilter\x12\x33\n\x0f\x63reatedTimeFrom\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rcreatedTimeTo\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\rruntimeStatus\x18\x03 \x03(\x0e\x32\x14.OrchestrationStatus\"f\n\x16PurgeInstancesResponse\x12\x1c\n\x14\x64\x65letedInstanceCount\x18\x01 \x01(\x05\x12.\n\nisComplete\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"0\n\x14\x43reateTaskHubRequest\x12\x18\n\x10recreateIfExists\x18\x01 \x01(\x08\"\x17\n\x15\x43reateTaskHubResponse\"\x16\n\x14\x44\x65leteTaskHubRequest\"\x17\n\x15\x44\x65leteTaskHubResponse\"\x86\x02\n\x13SignalEntityRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x11\n\trequestId\x18\x04 \x01(\t\x12\x31\n\rscheduledTime\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x12parentTraceContext\x18\x06 \x01(\x0b\x32\r.TraceContext\x12/\n\x0brequestTime\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x16\n\x14SignalEntityResponse\"<\n\x10GetEntityRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x14\n\x0cincludeState\x18\x02 \x01(\x08\"D\n\x11GetEntityResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\x12\x1f\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x0f.EntityMetadata\"\xcb\x02\n\x0b\x45ntityQuery\x12:\n\x14instanceIdStartsWith\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x34\n\x10lastModifiedFrom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elastModifiedTo\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0cincludeState\x18\x04 \x01(\x08\x12\x18\n\x10includeTransient\x18\x05 \x01(\x08\x12-\n\x08pageSize\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x37\n\x11\x63ontinuationToken\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"3\n\x14QueryEntitiesRequest\x12\x1b\n\x05query\x18\x01 \x01(\x0b\x32\x0c.EntityQuery\"s\n\x15QueryEntitiesResponse\x12!\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x0f.EntityMetadata\x12\x37\n\x11\x63ontinuationToken\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xdb\x01\n\x0e\x45ntityMetadata\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x34\n\x10lastModifiedTime\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x62\x61\x63klogQueueSize\x18\x03 \x01(\x05\x12.\n\x08lockedBy\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0fserializedState\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x8f\x01\n\x19\x43leanEntityStorageRequest\x12\x37\n\x11\x63ontinuationToken\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1b\n\x13removeEmptyEntities\x18\x02 \x01(\x08\x12\x1c\n\x14releaseOrphanedLocks\x18\x03 \x01(\x08\"\x92\x01\n\x1a\x43leanEntityStorageResponse\x12\x37\n\x11\x63ontinuationToken\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1c\n\x14\x65mptyEntitiesRemoved\x18\x02 \x01(\x05\x12\x1d\n\x15orphanedLocksReleased\x18\x03 \x01(\x05\"]\n\x1cOrchestratorEntityParameters\x12=\n\x1a\x65ntityMessageReorderWindow\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x82\x01\n\x12\x45ntityBatchRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x31\n\x0b\x65ntityState\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12%\n\noperations\x18\x03 \x03(\x0b\x32\x11.OperationRequest\"\xfa\x01\n\x11\x45ntityBatchResult\x12!\n\x07results\x18\x01 \x03(\x0b\x32\x10.OperationResult\x12!\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x10.OperationAction\x12\x31\n\x0b\x65ntityState\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x0e\x66\x61ilureDetails\x18\x04 \x01(\x0b\x32\x13.TaskFailureDetails\x12\x17\n\x0f\x63ompletionToken\x18\x05 \x01(\t\x12&\n\x0eoperationInfos\x18\x06 \x03(\x0b\x32\x0e.OperationInfo\"\x95\x01\n\rEntityRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x13\n\x0b\x65xecutionId\x18\x02 \x01(\t\x12\x31\n\x0b\x65ntityState\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12(\n\x11operationRequests\x18\x04 \x03(\x0b\x32\r.HistoryEvent\"\x8a\x01\n\x10OperationRequest\x12\x11\n\toperation\x18\x01 \x01(\t\x12\x11\n\trequestId\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12#\n\x0ctraceContext\x18\x04 \x01(\x0b\x32\r.TraceContext\"w\n\x0fOperationResult\x12*\n\x07success\x18\x01 \x01(\x0b\x32\x17.OperationResultSuccessH\x00\x12*\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32\x17.OperationResultFailureH\x00\x42\x0c\n\nresultType\"W\n\rOperationInfo\x12\x11\n\trequestId\x18\x01 \x01(\t\x12\x33\n\x13responseDestination\x18\x02 \x01(\x0b\x32\x16.OrchestrationInstance\"\xa8\x01\n\x16OperationResultSuccess\x12,\n\x06result\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\x0cstartTimeUtc\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nendTimeUtc\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa7\x01\n\x16OperationResultFailure\x12+\n\x0e\x66\x61ilureDetails\x18\x01 \x01(\x0b\x32\x13.TaskFailureDetails\x12\x30\n\x0cstartTimeUtc\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nendTimeUtc\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9c\x01\n\x0fOperationAction\x12\n\n\x02id\x18\x01 \x01(\x05\x12\'\n\nsendSignal\x18\x02 \x01(\x0b\x32\x11.SendSignalActionH\x00\x12=\n\x15startNewOrchestration\x18\x03 \x01(\x0b\x32\x1c.StartNewOrchestrationActionH\x00\x42\x15\n\x13operationActionType\"\xf0\x01\n\x10SendSignalAction\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\rscheduledTime\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0brequestTime\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x12parentTraceContext\x18\x06 \x01(\x0b\x32\r.TraceContext\"\xaa\x02\n\x1bStartNewOrchestrationAction\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\rscheduledTime\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0brequestTime\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x12parentTraceContext\x18\x07 \x01(\x0b\x32\r.TraceContext\"5\n\x1a\x41\x62\x61ndonActivityTaskRequest\x12\x17\n\x0f\x63ompletionToken\x18\x01 \x01(\t\"\x1d\n\x1b\x41\x62\x61ndonActivityTaskResponse\":\n\x1f\x41\x62\x61ndonOrchestrationTaskRequest\x12\x17\n\x0f\x63ompletionToken\x18\x01 \x01(\t\"\"\n AbandonOrchestrationTaskResponse\"3\n\x18\x41\x62\x61ndonEntityTaskRequest\x12\x17\n\x0f\x63ompletionToken\x18\x01 \x01(\t\"\x1b\n\x19\x41\x62\x61ndonEntityTaskResponse\"\xb9\x01\n\x13GetWorkItemsRequest\x12+\n#maxConcurrentOrchestrationWorkItems\x18\x01 \x01(\x05\x12&\n\x1emaxConcurrentActivityWorkItems\x18\x02 \x01(\x05\x12$\n\x1cmaxConcurrentEntityWorkItems\x18\x03 \x01(\x05\x12\'\n\x0c\x63\x61pabilities\x18\n \x03(\x0e\x32\x11.WorkerCapability\"\x8c\x02\n\x08WorkItem\x12\x33\n\x13orchestratorRequest\x18\x01 \x01(\x0b\x32\x14.OrchestratorRequestH\x00\x12+\n\x0f\x61\x63tivityRequest\x18\x02 \x01(\x0b\x32\x10.ActivityRequestH\x00\x12,\n\rentityRequest\x18\x03 \x01(\x0b\x32\x13.EntityBatchRequestH\x00\x12!\n\nhealthPing\x18\x04 \x01(\x0b\x32\x0b.HealthPingH\x00\x12)\n\x0f\x65ntityRequestV2\x18\x05 \x01(\x0b\x32\x0e.EntityRequestH\x00\x12\x17\n\x0f\x63ompletionToken\x18\n \x01(\tB\t\n\x07request\"\x16\n\x14\x43ompleteTaskResponse\"\x0c\n\nHealthPing\"\x84\x01\n\x1cStreamInstanceHistoryRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x31\n\x0b\x65xecutionId\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1d\n\x15\x66orWorkItemProcessing\x18\x03 \x01(\x08\"-\n\x0cHistoryChunk\x12\x1d\n\x06\x65vents\x18\x01 \x03(\x0b\x32\r.HistoryEvent*\xb5\x02\n\x13OrchestrationStatus\x12 \n\x1cORCHESTRATION_STATUS_RUNNING\x10\x00\x12\"\n\x1eORCHESTRATION_STATUS_COMPLETED\x10\x01\x12)\n%ORCHESTRATION_STATUS_CONTINUED_AS_NEW\x10\x02\x12\x1f\n\x1bORCHESTRATION_STATUS_FAILED\x10\x03\x12!\n\x1dORCHESTRATION_STATUS_CANCELED\x10\x04\x12#\n\x1fORCHESTRATION_STATUS_TERMINATED\x10\x05\x12 \n\x1cORCHESTRATION_STATUS_PENDING\x10\x06\x12\"\n\x1eORCHESTRATION_STATUS_SUSPENDED\x10\x07*^\n\x10WorkerCapability\x12!\n\x1dWORKER_CAPABILITY_UNSPECIFIED\x10\x00\x12\'\n#WORKER_CAPABILITY_HISTORY_STREAMING\x10\x01\x32\xdb\r\n\x15TaskHubSidecarService\x12\x37\n\x05Hello\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12@\n\rStartInstance\x12\x16.CreateInstanceRequest\x1a\x17.CreateInstanceResponse\x12\x38\n\x0bGetInstance\x12\x13.GetInstanceRequest\x1a\x14.GetInstanceResponse\x12\x41\n\x0eRewindInstance\x12\x16.RewindInstanceRequest\x1a\x17.RewindInstanceResponse\x12\x41\n\x14WaitForInstanceStart\x12\x13.GetInstanceRequest\x1a\x14.GetInstanceResponse\x12\x46\n\x19WaitForInstanceCompletion\x12\x13.GetInstanceRequest\x1a\x14.GetInstanceResponse\x12\x35\n\nRaiseEvent\x12\x12.RaiseEventRequest\x1a\x13.RaiseEventResponse\x12:\n\x11TerminateInstance\x12\x11.TerminateRequest\x1a\x12.TerminateResponse\x12\x34\n\x0fSuspendInstance\x12\x0f.SuspendRequest\x1a\x10.SuspendResponse\x12\x31\n\x0eResumeInstance\x12\x0e.ResumeRequest\x1a\x0f.ResumeResponse\x12\x41\n\x0eQueryInstances\x12\x16.QueryInstancesRequest\x1a\x17.QueryInstancesResponse\x12\x41\n\x0ePurgeInstances\x12\x16.PurgeInstancesRequest\x1a\x17.PurgeInstancesResponse\x12\x31\n\x0cGetWorkItems\x12\x14.GetWorkItemsRequest\x1a\t.WorkItem0\x01\x12@\n\x14\x43ompleteActivityTask\x12\x11.ActivityResponse\x1a\x15.CompleteTaskResponse\x12H\n\x18\x43ompleteOrchestratorTask\x12\x15.OrchestratorResponse\x1a\x15.CompleteTaskResponse\x12?\n\x12\x43ompleteEntityTask\x12\x12.EntityBatchResult\x1a\x15.CompleteTaskResponse\x12G\n\x15StreamInstanceHistory\x12\x1d.StreamInstanceHistoryRequest\x1a\r.HistoryChunk0\x01\x12>\n\rCreateTaskHub\x12\x15.CreateTaskHubRequest\x1a\x16.CreateTaskHubResponse\x12>\n\rDeleteTaskHub\x12\x15.DeleteTaskHubRequest\x1a\x16.DeleteTaskHubResponse\x12;\n\x0cSignalEntity\x12\x14.SignalEntityRequest\x1a\x15.SignalEntityResponse\x12\x32\n\tGetEntity\x12\x11.GetEntityRequest\x1a\x12.GetEntityResponse\x12>\n\rQueryEntities\x12\x15.QueryEntitiesRequest\x1a\x16.QueryEntitiesResponse\x12M\n\x12\x43leanEntityStorage\x12\x1a.CleanEntityStorageRequest\x1a\x1b.CleanEntityStorageResponse\x12X\n\x1b\x41\x62\x61ndonTaskActivityWorkItem\x12\x1b.AbandonActivityTaskRequest\x1a\x1c.AbandonActivityTaskResponse\x12\x66\n\x1f\x41\x62\x61ndonTaskOrchestratorWorkItem\x12 .AbandonOrchestrationTaskRequest\x1a!.AbandonOrchestrationTaskResponse\x12R\n\x19\x41\x62\x61ndonTaskEntityWorkItem\x12\x19.AbandonEntityTaskRequest\x1a\x1a.AbandonEntityTaskResponseBf\n1com.microsoft.durabletask.implementation.protobufZ\x10/internal/protos\xaa\x02\x1eMicrosoft.DurableTask.Protobufb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/durabletask/internal/orchestrator_service.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"^\n\x15OrchestrationInstance\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x31\n\x0b\x65xecutionId\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xed\x01\n\x0f\x41\x63tivityRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x07version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x15orchestrationInstance\x18\x04 \x01(\x0b\x32\x16.OrchestrationInstance\x12\x0e\n\x06taskId\x18\x05 \x01(\x05\x12)\n\x12parentTraceContext\x18\x06 \x01(\x0b\x32\r.TraceContext\"\xaa\x01\n\x10\x41\x63tivityResponse\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0e\n\x06taskId\x18\x02 \x01(\x05\x12,\n\x06result\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x0e\x66\x61ilureDetails\x18\x04 \x01(\x0b\x32\x13.TaskFailureDetails\x12\x17\n\x0f\x63ompletionToken\x18\x05 \x01(\t\"\xb6\x02\n\x12TaskFailureDetails\x12\x11\n\terrorType\x18\x01 \x01(\t\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\x12\x30\n\nstackTrace\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x0cinnerFailure\x18\x04 \x01(\x0b\x32\x13.TaskFailureDetails\x12\x16\n\x0eisNonRetriable\x18\x05 \x01(\x08\x12\x37\n\nproperties\x18\x06 \x03(\x0b\x32#.TaskFailureDetails.PropertiesEntry\x1aI\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"\xbf\x01\n\x12ParentInstanceInfo\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12*\n\x04name\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x15orchestrationInstance\x18\x04 \x01(\x0b\x32\x16.OrchestrationInstance\"i\n\x0cTraceContext\x12\x13\n\x0btraceParent\x18\x01 \x01(\t\x12\x12\n\x06spanID\x18\x02 \x01(\tB\x02\x18\x01\x12\x30\n\ntraceState\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xe5\x03\n\x15\x45xecutionStartedEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x07version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x15orchestrationInstance\x18\x04 \x01(\x0b\x32\x16.OrchestrationInstance\x12+\n\x0eparentInstance\x18\x05 \x01(\x0b\x32\x13.ParentInstanceInfo\x12;\n\x17scheduledStartTimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x12parentTraceContext\x18\x07 \x01(\x0b\x32\r.TraceContext\x12\x39\n\x13orchestrationSpanID\x18\x08 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x04tags\x18\t \x03(\x0b\x32 .ExecutionStartedEvent.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa7\x01\n\x17\x45xecutionCompletedEvent\x12\x31\n\x13orchestrationStatus\x18\x01 \x01(\x0e\x32\x14.OrchestrationStatus\x12,\n\x06result\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x0e\x66\x61ilureDetails\x18\x03 \x01(\x0b\x32\x13.TaskFailureDetails\"X\n\x18\x45xecutionTerminatedEvent\x12+\n\x05input\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x0f\n\x07recurse\x18\x02 \x01(\x08\"\x83\x02\n\x12TaskScheduledEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x07version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x12parentTraceContext\x18\x04 \x01(\x0b\x32\r.TraceContext\x12+\n\x04tags\x18\x05 \x03(\x0b\x32\x1d.TaskScheduledEvent.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"[\n\x12TaskCompletedEvent\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12,\n\x06result\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"W\n\x0fTaskFailedEvent\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12+\n\x0e\x66\x61ilureDetails\x18\x02 \x01(\x0b\x32\x13.TaskFailureDetails\"\xbb\x02\n$SubOrchestrationInstanceCreatedEvent\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x12parentTraceContext\x18\x05 \x01(\x0b\x32\r.TraceContext\x12=\n\x04tags\x18\x06 \x03(\x0b\x32/.SubOrchestrationInstanceCreatedEvent.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"o\n&SubOrchestrationInstanceCompletedEvent\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12,\n\x06result\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"k\n#SubOrchestrationInstanceFailedEvent\x12\x17\n\x0ftaskScheduledId\x18\x01 \x01(\x05\x12+\n\x0e\x66\x61ilureDetails\x18\x02 \x01(\x0b\x32\x13.TaskFailureDetails\"?\n\x11TimerCreatedEvent\x12*\n\x06\x66ireAt\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"N\n\x0fTimerFiredEvent\x12*\n\x06\x66ireAt\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07timerId\x18\x02 \x01(\x05\"\x1a\n\x18OrchestratorStartedEvent\"\x1c\n\x1aOrchestratorCompletedEvent\"_\n\x0e\x45ventSentEvent\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"M\n\x10\x45ventRaisedEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12+\n\x05input\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\":\n\x0cGenericEvent\x12*\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"D\n\x11HistoryStateEvent\x12/\n\x12orchestrationState\x18\x01 \x01(\x0b\x32\x13.OrchestrationState\"A\n\x12\x43ontinueAsNewEvent\x12+\n\x05input\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"F\n\x17\x45xecutionSuspendedEvent\x12+\n\x05input\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"D\n\x15\x45xecutionResumedEvent\x12+\n\x05input\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xdc\x01\n\x1c\x45ntityOperationSignaledEvent\x12\x11\n\trequestId\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12\x31\n\rscheduledTime\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10targetInstanceId\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xcb\x02\n\x1a\x45ntityOperationCalledEvent\x12\x11\n\trequestId\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12\x31\n\rscheduledTime\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10parentInstanceId\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x11parentExecutionId\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10targetInstanceId\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x90\x01\n\x18\x45ntityLockRequestedEvent\x12\x19\n\x11\x63riticalSectionId\x18\x01 \x01(\t\x12\x0f\n\x07lockSet\x18\x02 \x03(\t\x12\x10\n\x08position\x18\x03 \x01(\x05\x12\x36\n\x10parentInstanceId\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"`\n\x1d\x45ntityOperationCompletedEvent\x12\x11\n\trequestId\x18\x01 \x01(\t\x12,\n\x06output\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\\\n\x1a\x45ntityOperationFailedEvent\x12\x11\n\trequestId\x18\x01 \x01(\t\x12+\n\x0e\x66\x61ilureDetails\x18\x02 \x01(\x0b\x32\x13.TaskFailureDetails\"\xa2\x01\n\x15\x45ntityUnlockSentEvent\x12\x19\n\x11\x63riticalSectionId\x18\x01 \x01(\t\x12\x36\n\x10parentInstanceId\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10targetInstanceId\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"3\n\x16\x45ntityLockGrantedEvent\x12\x19\n\x11\x63riticalSectionId\x18\x01 \x01(\t\"\xed\x03\n\x15\x45xecutionRewoundEvent\x12,\n\x06reason\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x11parentExecutionId\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\ninstanceId\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x12parentTraceContext\x18\x04 \x01(\x0b\x32\r.TraceContext\x12*\n\x04name\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07version\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x0eparentInstance\x18\x08 \x01(\x0b\x32\x13.ParentInstanceInfo\x12.\n\x04tags\x18\t \x03(\x0b\x32 .ExecutionRewoundEvent.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe0\x0c\n\x0cHistoryEvent\x12\x0f\n\x07\x65ventId\x18\x01 \x01(\x05\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x10\x65xecutionStarted\x18\x03 \x01(\x0b\x32\x16.ExecutionStartedEventH\x00\x12\x36\n\x12\x65xecutionCompleted\x18\x04 \x01(\x0b\x32\x18.ExecutionCompletedEventH\x00\x12\x38\n\x13\x65xecutionTerminated\x18\x05 \x01(\x0b\x32\x19.ExecutionTerminatedEventH\x00\x12,\n\rtaskScheduled\x18\x06 \x01(\x0b\x32\x13.TaskScheduledEventH\x00\x12,\n\rtaskCompleted\x18\x07 \x01(\x0b\x32\x13.TaskCompletedEventH\x00\x12&\n\ntaskFailed\x18\x08 \x01(\x0b\x32\x10.TaskFailedEventH\x00\x12P\n\x1fsubOrchestrationInstanceCreated\x18\t \x01(\x0b\x32%.SubOrchestrationInstanceCreatedEventH\x00\x12T\n!subOrchestrationInstanceCompleted\x18\n \x01(\x0b\x32\'.SubOrchestrationInstanceCompletedEventH\x00\x12N\n\x1esubOrchestrationInstanceFailed\x18\x0b \x01(\x0b\x32$.SubOrchestrationInstanceFailedEventH\x00\x12*\n\x0ctimerCreated\x18\x0c \x01(\x0b\x32\x12.TimerCreatedEventH\x00\x12&\n\ntimerFired\x18\r \x01(\x0b\x32\x10.TimerFiredEventH\x00\x12\x38\n\x13orchestratorStarted\x18\x0e \x01(\x0b\x32\x19.OrchestratorStartedEventH\x00\x12<\n\x15orchestratorCompleted\x18\x0f \x01(\x0b\x32\x1b.OrchestratorCompletedEventH\x00\x12$\n\teventSent\x18\x10 \x01(\x0b\x32\x0f.EventSentEventH\x00\x12(\n\x0b\x65ventRaised\x18\x11 \x01(\x0b\x32\x11.EventRaisedEventH\x00\x12%\n\x0cgenericEvent\x18\x12 \x01(\x0b\x32\r.GenericEventH\x00\x12*\n\x0chistoryState\x18\x13 \x01(\x0b\x32\x12.HistoryStateEventH\x00\x12,\n\rcontinueAsNew\x18\x14 \x01(\x0b\x32\x13.ContinueAsNewEventH\x00\x12\x36\n\x12\x65xecutionSuspended\x18\x15 \x01(\x0b\x32\x18.ExecutionSuspendedEventH\x00\x12\x32\n\x10\x65xecutionResumed\x18\x16 \x01(\x0b\x32\x16.ExecutionResumedEventH\x00\x12@\n\x17\x65ntityOperationSignaled\x18\x17 \x01(\x0b\x32\x1d.EntityOperationSignaledEventH\x00\x12<\n\x15\x65ntityOperationCalled\x18\x18 \x01(\x0b\x32\x1b.EntityOperationCalledEventH\x00\x12\x42\n\x18\x65ntityOperationCompleted\x18\x19 \x01(\x0b\x32\x1e.EntityOperationCompletedEventH\x00\x12<\n\x15\x65ntityOperationFailed\x18\x1a \x01(\x0b\x32\x1b.EntityOperationFailedEventH\x00\x12\x38\n\x13\x65ntityLockRequested\x18\x1b \x01(\x0b\x32\x19.EntityLockRequestedEventH\x00\x12\x34\n\x11\x65ntityLockGranted\x18\x1c \x01(\x0b\x32\x17.EntityLockGrantedEventH\x00\x12\x32\n\x10\x65ntityUnlockSent\x18\x1d \x01(\x0b\x32\x16.EntityUnlockSentEventH\x00\x12\x32\n\x10\x65xecutionRewound\x18\x1e \x01(\x0b\x32\x16.ExecutionRewoundEventH\x00\x42\x0b\n\teventType\"\x83\x02\n\x12ScheduleTaskAction\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x07version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x04tags\x18\x04 \x03(\x0b\x32\x1d.ScheduleTaskAction.TagsEntry\x12)\n\x12parentTraceContext\x18\x05 \x01(\x0b\x32\r.TraceContext\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xab\x02\n\x1c\x43reateSubOrchestrationAction\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x12parentTraceContext\x18\x05 \x01(\x0b\x32\r.TraceContext\x12\x35\n\x04tags\x18\x06 \x03(\x0b\x32\'.CreateSubOrchestrationAction.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"?\n\x11\x43reateTimerAction\x12*\n\x06\x66ireAt\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"u\n\x0fSendEventAction\x12(\n\x08instance\x18\x01 \x01(\x0b\x32\x16.OrchestrationInstance\x12\x0c\n\x04name\x18\x02 \x01(\t\x12*\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x97\x03\n\x1b\x43ompleteOrchestrationAction\x12\x31\n\x13orchestrationStatus\x18\x01 \x01(\x0e\x32\x14.OrchestrationStatus\x12,\n\x06result\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07\x64\x65tails\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\nnewVersion\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12&\n\x0f\x63\x61rryoverEvents\x18\x05 \x03(\x0b\x32\r.HistoryEvent\x12+\n\x0e\x66\x61ilureDetails\x18\x06 \x01(\x0b\x32\x13.TaskFailureDetails\x12\x34\n\x04tags\x18\x07 \x03(\x0b\x32&.CompleteOrchestrationAction.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"q\n\x1cTerminateOrchestrationAction\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06reason\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x0f\n\x07recurse\x18\x03 \x01(\x08\"\x9c\x02\n\x17SendEntityMessageAction\x12@\n\x17\x65ntityOperationSignaled\x18\x01 \x01(\x0b\x32\x1d.EntityOperationSignaledEventH\x00\x12<\n\x15\x65ntityOperationCalled\x18\x02 \x01(\x0b\x32\x1b.EntityOperationCalledEventH\x00\x12\x38\n\x13\x65ntityLockRequested\x18\x03 \x01(\x0b\x32\x19.EntityLockRequestedEventH\x00\x12\x32\n\x10\x65ntityUnlockSent\x18\x04 \x01(\x0b\x32\x16.EntityUnlockSentEventH\x00\x42\x13\n\x11\x45ntityMessageType\"\xb1\x03\n\x12OrchestratorAction\x12\n\n\x02id\x18\x01 \x01(\x05\x12+\n\x0cscheduleTask\x18\x02 \x01(\x0b\x32\x13.ScheduleTaskActionH\x00\x12?\n\x16\x63reateSubOrchestration\x18\x03 \x01(\x0b\x32\x1d.CreateSubOrchestrationActionH\x00\x12)\n\x0b\x63reateTimer\x18\x04 \x01(\x0b\x32\x12.CreateTimerActionH\x00\x12%\n\tsendEvent\x18\x05 \x01(\x0b\x32\x10.SendEventActionH\x00\x12=\n\x15\x63ompleteOrchestration\x18\x06 \x01(\x0b\x32\x1c.CompleteOrchestrationActionH\x00\x12?\n\x16terminateOrchestration\x18\x07 \x01(\x0b\x32\x1d.TerminateOrchestrationActionH\x00\x12\x35\n\x11sendEntityMessage\x18\x08 \x01(\x0b\x32\x18.SendEntityMessageActionH\x00\x42\x18\n\x16orchestratorActionType\"|\n\x19OrchestrationTraceContext\x12,\n\x06spanID\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\rspanStartTime\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xc0\x03\n\x13OrchestratorRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x31\n\x0b\x65xecutionId\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12!\n\npastEvents\x18\x03 \x03(\x0b\x32\r.HistoryEvent\x12 \n\tnewEvents\x18\x04 \x03(\x0b\x32\r.HistoryEvent\x12\x37\n\x10\x65ntityParameters\x18\x05 \x01(\x0b\x32\x1d.OrchestratorEntityParameters\x12 \n\x18requiresHistoryStreaming\x18\x06 \x01(\x08\x12\x38\n\nproperties\x18\x07 \x03(\x0b\x32$.OrchestratorRequest.PropertiesEntry\x12=\n\x19orchestrationTraceContext\x18\x08 \x01(\x0b\x32\x1a.OrchestrationTraceContext\x1aI\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"\xf2\x02\n\x14OrchestratorResponse\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12$\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x13.OrchestratorAction\x12\x32\n\x0c\x63ustomStatus\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x17\n\x0f\x63ompletionToken\x18\x04 \x01(\t\x12\x37\n\x12numEventsProcessed\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12=\n\x19orchestrationTraceContext\x18\x06 \x01(\x0b\x32\x1a.OrchestrationTraceContext\x12\x17\n\x0frequiresHistory\x18\x07 \x01(\x08\x12\x11\n\tisPartial\x18\x08 \x01(\x08\x12/\n\nchunkIndex\x18\t \x01(\x0b\x32\x1b.google.protobuf.Int32Value\"\xff\x03\n\x15\x43reateInstanceRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12;\n\x17scheduledStartTimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12?\n\x1aorchestrationIdReusePolicy\x18\x06 \x01(\x0b\x32\x1b.OrchestrationIdReusePolicy\x12\x31\n\x0b\x65xecutionId\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x04tags\x18\x08 \x03(\x0b\x32 .CreateInstanceRequest.TagsEntry\x12)\n\x12parentTraceContext\x18\t \x01(\x0b\x32\r.TraceContext\x12/\n\x0brequestTime\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"S\n\x1aOrchestrationIdReusePolicy\x12/\n\x11replaceableStatus\x18\x01 \x03(\x0e\x32\x14.OrchestrationStatusJ\x04\x08\x02\x10\x03\",\n\x16\x43reateInstanceResponse\x12\x12\n\ninstanceId\x18\x01 \x01(\t\"E\n\x12GetInstanceRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x1b\n\x13getInputsAndOutputs\x18\x02 \x01(\x08\"V\n\x13GetInstanceResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\x12/\n\x12orchestrationState\x18\x02 \x01(\x0b\x32\x13.OrchestrationState\"Y\n\x15RewindInstanceRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06reason\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x18\n\x16RewindInstanceResponse\"\xfe\x05\n\x12OrchestrationState\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\x13orchestrationStatus\x18\x04 \x01(\x0e\x32\x14.OrchestrationStatus\x12;\n\x17scheduledStartTimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10\x63reatedTimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14lastUpdatedTimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x05input\x18\x08 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06output\x18\t \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0c\x63ustomStatus\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x0e\x66\x61ilureDetails\x18\x0b \x01(\x0b\x32\x13.TaskFailureDetails\x12\x31\n\x0b\x65xecutionId\x18\x0c \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x12\x63ompletedTimestamp\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x10parentInstanceId\x18\x0e \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x04tags\x18\x0f \x03(\x0b\x32\x1d.OrchestrationState.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"b\n\x11RaiseEventRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x14\n\x12RaiseEventResponse\"g\n\x10TerminateRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06output\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x11\n\trecursive\x18\x03 \x01(\x08\"\x13\n\x11TerminateResponse\"R\n\x0eSuspendRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06reason\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x11\n\x0fSuspendResponse\"Q\n\rResumeRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12,\n\x06reason\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x10\n\x0eResumeResponse\"6\n\x15QueryInstancesRequest\x12\x1d\n\x05query\x18\x01 \x01(\x0b\x32\x0e.InstanceQuery\"\x82\x03\n\rInstanceQuery\x12+\n\rruntimeStatus\x18\x01 \x03(\x0e\x32\x14.OrchestrationStatus\x12\x33\n\x0f\x63reatedTimeFrom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rcreatedTimeTo\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0ctaskHubNames\x18\x04 \x03(\x0b\x32\x1c.google.protobuf.StringValue\x12\x18\n\x10maxInstanceCount\x18\x05 \x01(\x05\x12\x37\n\x11\x63ontinuationToken\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10instanceIdPrefix\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1d\n\x15\x66\x65tchInputsAndOutputs\x18\x08 \x01(\x08\"\x82\x01\n\x16QueryInstancesResponse\x12/\n\x12orchestrationState\x18\x01 \x03(\x0b\x32\x13.OrchestrationState\x12\x37\n\x11\x63ontinuationToken\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xfa\x01\n\x16ListInstanceIdsRequest\x12+\n\rruntimeStatus\x18\x01 \x03(\x0e\x32\x14.OrchestrationStatus\x12\x35\n\x11\x63ompletedTimeFrom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x63ompletedTimeTo\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08pageSize\x18\x04 \x01(\x05\x12\x35\n\x0flastInstanceKey\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"e\n\x17ListInstanceIdsResponse\x12\x13\n\x0binstanceIds\x18\x01 \x03(\t\x12\x35\n\x0flastInstanceKey\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xc2\x01\n\x15PurgeInstancesRequest\x12\x14\n\ninstanceId\x18\x01 \x01(\tH\x00\x12\x33\n\x13purgeInstanceFilter\x18\x02 \x01(\x0b\x32\x14.PurgeInstanceFilterH\x00\x12\'\n\rinstanceBatch\x18\x04 \x01(\x0b\x32\x0e.InstanceBatchH\x00\x12\x11\n\trecursive\x18\x03 \x01(\x08\x12\x17\n\x0fisOrchestration\x18\x05 \x01(\x08\x42\t\n\x07request\"\xaa\x01\n\x13PurgeInstanceFilter\x12\x33\n\x0f\x63reatedTimeFrom\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rcreatedTimeTo\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\rruntimeStatus\x18\x03 \x03(\x0e\x32\x14.OrchestrationStatus\"f\n\x16PurgeInstancesResponse\x12\x1c\n\x14\x64\x65letedInstanceCount\x18\x01 \x01(\x05\x12.\n\nisComplete\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"N\n\x16RestartInstanceRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12 \n\x18restartWithNewInstanceId\x18\x02 \x01(\x08\"-\n\x17RestartInstanceResponse\x12\x12\n\ninstanceId\x18\x01 \x01(\t\"0\n\x14\x43reateTaskHubRequest\x12\x18\n\x10recreateIfExists\x18\x01 \x01(\x08\"\x17\n\x15\x43reateTaskHubResponse\"\x16\n\x14\x44\x65leteTaskHubRequest\"\x17\n\x15\x44\x65leteTaskHubResponse\"\x86\x02\n\x13SignalEntityRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x11\n\trequestId\x18\x04 \x01(\t\x12\x31\n\rscheduledTime\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x12parentTraceContext\x18\x06 \x01(\x0b\x32\r.TraceContext\x12/\n\x0brequestTime\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x16\n\x14SignalEntityResponse\"<\n\x10GetEntityRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x14\n\x0cincludeState\x18\x02 \x01(\x08\"D\n\x11GetEntityResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\x12\x1f\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x0f.EntityMetadata\"\xcb\x02\n\x0b\x45ntityQuery\x12:\n\x14instanceIdStartsWith\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x34\n\x10lastModifiedFrom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elastModifiedTo\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0cincludeState\x18\x04 \x01(\x08\x12\x18\n\x10includeTransient\x18\x05 \x01(\x08\x12-\n\x08pageSize\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x37\n\x11\x63ontinuationToken\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"3\n\x14QueryEntitiesRequest\x12\x1b\n\x05query\x18\x01 \x01(\x0b\x32\x0c.EntityQuery\"s\n\x15QueryEntitiesResponse\x12!\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x0f.EntityMetadata\x12\x37\n\x11\x63ontinuationToken\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xdb\x01\n\x0e\x45ntityMetadata\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x34\n\x10lastModifiedTime\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x62\x61\x63klogQueueSize\x18\x03 \x01(\x05\x12.\n\x08lockedBy\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0fserializedState\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x8f\x01\n\x19\x43leanEntityStorageRequest\x12\x37\n\x11\x63ontinuationToken\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1b\n\x13removeEmptyEntities\x18\x02 \x01(\x08\x12\x1c\n\x14releaseOrphanedLocks\x18\x03 \x01(\x08\"\x92\x01\n\x1a\x43leanEntityStorageResponse\x12\x37\n\x11\x63ontinuationToken\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1c\n\x14\x65mptyEntitiesRemoved\x18\x02 \x01(\x05\x12\x1d\n\x15orphanedLocksReleased\x18\x03 \x01(\x05\"]\n\x1cOrchestratorEntityParameters\x12=\n\x1a\x65ntityMessageReorderWindow\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x86\x02\n\x12\x45ntityBatchRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x31\n\x0b\x65ntityState\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12%\n\noperations\x18\x03 \x03(\x0b\x32\x11.OperationRequest\x12\x37\n\nproperties\x18\x04 \x03(\x0b\x32#.EntityBatchRequest.PropertiesEntry\x1aI\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"\x91\x02\n\x11\x45ntityBatchResult\x12!\n\x07results\x18\x01 \x03(\x0b\x32\x10.OperationResult\x12!\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x10.OperationAction\x12\x31\n\x0b\x65ntityState\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x0e\x66\x61ilureDetails\x18\x04 \x01(\x0b\x32\x13.TaskFailureDetails\x12\x17\n\x0f\x63ompletionToken\x18\x05 \x01(\t\x12&\n\x0eoperationInfos\x18\x06 \x03(\x0b\x32\x0e.OperationInfo\x12\x15\n\rrequiresState\x18\x07 \x01(\x08\"\x95\x01\n\rEntityRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x13\n\x0b\x65xecutionId\x18\x02 \x01(\t\x12\x31\n\x0b\x65ntityState\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12(\n\x11operationRequests\x18\x04 \x03(\x0b\x32\r.HistoryEvent\"\x8a\x01\n\x10OperationRequest\x12\x11\n\toperation\x18\x01 \x01(\t\x12\x11\n\trequestId\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12#\n\x0ctraceContext\x18\x04 \x01(\x0b\x32\r.TraceContext\"w\n\x0fOperationResult\x12*\n\x07success\x18\x01 \x01(\x0b\x32\x17.OperationResultSuccessH\x00\x12*\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32\x17.OperationResultFailureH\x00\x42\x0c\n\nresultType\"W\n\rOperationInfo\x12\x11\n\trequestId\x18\x01 \x01(\t\x12\x33\n\x13responseDestination\x18\x02 \x01(\x0b\x32\x16.OrchestrationInstance\"\xa8\x01\n\x16OperationResultSuccess\x12,\n\x06result\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\x0cstartTimeUtc\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nendTimeUtc\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa7\x01\n\x16OperationResultFailure\x12+\n\x0e\x66\x61ilureDetails\x18\x01 \x01(\x0b\x32\x13.TaskFailureDetails\x12\x30\n\x0cstartTimeUtc\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nendTimeUtc\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9c\x01\n\x0fOperationAction\x12\n\n\x02id\x18\x01 \x01(\x05\x12\'\n\nsendSignal\x18\x02 \x01(\x0b\x32\x11.SendSignalActionH\x00\x12=\n\x15startNewOrchestration\x18\x03 \x01(\x0b\x32\x1c.StartNewOrchestrationActionH\x00\x42\x15\n\x13operationActionType\"\xf0\x01\n\x10SendSignalAction\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\rscheduledTime\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0brequestTime\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x12parentTraceContext\x18\x06 \x01(\x0b\x32\r.TraceContext\"\xaa\x02\n\x1bStartNewOrchestrationAction\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12-\n\x07version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\rscheduledTime\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0brequestTime\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x12parentTraceContext\x18\x07 \x01(\x0b\x32\r.TraceContext\"5\n\x1a\x41\x62\x61ndonActivityTaskRequest\x12\x17\n\x0f\x63ompletionToken\x18\x01 \x01(\t\"\x1d\n\x1b\x41\x62\x61ndonActivityTaskResponse\":\n\x1f\x41\x62\x61ndonOrchestrationTaskRequest\x12\x17\n\x0f\x63ompletionToken\x18\x01 \x01(\t\"\"\n AbandonOrchestrationTaskResponse\"3\n\x18\x41\x62\x61ndonEntityTaskRequest\x12\x17\n\x0f\x63ompletionToken\x18\x01 \x01(\t\"\x1b\n\x19\x41\x62\x61ndonEntityTaskResponse\"\x83\x01\n,SkipGracefulOrchestrationTerminationsRequest\x12%\n\rinstanceBatch\x18\x01 \x01(\x0b\x32\x0e.InstanceBatch\x12,\n\x06reason\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"P\n-SkipGracefulOrchestrationTerminationsResponse\x12\x1f\n\x17unterminatedInstanceIds\x18\x01 \x03(\t\"\xb9\x01\n\x13GetWorkItemsRequest\x12+\n#maxConcurrentOrchestrationWorkItems\x18\x01 \x01(\x05\x12&\n\x1emaxConcurrentActivityWorkItems\x18\x02 \x01(\x05\x12$\n\x1cmaxConcurrentEntityWorkItems\x18\x03 \x01(\x05\x12\'\n\x0c\x63\x61pabilities\x18\n \x03(\x0e\x32\x11.WorkerCapability\"\x8c\x02\n\x08WorkItem\x12\x33\n\x13orchestratorRequest\x18\x01 \x01(\x0b\x32\x14.OrchestratorRequestH\x00\x12+\n\x0f\x61\x63tivityRequest\x18\x02 \x01(\x0b\x32\x10.ActivityRequestH\x00\x12,\n\rentityRequest\x18\x03 \x01(\x0b\x32\x13.EntityBatchRequestH\x00\x12!\n\nhealthPing\x18\x04 \x01(\x0b\x32\x0b.HealthPingH\x00\x12)\n\x0f\x65ntityRequestV2\x18\x05 \x01(\x0b\x32\x0e.EntityRequestH\x00\x12\x17\n\x0f\x63ompletionToken\x18\n \x01(\tB\t\n\x07request\"\x16\n\x14\x43ompleteTaskResponse\"\x0c\n\nHealthPing\"\x84\x01\n\x1cStreamInstanceHistoryRequest\x12\x12\n\ninstanceId\x18\x01 \x01(\t\x12\x31\n\x0b\x65xecutionId\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1d\n\x15\x66orWorkItemProcessing\x18\x03 \x01(\x08\"-\n\x0cHistoryChunk\x12\x1d\n\x06\x65vents\x18\x01 \x03(\x0b\x32\r.HistoryEvent\"$\n\rInstanceBatch\x12\x13\n\x0binstanceIds\x18\x01 \x03(\t*\xb5\x02\n\x13OrchestrationStatus\x12 \n\x1cORCHESTRATION_STATUS_RUNNING\x10\x00\x12\"\n\x1eORCHESTRATION_STATUS_COMPLETED\x10\x01\x12)\n%ORCHESTRATION_STATUS_CONTINUED_AS_NEW\x10\x02\x12\x1f\n\x1bORCHESTRATION_STATUS_FAILED\x10\x03\x12!\n\x1dORCHESTRATION_STATUS_CANCELED\x10\x04\x12#\n\x1fORCHESTRATION_STATUS_TERMINATED\x10\x05\x12 \n\x1cORCHESTRATION_STATUS_PENDING\x10\x06\x12\"\n\x1eORCHESTRATION_STATUS_SUSPENDED\x10\x07*\xab\x01\n\x10WorkerCapability\x12!\n\x1dWORKER_CAPABILITY_UNSPECIFIED\x10\x00\x12\'\n#WORKER_CAPABILITY_HISTORY_STREAMING\x10\x01\x12%\n!WORKER_CAPABILITY_SCHEDULED_TASKS\x10\x02\x12$\n WORKER_CAPABILITY_LARGE_PAYLOADS\x10\x03\x32\xf0\x0f\n\x15TaskHubSidecarService\x12\x37\n\x05Hello\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12@\n\rStartInstance\x12\x16.CreateInstanceRequest\x1a\x17.CreateInstanceResponse\x12\x38\n\x0bGetInstance\x12\x13.GetInstanceRequest\x1a\x14.GetInstanceResponse\x12\x41\n\x0eRewindInstance\x12\x16.RewindInstanceRequest\x1a\x17.RewindInstanceResponse\x12\x44\n\x0fRestartInstance\x12\x17.RestartInstanceRequest\x1a\x18.RestartInstanceResponse\x12\x41\n\x14WaitForInstanceStart\x12\x13.GetInstanceRequest\x1a\x14.GetInstanceResponse\x12\x46\n\x19WaitForInstanceCompletion\x12\x13.GetInstanceRequest\x1a\x14.GetInstanceResponse\x12\x35\n\nRaiseEvent\x12\x12.RaiseEventRequest\x1a\x13.RaiseEventResponse\x12:\n\x11TerminateInstance\x12\x11.TerminateRequest\x1a\x12.TerminateResponse\x12\x34\n\x0fSuspendInstance\x12\x0f.SuspendRequest\x1a\x10.SuspendResponse\x12\x31\n\x0eResumeInstance\x12\x0e.ResumeRequest\x1a\x0f.ResumeResponse\x12\x41\n\x0eQueryInstances\x12\x16.QueryInstancesRequest\x1a\x17.QueryInstancesResponse\x12\x44\n\x0fListInstanceIds\x12\x17.ListInstanceIdsRequest\x1a\x18.ListInstanceIdsResponse\x12\x41\n\x0ePurgeInstances\x12\x16.PurgeInstancesRequest\x1a\x17.PurgeInstancesResponse\x12\x31\n\x0cGetWorkItems\x12\x14.GetWorkItemsRequest\x1a\t.WorkItem0\x01\x12@\n\x14\x43ompleteActivityTask\x12\x11.ActivityResponse\x1a\x15.CompleteTaskResponse\x12H\n\x18\x43ompleteOrchestratorTask\x12\x15.OrchestratorResponse\x1a\x15.CompleteTaskResponse\x12?\n\x12\x43ompleteEntityTask\x12\x12.EntityBatchResult\x1a\x15.CompleteTaskResponse\x12G\n\x15StreamInstanceHistory\x12\x1d.StreamInstanceHistoryRequest\x1a\r.HistoryChunk0\x01\x12>\n\rCreateTaskHub\x12\x15.CreateTaskHubRequest\x1a\x16.CreateTaskHubResponse\x12>\n\rDeleteTaskHub\x12\x15.DeleteTaskHubRequest\x1a\x16.DeleteTaskHubResponse\x12;\n\x0cSignalEntity\x12\x14.SignalEntityRequest\x1a\x15.SignalEntityResponse\x12\x32\n\tGetEntity\x12\x11.GetEntityRequest\x1a\x12.GetEntityResponse\x12>\n\rQueryEntities\x12\x15.QueryEntitiesRequest\x1a\x16.QueryEntitiesResponse\x12M\n\x12\x43leanEntityStorage\x12\x1a.CleanEntityStorageRequest\x1a\x1b.CleanEntityStorageResponse\x12X\n\x1b\x41\x62\x61ndonTaskActivityWorkItem\x12\x1b.AbandonActivityTaskRequest\x1a\x1c.AbandonActivityTaskResponse\x12\x66\n\x1f\x41\x62\x61ndonTaskOrchestratorWorkItem\x12 .AbandonOrchestrationTaskRequest\x1a!.AbandonOrchestrationTaskResponse\x12R\n\x19\x41\x62\x61ndonTaskEntityWorkItem\x12\x19.AbandonEntityTaskRequest\x1a\x1a.AbandonEntityTaskResponse\x12\x86\x01\n%SkipGracefulOrchestrationTerminations\x12-.SkipGracefulOrchestrationTerminationsRequest\x1a..SkipGracefulOrchestrationTerminationsResponseBf\n1com.microsoft.durabletask.implementation.protobufZ\x10/internal/protos\xaa\x02\x1eMicrosoft.DurableTask.Protobufb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,24 +37,36 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n1com.microsoft.durabletask.implementation.protobufZ\020/internal/protos\252\002\036Microsoft.DurableTask.Protobuf' + _globals['_TASKFAILUREDETAILS_PROPERTIESENTRY']._loaded_options = None + _globals['_TASKFAILUREDETAILS_PROPERTIESENTRY']._serialized_options = b'8\001' _globals['_TRACECONTEXT'].fields_by_name['spanID']._loaded_options = None _globals['_TRACECONTEXT'].fields_by_name['spanID']._serialized_options = b'\030\001' _globals['_EXECUTIONSTARTEDEVENT_TAGSENTRY']._loaded_options = None _globals['_EXECUTIONSTARTEDEVENT_TAGSENTRY']._serialized_options = b'8\001' _globals['_TASKSCHEDULEDEVENT_TAGSENTRY']._loaded_options = None _globals['_TASKSCHEDULEDEVENT_TAGSENTRY']._serialized_options = b'8\001' + _globals['_SUBORCHESTRATIONINSTANCECREATEDEVENT_TAGSENTRY']._loaded_options = None + _globals['_SUBORCHESTRATIONINSTANCECREATEDEVENT_TAGSENTRY']._serialized_options = b'8\001' + _globals['_EXECUTIONREWOUNDEVENT_TAGSENTRY']._loaded_options = None + _globals['_EXECUTIONREWOUNDEVENT_TAGSENTRY']._serialized_options = b'8\001' _globals['_SCHEDULETASKACTION_TAGSENTRY']._loaded_options = None _globals['_SCHEDULETASKACTION_TAGSENTRY']._serialized_options = b'8\001' + _globals['_CREATESUBORCHESTRATIONACTION_TAGSENTRY']._loaded_options = None + _globals['_CREATESUBORCHESTRATIONACTION_TAGSENTRY']._serialized_options = b'8\001' + _globals['_COMPLETEORCHESTRATIONACTION_TAGSENTRY']._loaded_options = None + _globals['_COMPLETEORCHESTRATIONACTION_TAGSENTRY']._serialized_options = b'8\001' _globals['_ORCHESTRATORREQUEST_PROPERTIESENTRY']._loaded_options = None _globals['_ORCHESTRATORREQUEST_PROPERTIESENTRY']._serialized_options = b'8\001' _globals['_CREATEINSTANCEREQUEST_TAGSENTRY']._loaded_options = None _globals['_CREATEINSTANCEREQUEST_TAGSENTRY']._serialized_options = b'8\001' _globals['_ORCHESTRATIONSTATE_TAGSENTRY']._loaded_options = None _globals['_ORCHESTRATIONSTATE_TAGSENTRY']._serialized_options = b'8\001' - _globals['_ORCHESTRATIONSTATUS']._serialized_start=16219 - _globals['_ORCHESTRATIONSTATUS']._serialized_end=16528 - _globals['_WORKERCAPABILITY']._serialized_start=16530 - _globals['_WORKERCAPABILITY']._serialized_end=16624 + _globals['_ENTITYBATCHREQUEST_PROPERTIESENTRY']._loaded_options = None + _globals['_ENTITYBATCHREQUEST_PROPERTIESENTRY']._serialized_options = b'8\001' + _globals['_ORCHESTRATIONSTATUS']._serialized_start=18595 + _globals['_ORCHESTRATIONSTATUS']._serialized_end=18904 + _globals['_WORKERCAPABILITY']._serialized_start=18907 + _globals['_WORKERCAPABILITY']._serialized_end=19078 _globals['_ORCHESTRATIONINSTANCE']._serialized_start=207 _globals['_ORCHESTRATIONINSTANCE']._serialized_end=301 _globals['_ACTIVITYREQUEST']._serialized_start=304 @@ -52,219 +74,249 @@ _globals['_ACTIVITYRESPONSE']._serialized_start=544 _globals['_ACTIVITYRESPONSE']._serialized_end=714 _globals['_TASKFAILUREDETAILS']._serialized_start=717 - _globals['_TASKFAILUREDETAILS']._serialized_end=895 - _globals['_PARENTINSTANCEINFO']._serialized_start=898 - _globals['_PARENTINSTANCEINFO']._serialized_end=1089 - _globals['_TRACECONTEXT']._serialized_start=1091 - _globals['_TRACECONTEXT']._serialized_end=1196 - _globals['_EXECUTIONSTARTEDEVENT']._serialized_start=1199 - _globals['_EXECUTIONSTARTEDEVENT']._serialized_end=1684 - _globals['_EXECUTIONSTARTEDEVENT_TAGSENTRY']._serialized_start=1641 - _globals['_EXECUTIONSTARTEDEVENT_TAGSENTRY']._serialized_end=1684 - _globals['_EXECUTIONCOMPLETEDEVENT']._serialized_start=1687 - _globals['_EXECUTIONCOMPLETEDEVENT']._serialized_end=1854 - _globals['_EXECUTIONTERMINATEDEVENT']._serialized_start=1856 - _globals['_EXECUTIONTERMINATEDEVENT']._serialized_end=1944 - _globals['_TASKSCHEDULEDEVENT']._serialized_start=1947 - _globals['_TASKSCHEDULEDEVENT']._serialized_end=2206 - _globals['_TASKSCHEDULEDEVENT_TAGSENTRY']._serialized_start=1641 - _globals['_TASKSCHEDULEDEVENT_TAGSENTRY']._serialized_end=1684 - _globals['_TASKCOMPLETEDEVENT']._serialized_start=2208 - _globals['_TASKCOMPLETEDEVENT']._serialized_end=2299 - _globals['_TASKFAILEDEVENT']._serialized_start=2301 - _globals['_TASKFAILEDEVENT']._serialized_end=2388 - _globals['_SUBORCHESTRATIONINSTANCECREATEDEVENT']._serialized_start=2391 - _globals['_SUBORCHESTRATIONINSTANCECREATEDEVENT']._serialized_end=2598 - _globals['_SUBORCHESTRATIONINSTANCECOMPLETEDEVENT']._serialized_start=2600 - _globals['_SUBORCHESTRATIONINSTANCECOMPLETEDEVENT']._serialized_end=2711 - _globals['_SUBORCHESTRATIONINSTANCEFAILEDEVENT']._serialized_start=2713 - _globals['_SUBORCHESTRATIONINSTANCEFAILEDEVENT']._serialized_end=2820 - _globals['_TIMERCREATEDEVENT']._serialized_start=2822 - _globals['_TIMERCREATEDEVENT']._serialized_end=2885 - _globals['_TIMERFIREDEVENT']._serialized_start=2887 - _globals['_TIMERFIREDEVENT']._serialized_end=2965 - _globals['_ORCHESTRATORSTARTEDEVENT']._serialized_start=2967 - _globals['_ORCHESTRATORSTARTEDEVENT']._serialized_end=2993 - _globals['_ORCHESTRATORCOMPLETEDEVENT']._serialized_start=2995 - _globals['_ORCHESTRATORCOMPLETEDEVENT']._serialized_end=3023 - _globals['_EVENTSENTEVENT']._serialized_start=3025 - _globals['_EVENTSENTEVENT']._serialized_end=3120 - _globals['_EVENTRAISEDEVENT']._serialized_start=3122 - _globals['_EVENTRAISEDEVENT']._serialized_end=3199 - _globals['_GENERICEVENT']._serialized_start=3201 - _globals['_GENERICEVENT']._serialized_end=3259 - _globals['_HISTORYSTATEEVENT']._serialized_start=3261 - _globals['_HISTORYSTATEEVENT']._serialized_end=3329 - _globals['_CONTINUEASNEWEVENT']._serialized_start=3331 - _globals['_CONTINUEASNEWEVENT']._serialized_end=3396 - _globals['_EXECUTIONSUSPENDEDEVENT']._serialized_start=3398 - _globals['_EXECUTIONSUSPENDEDEVENT']._serialized_end=3468 - _globals['_EXECUTIONRESUMEDEVENT']._serialized_start=3470 - _globals['_EXECUTIONRESUMEDEVENT']._serialized_end=3538 - _globals['_ENTITYOPERATIONSIGNALEDEVENT']._serialized_start=3541 - _globals['_ENTITYOPERATIONSIGNALEDEVENT']._serialized_end=3761 - _globals['_ENTITYOPERATIONCALLEDEVENT']._serialized_start=3764 - _globals['_ENTITYOPERATIONCALLEDEVENT']._serialized_end=4095 - _globals['_ENTITYLOCKREQUESTEDEVENT']._serialized_start=4098 - _globals['_ENTITYLOCKREQUESTEDEVENT']._serialized_end=4242 - _globals['_ENTITYOPERATIONCOMPLETEDEVENT']._serialized_start=4244 - _globals['_ENTITYOPERATIONCOMPLETEDEVENT']._serialized_end=4340 - _globals['_ENTITYOPERATIONFAILEDEVENT']._serialized_start=4342 - _globals['_ENTITYOPERATIONFAILEDEVENT']._serialized_end=4434 - _globals['_ENTITYUNLOCKSENTEVENT']._serialized_start=4437 - _globals['_ENTITYUNLOCKSENTEVENT']._serialized_end=4599 - _globals['_ENTITYLOCKGRANTEDEVENT']._serialized_start=4601 - _globals['_ENTITYLOCKGRANTEDEVENT']._serialized_end=4652 - _globals['_HISTORYEVENT']._serialized_start=4655 - _globals['_HISTORYEVENT']._serialized_end=6235 - _globals['_SCHEDULETASKACTION']._serialized_start=6238 - _globals['_SCHEDULETASKACTION']._serialized_end=6454 - _globals['_SCHEDULETASKACTION_TAGSENTRY']._serialized_start=1641 - _globals['_SCHEDULETASKACTION_TAGSENTRY']._serialized_end=1684 - _globals['_CREATESUBORCHESTRATIONACTION']._serialized_start=6457 - _globals['_CREATESUBORCHESTRATIONACTION']._serialized_end=6613 - _globals['_CREATETIMERACTION']._serialized_start=6615 - _globals['_CREATETIMERACTION']._serialized_end=6678 - _globals['_SENDEVENTACTION']._serialized_start=6680 - _globals['_SENDEVENTACTION']._serialized_end=6797 - _globals['_COMPLETEORCHESTRATIONACTION']._serialized_start=6800 - _globals['_COMPLETEORCHESTRATIONACTION']._serialized_end=7108 - _globals['_TERMINATEORCHESTRATIONACTION']._serialized_start=7110 - _globals['_TERMINATEORCHESTRATIONACTION']._serialized_end=7223 - _globals['_SENDENTITYMESSAGEACTION']._serialized_start=7226 - _globals['_SENDENTITYMESSAGEACTION']._serialized_end=7510 - _globals['_ORCHESTRATORACTION']._serialized_start=7513 - _globals['_ORCHESTRATORACTION']._serialized_end=7946 - _globals['_ORCHESTRATORREQUEST']._serialized_start=7949 - _globals['_ORCHESTRATORREQUEST']._serialized_end=8334 - _globals['_ORCHESTRATORREQUEST_PROPERTIESENTRY']._serialized_start=8261 - _globals['_ORCHESTRATORREQUEST_PROPERTIESENTRY']._serialized_end=8334 - _globals['_ORCHESTRATORRESPONSE']._serialized_start=8337 - _globals['_ORCHESTRATORRESPONSE']._serialized_end=8551 - _globals['_CREATEINSTANCEREQUEST']._serialized_start=8554 - _globals['_CREATEINSTANCEREQUEST']._serialized_end=9065 - _globals['_CREATEINSTANCEREQUEST_TAGSENTRY']._serialized_start=1641 - _globals['_CREATEINSTANCEREQUEST_TAGSENTRY']._serialized_end=1684 - _globals['_ORCHESTRATIONIDREUSEPOLICY']._serialized_start=9067 - _globals['_ORCHESTRATIONIDREUSEPOLICY']._serialized_end=9150 - _globals['_CREATEINSTANCERESPONSE']._serialized_start=9152 - _globals['_CREATEINSTANCERESPONSE']._serialized_end=9196 - _globals['_GETINSTANCEREQUEST']._serialized_start=9198 - _globals['_GETINSTANCEREQUEST']._serialized_end=9267 - _globals['_GETINSTANCERESPONSE']._serialized_start=9269 - _globals['_GETINSTANCERESPONSE']._serialized_end=9355 - _globals['_REWINDINSTANCEREQUEST']._serialized_start=9357 - _globals['_REWINDINSTANCEREQUEST']._serialized_end=9446 - _globals['_REWINDINSTANCERESPONSE']._serialized_start=9448 - _globals['_REWINDINSTANCERESPONSE']._serialized_end=9472 - _globals['_ORCHESTRATIONSTATE']._serialized_start=9475 - _globals['_ORCHESTRATIONSTATE']._serialized_end=10241 - _globals['_ORCHESTRATIONSTATE_TAGSENTRY']._serialized_start=1641 - _globals['_ORCHESTRATIONSTATE_TAGSENTRY']._serialized_end=1684 - _globals['_RAISEEVENTREQUEST']._serialized_start=10243 - _globals['_RAISEEVENTREQUEST']._serialized_end=10341 - _globals['_RAISEEVENTRESPONSE']._serialized_start=10343 - _globals['_RAISEEVENTRESPONSE']._serialized_end=10363 - _globals['_TERMINATEREQUEST']._serialized_start=10365 - _globals['_TERMINATEREQUEST']._serialized_end=10468 - _globals['_TERMINATERESPONSE']._serialized_start=10470 - _globals['_TERMINATERESPONSE']._serialized_end=10489 - _globals['_SUSPENDREQUEST']._serialized_start=10491 - _globals['_SUSPENDREQUEST']._serialized_end=10573 - _globals['_SUSPENDRESPONSE']._serialized_start=10575 - _globals['_SUSPENDRESPONSE']._serialized_end=10592 - _globals['_RESUMEREQUEST']._serialized_start=10594 - _globals['_RESUMEREQUEST']._serialized_end=10675 - _globals['_RESUMERESPONSE']._serialized_start=10677 - _globals['_RESUMERESPONSE']._serialized_end=10693 - _globals['_QUERYINSTANCESREQUEST']._serialized_start=10695 - _globals['_QUERYINSTANCESREQUEST']._serialized_end=10749 - _globals['_INSTANCEQUERY']._serialized_start=10752 - _globals['_INSTANCEQUERY']._serialized_end=11138 - _globals['_QUERYINSTANCESRESPONSE']._serialized_start=11141 - _globals['_QUERYINSTANCESRESPONSE']._serialized_end=11271 - _globals['_PURGEINSTANCESREQUEST']._serialized_start=11274 - _globals['_PURGEINSTANCESREQUEST']._serialized_end=11402 - _globals['_PURGEINSTANCEFILTER']._serialized_start=11405 - _globals['_PURGEINSTANCEFILTER']._serialized_end=11575 - _globals['_PURGEINSTANCESRESPONSE']._serialized_start=11577 - _globals['_PURGEINSTANCESRESPONSE']._serialized_end=11679 - _globals['_CREATETASKHUBREQUEST']._serialized_start=11681 - _globals['_CREATETASKHUBREQUEST']._serialized_end=11729 - _globals['_CREATETASKHUBRESPONSE']._serialized_start=11731 - _globals['_CREATETASKHUBRESPONSE']._serialized_end=11754 - _globals['_DELETETASKHUBREQUEST']._serialized_start=11756 - _globals['_DELETETASKHUBREQUEST']._serialized_end=11778 - _globals['_DELETETASKHUBRESPONSE']._serialized_start=11780 - _globals['_DELETETASKHUBRESPONSE']._serialized_end=11803 - _globals['_SIGNALENTITYREQUEST']._serialized_start=11806 - _globals['_SIGNALENTITYREQUEST']._serialized_end=12068 - _globals['_SIGNALENTITYRESPONSE']._serialized_start=12070 - _globals['_SIGNALENTITYRESPONSE']._serialized_end=12092 - _globals['_GETENTITYREQUEST']._serialized_start=12094 - _globals['_GETENTITYREQUEST']._serialized_end=12154 - _globals['_GETENTITYRESPONSE']._serialized_start=12156 - _globals['_GETENTITYRESPONSE']._serialized_end=12224 - _globals['_ENTITYQUERY']._serialized_start=12227 - _globals['_ENTITYQUERY']._serialized_end=12558 - _globals['_QUERYENTITIESREQUEST']._serialized_start=12560 - _globals['_QUERYENTITIESREQUEST']._serialized_end=12611 - _globals['_QUERYENTITIESRESPONSE']._serialized_start=12613 - _globals['_QUERYENTITIESRESPONSE']._serialized_end=12728 - _globals['_ENTITYMETADATA']._serialized_start=12731 - _globals['_ENTITYMETADATA']._serialized_end=12950 - _globals['_CLEANENTITYSTORAGEREQUEST']._serialized_start=12953 - _globals['_CLEANENTITYSTORAGEREQUEST']._serialized_end=13096 - _globals['_CLEANENTITYSTORAGERESPONSE']._serialized_start=13099 - _globals['_CLEANENTITYSTORAGERESPONSE']._serialized_end=13245 - _globals['_ORCHESTRATORENTITYPARAMETERS']._serialized_start=13247 - _globals['_ORCHESTRATORENTITYPARAMETERS']._serialized_end=13340 - _globals['_ENTITYBATCHREQUEST']._serialized_start=13343 - _globals['_ENTITYBATCHREQUEST']._serialized_end=13473 - _globals['_ENTITYBATCHRESULT']._serialized_start=13476 - _globals['_ENTITYBATCHRESULT']._serialized_end=13726 - _globals['_ENTITYREQUEST']._serialized_start=13729 - _globals['_ENTITYREQUEST']._serialized_end=13878 - _globals['_OPERATIONREQUEST']._serialized_start=13881 - _globals['_OPERATIONREQUEST']._serialized_end=14019 - _globals['_OPERATIONRESULT']._serialized_start=14021 - _globals['_OPERATIONRESULT']._serialized_end=14140 - _globals['_OPERATIONINFO']._serialized_start=14142 - _globals['_OPERATIONINFO']._serialized_end=14229 - _globals['_OPERATIONRESULTSUCCESS']._serialized_start=14232 - _globals['_OPERATIONRESULTSUCCESS']._serialized_end=14400 - _globals['_OPERATIONRESULTFAILURE']._serialized_start=14403 - _globals['_OPERATIONRESULTFAILURE']._serialized_end=14570 - _globals['_OPERATIONACTION']._serialized_start=14573 - _globals['_OPERATIONACTION']._serialized_end=14729 - _globals['_SENDSIGNALACTION']._serialized_start=14732 - _globals['_SENDSIGNALACTION']._serialized_end=14972 - _globals['_STARTNEWORCHESTRATIONACTION']._serialized_start=14975 - _globals['_STARTNEWORCHESTRATIONACTION']._serialized_end=15273 - _globals['_ABANDONACTIVITYTASKREQUEST']._serialized_start=15275 - _globals['_ABANDONACTIVITYTASKREQUEST']._serialized_end=15328 - _globals['_ABANDONACTIVITYTASKRESPONSE']._serialized_start=15330 - _globals['_ABANDONACTIVITYTASKRESPONSE']._serialized_end=15359 - _globals['_ABANDONORCHESTRATIONTASKREQUEST']._serialized_start=15361 - _globals['_ABANDONORCHESTRATIONTASKREQUEST']._serialized_end=15419 - _globals['_ABANDONORCHESTRATIONTASKRESPONSE']._serialized_start=15421 - _globals['_ABANDONORCHESTRATIONTASKRESPONSE']._serialized_end=15455 - _globals['_ABANDONENTITYTASKREQUEST']._serialized_start=15457 - _globals['_ABANDONENTITYTASKREQUEST']._serialized_end=15508 - _globals['_ABANDONENTITYTASKRESPONSE']._serialized_start=15510 - _globals['_ABANDONENTITYTASKRESPONSE']._serialized_end=15537 - _globals['_GETWORKITEMSREQUEST']._serialized_start=15540 - _globals['_GETWORKITEMSREQUEST']._serialized_end=15725 - _globals['_WORKITEM']._serialized_start=15728 - _globals['_WORKITEM']._serialized_end=15996 - _globals['_COMPLETETASKRESPONSE']._serialized_start=15998 - _globals['_COMPLETETASKRESPONSE']._serialized_end=16020 - _globals['_HEALTHPING']._serialized_start=16022 - _globals['_HEALTHPING']._serialized_end=16034 - _globals['_STREAMINSTANCEHISTORYREQUEST']._serialized_start=16037 - _globals['_STREAMINSTANCEHISTORYREQUEST']._serialized_end=16169 - _globals['_HISTORYCHUNK']._serialized_start=16171 - _globals['_HISTORYCHUNK']._serialized_end=16216 - _globals['_TASKHUBSIDECARSERVICE']._serialized_start=16627 - _globals['_TASKHUBSIDECARSERVICE']._serialized_end=18382 + _globals['_TASKFAILUREDETAILS']._serialized_end=1027 + _globals['_TASKFAILUREDETAILS_PROPERTIESENTRY']._serialized_start=954 + _globals['_TASKFAILUREDETAILS_PROPERTIESENTRY']._serialized_end=1027 + _globals['_PARENTINSTANCEINFO']._serialized_start=1030 + _globals['_PARENTINSTANCEINFO']._serialized_end=1221 + _globals['_TRACECONTEXT']._serialized_start=1223 + _globals['_TRACECONTEXT']._serialized_end=1328 + _globals['_EXECUTIONSTARTEDEVENT']._serialized_start=1331 + _globals['_EXECUTIONSTARTEDEVENT']._serialized_end=1816 + _globals['_EXECUTIONSTARTEDEVENT_TAGSENTRY']._serialized_start=1773 + _globals['_EXECUTIONSTARTEDEVENT_TAGSENTRY']._serialized_end=1816 + _globals['_EXECUTIONCOMPLETEDEVENT']._serialized_start=1819 + _globals['_EXECUTIONCOMPLETEDEVENT']._serialized_end=1986 + _globals['_EXECUTIONTERMINATEDEVENT']._serialized_start=1988 + _globals['_EXECUTIONTERMINATEDEVENT']._serialized_end=2076 + _globals['_TASKSCHEDULEDEVENT']._serialized_start=2079 + _globals['_TASKSCHEDULEDEVENT']._serialized_end=2338 + _globals['_TASKSCHEDULEDEVENT_TAGSENTRY']._serialized_start=1773 + _globals['_TASKSCHEDULEDEVENT_TAGSENTRY']._serialized_end=1816 + _globals['_TASKCOMPLETEDEVENT']._serialized_start=2340 + _globals['_TASKCOMPLETEDEVENT']._serialized_end=2431 + _globals['_TASKFAILEDEVENT']._serialized_start=2433 + _globals['_TASKFAILEDEVENT']._serialized_end=2520 + _globals['_SUBORCHESTRATIONINSTANCECREATEDEVENT']._serialized_start=2523 + _globals['_SUBORCHESTRATIONINSTANCECREATEDEVENT']._serialized_end=2838 + _globals['_SUBORCHESTRATIONINSTANCECREATEDEVENT_TAGSENTRY']._serialized_start=1773 + _globals['_SUBORCHESTRATIONINSTANCECREATEDEVENT_TAGSENTRY']._serialized_end=1816 + _globals['_SUBORCHESTRATIONINSTANCECOMPLETEDEVENT']._serialized_start=2840 + _globals['_SUBORCHESTRATIONINSTANCECOMPLETEDEVENT']._serialized_end=2951 + _globals['_SUBORCHESTRATIONINSTANCEFAILEDEVENT']._serialized_start=2953 + _globals['_SUBORCHESTRATIONINSTANCEFAILEDEVENT']._serialized_end=3060 + _globals['_TIMERCREATEDEVENT']._serialized_start=3062 + _globals['_TIMERCREATEDEVENT']._serialized_end=3125 + _globals['_TIMERFIREDEVENT']._serialized_start=3127 + _globals['_TIMERFIREDEVENT']._serialized_end=3205 + _globals['_ORCHESTRATORSTARTEDEVENT']._serialized_start=3207 + _globals['_ORCHESTRATORSTARTEDEVENT']._serialized_end=3233 + _globals['_ORCHESTRATORCOMPLETEDEVENT']._serialized_start=3235 + _globals['_ORCHESTRATORCOMPLETEDEVENT']._serialized_end=3263 + _globals['_EVENTSENTEVENT']._serialized_start=3265 + _globals['_EVENTSENTEVENT']._serialized_end=3360 + _globals['_EVENTRAISEDEVENT']._serialized_start=3362 + _globals['_EVENTRAISEDEVENT']._serialized_end=3439 + _globals['_GENERICEVENT']._serialized_start=3441 + _globals['_GENERICEVENT']._serialized_end=3499 + _globals['_HISTORYSTATEEVENT']._serialized_start=3501 + _globals['_HISTORYSTATEEVENT']._serialized_end=3569 + _globals['_CONTINUEASNEWEVENT']._serialized_start=3571 + _globals['_CONTINUEASNEWEVENT']._serialized_end=3636 + _globals['_EXECUTIONSUSPENDEDEVENT']._serialized_start=3638 + _globals['_EXECUTIONSUSPENDEDEVENT']._serialized_end=3708 + _globals['_EXECUTIONRESUMEDEVENT']._serialized_start=3710 + _globals['_EXECUTIONRESUMEDEVENT']._serialized_end=3778 + _globals['_ENTITYOPERATIONSIGNALEDEVENT']._serialized_start=3781 + _globals['_ENTITYOPERATIONSIGNALEDEVENT']._serialized_end=4001 + _globals['_ENTITYOPERATIONCALLEDEVENT']._serialized_start=4004 + _globals['_ENTITYOPERATIONCALLEDEVENT']._serialized_end=4335 + _globals['_ENTITYLOCKREQUESTEDEVENT']._serialized_start=4338 + _globals['_ENTITYLOCKREQUESTEDEVENT']._serialized_end=4482 + _globals['_ENTITYOPERATIONCOMPLETEDEVENT']._serialized_start=4484 + _globals['_ENTITYOPERATIONCOMPLETEDEVENT']._serialized_end=4580 + _globals['_ENTITYOPERATIONFAILEDEVENT']._serialized_start=4582 + _globals['_ENTITYOPERATIONFAILEDEVENT']._serialized_end=4674 + _globals['_ENTITYUNLOCKSENTEVENT']._serialized_start=4677 + _globals['_ENTITYUNLOCKSENTEVENT']._serialized_end=4839 + _globals['_ENTITYLOCKGRANTEDEVENT']._serialized_start=4841 + _globals['_ENTITYLOCKGRANTEDEVENT']._serialized_end=4892 + _globals['_EXECUTIONREWOUNDEVENT']._serialized_start=4895 + _globals['_EXECUTIONREWOUNDEVENT']._serialized_end=5388 + _globals['_EXECUTIONREWOUNDEVENT_TAGSENTRY']._serialized_start=1773 + _globals['_EXECUTIONREWOUNDEVENT_TAGSENTRY']._serialized_end=1816 + _globals['_HISTORYEVENT']._serialized_start=5391 + _globals['_HISTORYEVENT']._serialized_end=7023 + _globals['_SCHEDULETASKACTION']._serialized_start=7026 + _globals['_SCHEDULETASKACTION']._serialized_end=7285 + _globals['_SCHEDULETASKACTION_TAGSENTRY']._serialized_start=1773 + _globals['_SCHEDULETASKACTION_TAGSENTRY']._serialized_end=1816 + _globals['_CREATESUBORCHESTRATIONACTION']._serialized_start=7288 + _globals['_CREATESUBORCHESTRATIONACTION']._serialized_end=7587 + _globals['_CREATESUBORCHESTRATIONACTION_TAGSENTRY']._serialized_start=1773 + _globals['_CREATESUBORCHESTRATIONACTION_TAGSENTRY']._serialized_end=1816 + _globals['_CREATETIMERACTION']._serialized_start=7589 + _globals['_CREATETIMERACTION']._serialized_end=7652 + _globals['_SENDEVENTACTION']._serialized_start=7654 + _globals['_SENDEVENTACTION']._serialized_end=7771 + _globals['_COMPLETEORCHESTRATIONACTION']._serialized_start=7774 + _globals['_COMPLETEORCHESTRATIONACTION']._serialized_end=8181 + _globals['_COMPLETEORCHESTRATIONACTION_TAGSENTRY']._serialized_start=1773 + _globals['_COMPLETEORCHESTRATIONACTION_TAGSENTRY']._serialized_end=1816 + _globals['_TERMINATEORCHESTRATIONACTION']._serialized_start=8183 + _globals['_TERMINATEORCHESTRATIONACTION']._serialized_end=8296 + _globals['_SENDENTITYMESSAGEACTION']._serialized_start=8299 + _globals['_SENDENTITYMESSAGEACTION']._serialized_end=8583 + _globals['_ORCHESTRATORACTION']._serialized_start=8586 + _globals['_ORCHESTRATORACTION']._serialized_end=9019 + _globals['_ORCHESTRATIONTRACECONTEXT']._serialized_start=9021 + _globals['_ORCHESTRATIONTRACECONTEXT']._serialized_end=9145 + _globals['_ORCHESTRATORREQUEST']._serialized_start=9148 + _globals['_ORCHESTRATORREQUEST']._serialized_end=9596 + _globals['_ORCHESTRATORREQUEST_PROPERTIESENTRY']._serialized_start=954 + _globals['_ORCHESTRATORREQUEST_PROPERTIESENTRY']._serialized_end=1027 + _globals['_ORCHESTRATORRESPONSE']._serialized_start=9599 + _globals['_ORCHESTRATORRESPONSE']._serialized_end=9969 + _globals['_CREATEINSTANCEREQUEST']._serialized_start=9972 + _globals['_CREATEINSTANCEREQUEST']._serialized_end=10483 + _globals['_CREATEINSTANCEREQUEST_TAGSENTRY']._serialized_start=1773 + _globals['_CREATEINSTANCEREQUEST_TAGSENTRY']._serialized_end=1816 + _globals['_ORCHESTRATIONIDREUSEPOLICY']._serialized_start=10485 + _globals['_ORCHESTRATIONIDREUSEPOLICY']._serialized_end=10568 + _globals['_CREATEINSTANCERESPONSE']._serialized_start=10570 + _globals['_CREATEINSTANCERESPONSE']._serialized_end=10614 + _globals['_GETINSTANCEREQUEST']._serialized_start=10616 + _globals['_GETINSTANCEREQUEST']._serialized_end=10685 + _globals['_GETINSTANCERESPONSE']._serialized_start=10687 + _globals['_GETINSTANCERESPONSE']._serialized_end=10773 + _globals['_REWINDINSTANCEREQUEST']._serialized_start=10775 + _globals['_REWINDINSTANCEREQUEST']._serialized_end=10864 + _globals['_REWINDINSTANCERESPONSE']._serialized_start=10866 + _globals['_REWINDINSTANCERESPONSE']._serialized_end=10890 + _globals['_ORCHESTRATIONSTATE']._serialized_start=10893 + _globals['_ORCHESTRATIONSTATE']._serialized_end=11659 + _globals['_ORCHESTRATIONSTATE_TAGSENTRY']._serialized_start=1773 + _globals['_ORCHESTRATIONSTATE_TAGSENTRY']._serialized_end=1816 + _globals['_RAISEEVENTREQUEST']._serialized_start=11661 + _globals['_RAISEEVENTREQUEST']._serialized_end=11759 + _globals['_RAISEEVENTRESPONSE']._serialized_start=11761 + _globals['_RAISEEVENTRESPONSE']._serialized_end=11781 + _globals['_TERMINATEREQUEST']._serialized_start=11783 + _globals['_TERMINATEREQUEST']._serialized_end=11886 + _globals['_TERMINATERESPONSE']._serialized_start=11888 + _globals['_TERMINATERESPONSE']._serialized_end=11907 + _globals['_SUSPENDREQUEST']._serialized_start=11909 + _globals['_SUSPENDREQUEST']._serialized_end=11991 + _globals['_SUSPENDRESPONSE']._serialized_start=11993 + _globals['_SUSPENDRESPONSE']._serialized_end=12010 + _globals['_RESUMEREQUEST']._serialized_start=12012 + _globals['_RESUMEREQUEST']._serialized_end=12093 + _globals['_RESUMERESPONSE']._serialized_start=12095 + _globals['_RESUMERESPONSE']._serialized_end=12111 + _globals['_QUERYINSTANCESREQUEST']._serialized_start=12113 + _globals['_QUERYINSTANCESREQUEST']._serialized_end=12167 + _globals['_INSTANCEQUERY']._serialized_start=12170 + _globals['_INSTANCEQUERY']._serialized_end=12556 + _globals['_QUERYINSTANCESRESPONSE']._serialized_start=12559 + _globals['_QUERYINSTANCESRESPONSE']._serialized_end=12689 + _globals['_LISTINSTANCEIDSREQUEST']._serialized_start=12692 + _globals['_LISTINSTANCEIDSREQUEST']._serialized_end=12942 + _globals['_LISTINSTANCEIDSRESPONSE']._serialized_start=12944 + _globals['_LISTINSTANCEIDSRESPONSE']._serialized_end=13045 + _globals['_PURGEINSTANCESREQUEST']._serialized_start=13048 + _globals['_PURGEINSTANCESREQUEST']._serialized_end=13242 + _globals['_PURGEINSTANCEFILTER']._serialized_start=13245 + _globals['_PURGEINSTANCEFILTER']._serialized_end=13415 + _globals['_PURGEINSTANCESRESPONSE']._serialized_start=13417 + _globals['_PURGEINSTANCESRESPONSE']._serialized_end=13519 + _globals['_RESTARTINSTANCEREQUEST']._serialized_start=13521 + _globals['_RESTARTINSTANCEREQUEST']._serialized_end=13599 + _globals['_RESTARTINSTANCERESPONSE']._serialized_start=13601 + _globals['_RESTARTINSTANCERESPONSE']._serialized_end=13646 + _globals['_CREATETASKHUBREQUEST']._serialized_start=13648 + _globals['_CREATETASKHUBREQUEST']._serialized_end=13696 + _globals['_CREATETASKHUBRESPONSE']._serialized_start=13698 + _globals['_CREATETASKHUBRESPONSE']._serialized_end=13721 + _globals['_DELETETASKHUBREQUEST']._serialized_start=13723 + _globals['_DELETETASKHUBREQUEST']._serialized_end=13745 + _globals['_DELETETASKHUBRESPONSE']._serialized_start=13747 + _globals['_DELETETASKHUBRESPONSE']._serialized_end=13770 + _globals['_SIGNALENTITYREQUEST']._serialized_start=13773 + _globals['_SIGNALENTITYREQUEST']._serialized_end=14035 + _globals['_SIGNALENTITYRESPONSE']._serialized_start=14037 + _globals['_SIGNALENTITYRESPONSE']._serialized_end=14059 + _globals['_GETENTITYREQUEST']._serialized_start=14061 + _globals['_GETENTITYREQUEST']._serialized_end=14121 + _globals['_GETENTITYRESPONSE']._serialized_start=14123 + _globals['_GETENTITYRESPONSE']._serialized_end=14191 + _globals['_ENTITYQUERY']._serialized_start=14194 + _globals['_ENTITYQUERY']._serialized_end=14525 + _globals['_QUERYENTITIESREQUEST']._serialized_start=14527 + _globals['_QUERYENTITIESREQUEST']._serialized_end=14578 + _globals['_QUERYENTITIESRESPONSE']._serialized_start=14580 + _globals['_QUERYENTITIESRESPONSE']._serialized_end=14695 + _globals['_ENTITYMETADATA']._serialized_start=14698 + _globals['_ENTITYMETADATA']._serialized_end=14917 + _globals['_CLEANENTITYSTORAGEREQUEST']._serialized_start=14920 + _globals['_CLEANENTITYSTORAGEREQUEST']._serialized_end=15063 + _globals['_CLEANENTITYSTORAGERESPONSE']._serialized_start=15066 + _globals['_CLEANENTITYSTORAGERESPONSE']._serialized_end=15212 + _globals['_ORCHESTRATORENTITYPARAMETERS']._serialized_start=15214 + _globals['_ORCHESTRATORENTITYPARAMETERS']._serialized_end=15307 + _globals['_ENTITYBATCHREQUEST']._serialized_start=15310 + _globals['_ENTITYBATCHREQUEST']._serialized_end=15572 + _globals['_ENTITYBATCHREQUEST_PROPERTIESENTRY']._serialized_start=954 + _globals['_ENTITYBATCHREQUEST_PROPERTIESENTRY']._serialized_end=1027 + _globals['_ENTITYBATCHRESULT']._serialized_start=15575 + _globals['_ENTITYBATCHRESULT']._serialized_end=15848 + _globals['_ENTITYREQUEST']._serialized_start=15851 + _globals['_ENTITYREQUEST']._serialized_end=16000 + _globals['_OPERATIONREQUEST']._serialized_start=16003 + _globals['_OPERATIONREQUEST']._serialized_end=16141 + _globals['_OPERATIONRESULT']._serialized_start=16143 + _globals['_OPERATIONRESULT']._serialized_end=16262 + _globals['_OPERATIONINFO']._serialized_start=16264 + _globals['_OPERATIONINFO']._serialized_end=16351 + _globals['_OPERATIONRESULTSUCCESS']._serialized_start=16354 + _globals['_OPERATIONRESULTSUCCESS']._serialized_end=16522 + _globals['_OPERATIONRESULTFAILURE']._serialized_start=16525 + _globals['_OPERATIONRESULTFAILURE']._serialized_end=16692 + _globals['_OPERATIONACTION']._serialized_start=16695 + _globals['_OPERATIONACTION']._serialized_end=16851 + _globals['_SENDSIGNALACTION']._serialized_start=16854 + _globals['_SENDSIGNALACTION']._serialized_end=17094 + _globals['_STARTNEWORCHESTRATIONACTION']._serialized_start=17097 + _globals['_STARTNEWORCHESTRATIONACTION']._serialized_end=17395 + _globals['_ABANDONACTIVITYTASKREQUEST']._serialized_start=17397 + _globals['_ABANDONACTIVITYTASKREQUEST']._serialized_end=17450 + _globals['_ABANDONACTIVITYTASKRESPONSE']._serialized_start=17452 + _globals['_ABANDONACTIVITYTASKRESPONSE']._serialized_end=17481 + _globals['_ABANDONORCHESTRATIONTASKREQUEST']._serialized_start=17483 + _globals['_ABANDONORCHESTRATIONTASKREQUEST']._serialized_end=17541 + _globals['_ABANDONORCHESTRATIONTASKRESPONSE']._serialized_start=17543 + _globals['_ABANDONORCHESTRATIONTASKRESPONSE']._serialized_end=17577 + _globals['_ABANDONENTITYTASKREQUEST']._serialized_start=17579 + _globals['_ABANDONENTITYTASKREQUEST']._serialized_end=17630 + _globals['_ABANDONENTITYTASKRESPONSE']._serialized_start=17632 + _globals['_ABANDONENTITYTASKRESPONSE']._serialized_end=17659 + _globals['_SKIPGRACEFULORCHESTRATIONTERMINATIONSREQUEST']._serialized_start=17662 + _globals['_SKIPGRACEFULORCHESTRATIONTERMINATIONSREQUEST']._serialized_end=17793 + _globals['_SKIPGRACEFULORCHESTRATIONTERMINATIONSRESPONSE']._serialized_start=17795 + _globals['_SKIPGRACEFULORCHESTRATIONTERMINATIONSRESPONSE']._serialized_end=17875 + _globals['_GETWORKITEMSREQUEST']._serialized_start=17878 + _globals['_GETWORKITEMSREQUEST']._serialized_end=18063 + _globals['_WORKITEM']._serialized_start=18066 + _globals['_WORKITEM']._serialized_end=18334 + _globals['_COMPLETETASKRESPONSE']._serialized_start=18336 + _globals['_COMPLETETASKRESPONSE']._serialized_end=18358 + _globals['_HEALTHPING']._serialized_start=18360 + _globals['_HEALTHPING']._serialized_end=18372 + _globals['_STREAMINSTANCEHISTORYREQUEST']._serialized_start=18375 + _globals['_STREAMINSTANCEHISTORYREQUEST']._serialized_end=18507 + _globals['_HISTORYCHUNK']._serialized_start=18509 + _globals['_HISTORYCHUNK']._serialized_end=18554 + _globals['_INSTANCEBATCH']._serialized_start=18556 + _globals['_INSTANCEBATCH']._serialized_end=18592 + _globals['_TASKHUBSIDECARSERVICE']._serialized_start=19081 + _globals['_TASKHUBSIDECARSERVICE']._serialized_end=21113 # @@protoc_insertion_point(module_scope) diff --git a/durabletask/internal/orchestrator_service_pb2.pyi b/durabletask/internal/orchestrator_service_pb2.pyi index 7ed284f..8132e13 100644 --- a/durabletask/internal/orchestrator_service_pb2.pyi +++ b/durabletask/internal/orchestrator_service_pb2.pyi @@ -1,3 +1,5 @@ +import datetime + from google.protobuf import timestamp_pb2 as _timestamp_pb2 from google.protobuf import duration_pb2 as _duration_pb2 from google.protobuf import wrappers_pb2 as _wrappers_pb2 @@ -7,7 +9,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -26,6 +29,8 @@ class WorkerCapability(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () WORKER_CAPABILITY_UNSPECIFIED: _ClassVar[WorkerCapability] WORKER_CAPABILITY_HISTORY_STREAMING: _ClassVar[WorkerCapability] + WORKER_CAPABILITY_SCHEDULED_TASKS: _ClassVar[WorkerCapability] + WORKER_CAPABILITY_LARGE_PAYLOADS: _ClassVar[WorkerCapability] ORCHESTRATION_STATUS_RUNNING: OrchestrationStatus ORCHESTRATION_STATUS_COMPLETED: OrchestrationStatus ORCHESTRATION_STATUS_CONTINUED_AS_NEW: OrchestrationStatus @@ -36,6 +41,8 @@ ORCHESTRATION_STATUS_PENDING: OrchestrationStatus ORCHESTRATION_STATUS_SUSPENDED: OrchestrationStatus WORKER_CAPABILITY_UNSPECIFIED: WorkerCapability WORKER_CAPABILITY_HISTORY_STREAMING: WorkerCapability +WORKER_CAPABILITY_SCHEDULED_TASKS: WorkerCapability +WORKER_CAPABILITY_LARGE_PAYLOADS: WorkerCapability class OrchestrationInstance(_message.Message): __slots__ = ("instanceId", "executionId") @@ -76,18 +83,27 @@ class ActivityResponse(_message.Message): def __init__(self, instanceId: _Optional[str] = ..., taskId: _Optional[int] = ..., result: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., completionToken: _Optional[str] = ...) -> None: ... class TaskFailureDetails(_message.Message): - __slots__ = ("errorType", "errorMessage", "stackTrace", "innerFailure", "isNonRetriable") + __slots__ = ("errorType", "errorMessage", "stackTrace", "innerFailure", "isNonRetriable", "properties") + class PropertiesEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: _struct_pb2.Value + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_struct_pb2.Value, _Mapping]] = ...) -> None: ... ERRORTYPE_FIELD_NUMBER: _ClassVar[int] ERRORMESSAGE_FIELD_NUMBER: _ClassVar[int] STACKTRACE_FIELD_NUMBER: _ClassVar[int] INNERFAILURE_FIELD_NUMBER: _ClassVar[int] ISNONRETRIABLE_FIELD_NUMBER: _ClassVar[int] + PROPERTIES_FIELD_NUMBER: _ClassVar[int] errorType: str errorMessage: str stackTrace: _wrappers_pb2.StringValue innerFailure: TaskFailureDetails isNonRetriable: bool - def __init__(self, errorType: _Optional[str] = ..., errorMessage: _Optional[str] = ..., stackTrace: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., innerFailure: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., isNonRetriable: bool = ...) -> None: ... + properties: _containers.MessageMap[str, _struct_pb2.Value] + def __init__(self, errorType: _Optional[str] = ..., errorMessage: _Optional[str] = ..., stackTrace: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., innerFailure: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., isNonRetriable: bool = ..., properties: _Optional[_Mapping[str, _struct_pb2.Value]] = ...) -> None: ... class ParentInstanceInfo(_message.Message): __slots__ = ("taskScheduledId", "name", "version", "orchestrationInstance") @@ -138,7 +154,7 @@ class ExecutionStartedEvent(_message.Message): parentTraceContext: TraceContext orchestrationSpanID: _wrappers_pb2.StringValue tags: _containers.ScalarMap[str, str] - def __init__(self, name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., orchestrationInstance: _Optional[_Union[OrchestrationInstance, _Mapping]] = ..., parentInstance: _Optional[_Union[ParentInstanceInfo, _Mapping]] = ..., scheduledStartTimestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ..., orchestrationSpanID: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... + def __init__(self, name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., orchestrationInstance: _Optional[_Union[OrchestrationInstance, _Mapping]] = ..., parentInstance: _Optional[_Union[ParentInstanceInfo, _Mapping]] = ..., scheduledStartTimestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ..., orchestrationSpanID: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... class ExecutionCompletedEvent(_message.Message): __slots__ = ("orchestrationStatus", "result", "failureDetails") @@ -196,18 +212,27 @@ class TaskFailedEvent(_message.Message): def __init__(self, taskScheduledId: _Optional[int] = ..., failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ...) -> None: ... class SubOrchestrationInstanceCreatedEvent(_message.Message): - __slots__ = ("instanceId", "name", "version", "input", "parentTraceContext") + __slots__ = ("instanceId", "name", "version", "input", "parentTraceContext", "tags") + class TagsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... INSTANCEID_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] VERSION_FIELD_NUMBER: _ClassVar[int] INPUT_FIELD_NUMBER: _ClassVar[int] PARENTTRACECONTEXT_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] instanceId: str name: str version: _wrappers_pb2.StringValue input: _wrappers_pb2.StringValue parentTraceContext: TraceContext - def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ...) -> None: ... + tags: _containers.ScalarMap[str, str] + def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... class SubOrchestrationInstanceCompletedEvent(_message.Message): __slots__ = ("taskScheduledId", "result") @@ -229,7 +254,7 @@ class TimerCreatedEvent(_message.Message): __slots__ = ("fireAt",) FIREAT_FIELD_NUMBER: _ClassVar[int] fireAt: _timestamp_pb2.Timestamp - def __init__(self, fireAt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, fireAt: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class TimerFiredEvent(_message.Message): __slots__ = ("fireAt", "timerId") @@ -237,7 +262,7 @@ class TimerFiredEvent(_message.Message): TIMERID_FIELD_NUMBER: _ClassVar[int] fireAt: _timestamp_pb2.Timestamp timerId: int - def __init__(self, fireAt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., timerId: _Optional[int] = ...) -> None: ... + def __init__(self, fireAt: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., timerId: _Optional[int] = ...) -> None: ... class OrchestratorStartedEvent(_message.Message): __slots__ = () @@ -307,7 +332,7 @@ class EntityOperationSignaledEvent(_message.Message): scheduledTime: _timestamp_pb2.Timestamp input: _wrappers_pb2.StringValue targetInstanceId: _wrappers_pb2.StringValue - def __init__(self, requestId: _Optional[str] = ..., operation: _Optional[str] = ..., scheduledTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., targetInstanceId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + def __init__(self, requestId: _Optional[str] = ..., operation: _Optional[str] = ..., scheduledTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., targetInstanceId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... class EntityOperationCalledEvent(_message.Message): __slots__ = ("requestId", "operation", "scheduledTime", "input", "parentInstanceId", "parentExecutionId", "targetInstanceId") @@ -325,7 +350,7 @@ class EntityOperationCalledEvent(_message.Message): parentInstanceId: _wrappers_pb2.StringValue parentExecutionId: _wrappers_pb2.StringValue targetInstanceId: _wrappers_pb2.StringValue - def __init__(self, requestId: _Optional[str] = ..., operation: _Optional[str] = ..., scheduledTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentInstanceId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentExecutionId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., targetInstanceId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + def __init__(self, requestId: _Optional[str] = ..., operation: _Optional[str] = ..., scheduledTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentInstanceId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentExecutionId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., targetInstanceId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... class EntityLockRequestedEvent(_message.Message): __slots__ = ("criticalSectionId", "lockSet", "position", "parentInstanceId") @@ -371,8 +396,37 @@ class EntityLockGrantedEvent(_message.Message): criticalSectionId: str def __init__(self, criticalSectionId: _Optional[str] = ...) -> None: ... +class ExecutionRewoundEvent(_message.Message): + __slots__ = ("reason", "parentExecutionId", "instanceId", "parentTraceContext", "name", "version", "input", "parentInstance", "tags") + class TagsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + REASON_FIELD_NUMBER: _ClassVar[int] + PARENTEXECUTIONID_FIELD_NUMBER: _ClassVar[int] + INSTANCEID_FIELD_NUMBER: _ClassVar[int] + PARENTTRACECONTEXT_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + INPUT_FIELD_NUMBER: _ClassVar[int] + PARENTINSTANCE_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] + reason: _wrappers_pb2.StringValue + parentExecutionId: _wrappers_pb2.StringValue + instanceId: _wrappers_pb2.StringValue + parentTraceContext: TraceContext + name: _wrappers_pb2.StringValue + version: _wrappers_pb2.StringValue + input: _wrappers_pb2.StringValue + parentInstance: ParentInstanceInfo + tags: _containers.ScalarMap[str, str] + def __init__(self, reason: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentExecutionId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., instanceId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ..., name: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentInstance: _Optional[_Union[ParentInstanceInfo, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... + class HistoryEvent(_message.Message): - __slots__ = ("eventId", "timestamp", "executionStarted", "executionCompleted", "executionTerminated", "taskScheduled", "taskCompleted", "taskFailed", "subOrchestrationInstanceCreated", "subOrchestrationInstanceCompleted", "subOrchestrationInstanceFailed", "timerCreated", "timerFired", "orchestratorStarted", "orchestratorCompleted", "eventSent", "eventRaised", "genericEvent", "historyState", "continueAsNew", "executionSuspended", "executionResumed", "entityOperationSignaled", "entityOperationCalled", "entityOperationCompleted", "entityOperationFailed", "entityLockRequested", "entityLockGranted", "entityUnlockSent") + __slots__ = ("eventId", "timestamp", "executionStarted", "executionCompleted", "executionTerminated", "taskScheduled", "taskCompleted", "taskFailed", "subOrchestrationInstanceCreated", "subOrchestrationInstanceCompleted", "subOrchestrationInstanceFailed", "timerCreated", "timerFired", "orchestratorStarted", "orchestratorCompleted", "eventSent", "eventRaised", "genericEvent", "historyState", "continueAsNew", "executionSuspended", "executionResumed", "entityOperationSignaled", "entityOperationCalled", "entityOperationCompleted", "entityOperationFailed", "entityLockRequested", "entityLockGranted", "entityUnlockSent", "executionRewound") EVENTID_FIELD_NUMBER: _ClassVar[int] TIMESTAMP_FIELD_NUMBER: _ClassVar[int] EXECUTIONSTARTED_FIELD_NUMBER: _ClassVar[int] @@ -402,6 +456,7 @@ class HistoryEvent(_message.Message): ENTITYLOCKREQUESTED_FIELD_NUMBER: _ClassVar[int] ENTITYLOCKGRANTED_FIELD_NUMBER: _ClassVar[int] ENTITYUNLOCKSENT_FIELD_NUMBER: _ClassVar[int] + EXECUTIONREWOUND_FIELD_NUMBER: _ClassVar[int] eventId: int timestamp: _timestamp_pb2.Timestamp executionStarted: ExecutionStartedEvent @@ -431,10 +486,11 @@ class HistoryEvent(_message.Message): entityLockRequested: EntityLockRequestedEvent entityLockGranted: EntityLockGrantedEvent entityUnlockSent: EntityUnlockSentEvent - def __init__(self, eventId: _Optional[int] = ..., timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., executionStarted: _Optional[_Union[ExecutionStartedEvent, _Mapping]] = ..., executionCompleted: _Optional[_Union[ExecutionCompletedEvent, _Mapping]] = ..., executionTerminated: _Optional[_Union[ExecutionTerminatedEvent, _Mapping]] = ..., taskScheduled: _Optional[_Union[TaskScheduledEvent, _Mapping]] = ..., taskCompleted: _Optional[_Union[TaskCompletedEvent, _Mapping]] = ..., taskFailed: _Optional[_Union[TaskFailedEvent, _Mapping]] = ..., subOrchestrationInstanceCreated: _Optional[_Union[SubOrchestrationInstanceCreatedEvent, _Mapping]] = ..., subOrchestrationInstanceCompleted: _Optional[_Union[SubOrchestrationInstanceCompletedEvent, _Mapping]] = ..., subOrchestrationInstanceFailed: _Optional[_Union[SubOrchestrationInstanceFailedEvent, _Mapping]] = ..., timerCreated: _Optional[_Union[TimerCreatedEvent, _Mapping]] = ..., timerFired: _Optional[_Union[TimerFiredEvent, _Mapping]] = ..., orchestratorStarted: _Optional[_Union[OrchestratorStartedEvent, _Mapping]] = ..., orchestratorCompleted: _Optional[_Union[OrchestratorCompletedEvent, _Mapping]] = ..., eventSent: _Optional[_Union[EventSentEvent, _Mapping]] = ..., eventRaised: _Optional[_Union[EventRaisedEvent, _Mapping]] = ..., genericEvent: _Optional[_Union[GenericEvent, _Mapping]] = ..., historyState: _Optional[_Union[HistoryStateEvent, _Mapping]] = ..., continueAsNew: _Optional[_Union[ContinueAsNewEvent, _Mapping]] = ..., executionSuspended: _Optional[_Union[ExecutionSuspendedEvent, _Mapping]] = ..., executionResumed: _Optional[_Union[ExecutionResumedEvent, _Mapping]] = ..., entityOperationSignaled: _Optional[_Union[EntityOperationSignaledEvent, _Mapping]] = ..., entityOperationCalled: _Optional[_Union[EntityOperationCalledEvent, _Mapping]] = ..., entityOperationCompleted: _Optional[_Union[EntityOperationCompletedEvent, _Mapping]] = ..., entityOperationFailed: _Optional[_Union[EntityOperationFailedEvent, _Mapping]] = ..., entityLockRequested: _Optional[_Union[EntityLockRequestedEvent, _Mapping]] = ..., entityLockGranted: _Optional[_Union[EntityLockGrantedEvent, _Mapping]] = ..., entityUnlockSent: _Optional[_Union[EntityUnlockSentEvent, _Mapping]] = ...) -> None: ... + executionRewound: ExecutionRewoundEvent + def __init__(self, eventId: _Optional[int] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., executionStarted: _Optional[_Union[ExecutionStartedEvent, _Mapping]] = ..., executionCompleted: _Optional[_Union[ExecutionCompletedEvent, _Mapping]] = ..., executionTerminated: _Optional[_Union[ExecutionTerminatedEvent, _Mapping]] = ..., taskScheduled: _Optional[_Union[TaskScheduledEvent, _Mapping]] = ..., taskCompleted: _Optional[_Union[TaskCompletedEvent, _Mapping]] = ..., taskFailed: _Optional[_Union[TaskFailedEvent, _Mapping]] = ..., subOrchestrationInstanceCreated: _Optional[_Union[SubOrchestrationInstanceCreatedEvent, _Mapping]] = ..., subOrchestrationInstanceCompleted: _Optional[_Union[SubOrchestrationInstanceCompletedEvent, _Mapping]] = ..., subOrchestrationInstanceFailed: _Optional[_Union[SubOrchestrationInstanceFailedEvent, _Mapping]] = ..., timerCreated: _Optional[_Union[TimerCreatedEvent, _Mapping]] = ..., timerFired: _Optional[_Union[TimerFiredEvent, _Mapping]] = ..., orchestratorStarted: _Optional[_Union[OrchestratorStartedEvent, _Mapping]] = ..., orchestratorCompleted: _Optional[_Union[OrchestratorCompletedEvent, _Mapping]] = ..., eventSent: _Optional[_Union[EventSentEvent, _Mapping]] = ..., eventRaised: _Optional[_Union[EventRaisedEvent, _Mapping]] = ..., genericEvent: _Optional[_Union[GenericEvent, _Mapping]] = ..., historyState: _Optional[_Union[HistoryStateEvent, _Mapping]] = ..., continueAsNew: _Optional[_Union[ContinueAsNewEvent, _Mapping]] = ..., executionSuspended: _Optional[_Union[ExecutionSuspendedEvent, _Mapping]] = ..., executionResumed: _Optional[_Union[ExecutionResumedEvent, _Mapping]] = ..., entityOperationSignaled: _Optional[_Union[EntityOperationSignaledEvent, _Mapping]] = ..., entityOperationCalled: _Optional[_Union[EntityOperationCalledEvent, _Mapping]] = ..., entityOperationCompleted: _Optional[_Union[EntityOperationCompletedEvent, _Mapping]] = ..., entityOperationFailed: _Optional[_Union[EntityOperationFailedEvent, _Mapping]] = ..., entityLockRequested: _Optional[_Union[EntityLockRequestedEvent, _Mapping]] = ..., entityLockGranted: _Optional[_Union[EntityLockGrantedEvent, _Mapping]] = ..., entityUnlockSent: _Optional[_Union[EntityUnlockSentEvent, _Mapping]] = ..., executionRewound: _Optional[_Union[ExecutionRewoundEvent, _Mapping]] = ...) -> None: ... class ScheduleTaskAction(_message.Message): - __slots__ = ("name", "version", "input", "tags") + __slots__ = ("name", "version", "input", "tags", "parentTraceContext") class TagsEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -446,29 +502,42 @@ class ScheduleTaskAction(_message.Message): VERSION_FIELD_NUMBER: _ClassVar[int] INPUT_FIELD_NUMBER: _ClassVar[int] TAGS_FIELD_NUMBER: _ClassVar[int] + PARENTTRACECONTEXT_FIELD_NUMBER: _ClassVar[int] name: str version: _wrappers_pb2.StringValue input: _wrappers_pb2.StringValue tags: _containers.ScalarMap[str, str] - def __init__(self, name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... + parentTraceContext: TraceContext + def __init__(self, name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ...) -> None: ... class CreateSubOrchestrationAction(_message.Message): - __slots__ = ("instanceId", "name", "version", "input") + __slots__ = ("instanceId", "name", "version", "input", "parentTraceContext", "tags") + class TagsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... INSTANCEID_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] VERSION_FIELD_NUMBER: _ClassVar[int] INPUT_FIELD_NUMBER: _ClassVar[int] + PARENTTRACECONTEXT_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] instanceId: str name: str version: _wrappers_pb2.StringValue input: _wrappers_pb2.StringValue - def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + parentTraceContext: TraceContext + tags: _containers.ScalarMap[str, str] + def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... class CreateTimerAction(_message.Message): __slots__ = ("fireAt",) FIREAT_FIELD_NUMBER: _ClassVar[int] fireAt: _timestamp_pb2.Timestamp - def __init__(self, fireAt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, fireAt: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SendEventAction(_message.Message): __slots__ = ("instance", "name", "data") @@ -481,20 +550,29 @@ class SendEventAction(_message.Message): def __init__(self, instance: _Optional[_Union[OrchestrationInstance, _Mapping]] = ..., name: _Optional[str] = ..., data: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... class CompleteOrchestrationAction(_message.Message): - __slots__ = ("orchestrationStatus", "result", "details", "newVersion", "carryoverEvents", "failureDetails") + __slots__ = ("orchestrationStatus", "result", "details", "newVersion", "carryoverEvents", "failureDetails", "tags") + class TagsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... ORCHESTRATIONSTATUS_FIELD_NUMBER: _ClassVar[int] RESULT_FIELD_NUMBER: _ClassVar[int] DETAILS_FIELD_NUMBER: _ClassVar[int] NEWVERSION_FIELD_NUMBER: _ClassVar[int] CARRYOVEREVENTS_FIELD_NUMBER: _ClassVar[int] FAILUREDETAILS_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] orchestrationStatus: OrchestrationStatus result: _wrappers_pb2.StringValue details: _wrappers_pb2.StringValue newVersion: _wrappers_pb2.StringValue carryoverEvents: _containers.RepeatedCompositeFieldContainer[HistoryEvent] failureDetails: TaskFailureDetails - def __init__(self, orchestrationStatus: _Optional[_Union[OrchestrationStatus, str]] = ..., result: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., details: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., newVersion: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., carryoverEvents: _Optional[_Iterable[_Union[HistoryEvent, _Mapping]]] = ..., failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ...) -> None: ... + tags: _containers.ScalarMap[str, str] + def __init__(self, orchestrationStatus: _Optional[_Union[OrchestrationStatus, str]] = ..., result: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., details: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., newVersion: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., carryoverEvents: _Optional[_Iterable[_Union[HistoryEvent, _Mapping]]] = ..., failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... class TerminateOrchestrationAction(_message.Message): __slots__ = ("instanceId", "reason", "recurse") @@ -538,8 +616,16 @@ class OrchestratorAction(_message.Message): sendEntityMessage: SendEntityMessageAction def __init__(self, id: _Optional[int] = ..., scheduleTask: _Optional[_Union[ScheduleTaskAction, _Mapping]] = ..., createSubOrchestration: _Optional[_Union[CreateSubOrchestrationAction, _Mapping]] = ..., createTimer: _Optional[_Union[CreateTimerAction, _Mapping]] = ..., sendEvent: _Optional[_Union[SendEventAction, _Mapping]] = ..., completeOrchestration: _Optional[_Union[CompleteOrchestrationAction, _Mapping]] = ..., terminateOrchestration: _Optional[_Union[TerminateOrchestrationAction, _Mapping]] = ..., sendEntityMessage: _Optional[_Union[SendEntityMessageAction, _Mapping]] = ...) -> None: ... +class OrchestrationTraceContext(_message.Message): + __slots__ = ("spanID", "spanStartTime") + SPANID_FIELD_NUMBER: _ClassVar[int] + SPANSTARTTIME_FIELD_NUMBER: _ClassVar[int] + spanID: _wrappers_pb2.StringValue + spanStartTime: _timestamp_pb2.Timestamp + def __init__(self, spanID: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., spanStartTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + class OrchestratorRequest(_message.Message): - __slots__ = ("instanceId", "executionId", "pastEvents", "newEvents", "entityParameters", "requiresHistoryStreaming", "properties") + __slots__ = ("instanceId", "executionId", "pastEvents", "newEvents", "entityParameters", "requiresHistoryStreaming", "properties", "orchestrationTraceContext") class PropertiesEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -554,6 +640,7 @@ class OrchestratorRequest(_message.Message): ENTITYPARAMETERS_FIELD_NUMBER: _ClassVar[int] REQUIRESHISTORYSTREAMING_FIELD_NUMBER: _ClassVar[int] PROPERTIES_FIELD_NUMBER: _ClassVar[int] + ORCHESTRATIONTRACECONTEXT_FIELD_NUMBER: _ClassVar[int] instanceId: str executionId: _wrappers_pb2.StringValue pastEvents: _containers.RepeatedCompositeFieldContainer[HistoryEvent] @@ -561,21 +648,30 @@ class OrchestratorRequest(_message.Message): entityParameters: OrchestratorEntityParameters requiresHistoryStreaming: bool properties: _containers.MessageMap[str, _struct_pb2.Value] - def __init__(self, instanceId: _Optional[str] = ..., executionId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., pastEvents: _Optional[_Iterable[_Union[HistoryEvent, _Mapping]]] = ..., newEvents: _Optional[_Iterable[_Union[HistoryEvent, _Mapping]]] = ..., entityParameters: _Optional[_Union[OrchestratorEntityParameters, _Mapping]] = ..., requiresHistoryStreaming: bool = ..., properties: _Optional[_Mapping[str, _struct_pb2.Value]] = ...) -> None: ... + orchestrationTraceContext: OrchestrationTraceContext + def __init__(self, instanceId: _Optional[str] = ..., executionId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., pastEvents: _Optional[_Iterable[_Union[HistoryEvent, _Mapping]]] = ..., newEvents: _Optional[_Iterable[_Union[HistoryEvent, _Mapping]]] = ..., entityParameters: _Optional[_Union[OrchestratorEntityParameters, _Mapping]] = ..., requiresHistoryStreaming: bool = ..., properties: _Optional[_Mapping[str, _struct_pb2.Value]] = ..., orchestrationTraceContext: _Optional[_Union[OrchestrationTraceContext, _Mapping]] = ...) -> None: ... class OrchestratorResponse(_message.Message): - __slots__ = ("instanceId", "actions", "customStatus", "completionToken", "numEventsProcessed") + __slots__ = ("instanceId", "actions", "customStatus", "completionToken", "numEventsProcessed", "orchestrationTraceContext", "requiresHistory", "isPartial", "chunkIndex") INSTANCEID_FIELD_NUMBER: _ClassVar[int] ACTIONS_FIELD_NUMBER: _ClassVar[int] CUSTOMSTATUS_FIELD_NUMBER: _ClassVar[int] COMPLETIONTOKEN_FIELD_NUMBER: _ClassVar[int] NUMEVENTSPROCESSED_FIELD_NUMBER: _ClassVar[int] + ORCHESTRATIONTRACECONTEXT_FIELD_NUMBER: _ClassVar[int] + REQUIRESHISTORY_FIELD_NUMBER: _ClassVar[int] + ISPARTIAL_FIELD_NUMBER: _ClassVar[int] + CHUNKINDEX_FIELD_NUMBER: _ClassVar[int] instanceId: str actions: _containers.RepeatedCompositeFieldContainer[OrchestratorAction] customStatus: _wrappers_pb2.StringValue completionToken: str numEventsProcessed: _wrappers_pb2.Int32Value - def __init__(self, instanceId: _Optional[str] = ..., actions: _Optional[_Iterable[_Union[OrchestratorAction, _Mapping]]] = ..., customStatus: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., completionToken: _Optional[str] = ..., numEventsProcessed: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]] = ...) -> None: ... + orchestrationTraceContext: OrchestrationTraceContext + requiresHistory: bool + isPartial: bool + chunkIndex: _wrappers_pb2.Int32Value + def __init__(self, instanceId: _Optional[str] = ..., actions: _Optional[_Iterable[_Union[OrchestratorAction, _Mapping]]] = ..., customStatus: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., completionToken: _Optional[str] = ..., numEventsProcessed: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]] = ..., orchestrationTraceContext: _Optional[_Union[OrchestrationTraceContext, _Mapping]] = ..., requiresHistory: bool = ..., isPartial: bool = ..., chunkIndex: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]] = ...) -> None: ... class CreateInstanceRequest(_message.Message): __slots__ = ("instanceId", "name", "version", "input", "scheduledStartTimestamp", "orchestrationIdReusePolicy", "executionId", "tags", "parentTraceContext", "requestTime") @@ -606,7 +702,7 @@ class CreateInstanceRequest(_message.Message): tags: _containers.ScalarMap[str, str] parentTraceContext: TraceContext requestTime: _timestamp_pb2.Timestamp - def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., scheduledStartTimestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., orchestrationIdReusePolicy: _Optional[_Union[OrchestrationIdReusePolicy, _Mapping]] = ..., executionId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ..., requestTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., scheduledStartTimestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., orchestrationIdReusePolicy: _Optional[_Union[OrchestrationIdReusePolicy, _Mapping]] = ..., executionId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ..., requestTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class OrchestrationIdReusePolicy(_message.Message): __slots__ = ("replaceableStatus",) @@ -687,7 +783,7 @@ class OrchestrationState(_message.Message): completedTimestamp: _timestamp_pb2.Timestamp parentInstanceId: _wrappers_pb2.StringValue tags: _containers.ScalarMap[str, str] - def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., orchestrationStatus: _Optional[_Union[OrchestrationStatus, str]] = ..., scheduledStartTimestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., createdTimestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lastUpdatedTimestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., output: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., customStatus: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., executionId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., completedTimestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., parentInstanceId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... + def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., orchestrationStatus: _Optional[_Union[OrchestrationStatus, str]] = ..., scheduledStartTimestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., createdTimestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., lastUpdatedTimestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., output: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., customStatus: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., executionId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., completedTimestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., parentInstanceId: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... class RaiseEventRequest(_message.Message): __slots__ = ("instanceId", "name", "input") @@ -765,7 +861,7 @@ class InstanceQuery(_message.Message): continuationToken: _wrappers_pb2.StringValue instanceIdPrefix: _wrappers_pb2.StringValue fetchInputsAndOutputs: bool - def __init__(self, runtimeStatus: _Optional[_Iterable[_Union[OrchestrationStatus, str]]] = ..., createdTimeFrom: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., createdTimeTo: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., taskHubNames: _Optional[_Iterable[_Union[_wrappers_pb2.StringValue, _Mapping]]] = ..., maxInstanceCount: _Optional[int] = ..., continuationToken: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., instanceIdPrefix: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., fetchInputsAndOutputs: bool = ...) -> None: ... + def __init__(self, runtimeStatus: _Optional[_Iterable[_Union[OrchestrationStatus, str]]] = ..., createdTimeFrom: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., createdTimeTo: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., taskHubNames: _Optional[_Iterable[_Union[_wrappers_pb2.StringValue, _Mapping]]] = ..., maxInstanceCount: _Optional[int] = ..., continuationToken: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., instanceIdPrefix: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., fetchInputsAndOutputs: bool = ...) -> None: ... class QueryInstancesResponse(_message.Message): __slots__ = ("orchestrationState", "continuationToken") @@ -775,15 +871,41 @@ class QueryInstancesResponse(_message.Message): continuationToken: _wrappers_pb2.StringValue def __init__(self, orchestrationState: _Optional[_Iterable[_Union[OrchestrationState, _Mapping]]] = ..., continuationToken: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... +class ListInstanceIdsRequest(_message.Message): + __slots__ = ("runtimeStatus", "completedTimeFrom", "completedTimeTo", "pageSize", "lastInstanceKey") + RUNTIMESTATUS_FIELD_NUMBER: _ClassVar[int] + COMPLETEDTIMEFROM_FIELD_NUMBER: _ClassVar[int] + COMPLETEDTIMETO_FIELD_NUMBER: _ClassVar[int] + PAGESIZE_FIELD_NUMBER: _ClassVar[int] + LASTINSTANCEKEY_FIELD_NUMBER: _ClassVar[int] + runtimeStatus: _containers.RepeatedScalarFieldContainer[OrchestrationStatus] + completedTimeFrom: _timestamp_pb2.Timestamp + completedTimeTo: _timestamp_pb2.Timestamp + pageSize: int + lastInstanceKey: _wrappers_pb2.StringValue + def __init__(self, runtimeStatus: _Optional[_Iterable[_Union[OrchestrationStatus, str]]] = ..., completedTimeFrom: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., completedTimeTo: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., pageSize: _Optional[int] = ..., lastInstanceKey: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class ListInstanceIdsResponse(_message.Message): + __slots__ = ("instanceIds", "lastInstanceKey") + INSTANCEIDS_FIELD_NUMBER: _ClassVar[int] + LASTINSTANCEKEY_FIELD_NUMBER: _ClassVar[int] + instanceIds: _containers.RepeatedScalarFieldContainer[str] + lastInstanceKey: _wrappers_pb2.StringValue + def __init__(self, instanceIds: _Optional[_Iterable[str]] = ..., lastInstanceKey: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + class PurgeInstancesRequest(_message.Message): - __slots__ = ("instanceId", "purgeInstanceFilter", "recursive") + __slots__ = ("instanceId", "purgeInstanceFilter", "instanceBatch", "recursive", "isOrchestration") INSTANCEID_FIELD_NUMBER: _ClassVar[int] PURGEINSTANCEFILTER_FIELD_NUMBER: _ClassVar[int] + INSTANCEBATCH_FIELD_NUMBER: _ClassVar[int] RECURSIVE_FIELD_NUMBER: _ClassVar[int] + ISORCHESTRATION_FIELD_NUMBER: _ClassVar[int] instanceId: str purgeInstanceFilter: PurgeInstanceFilter + instanceBatch: InstanceBatch recursive: bool - def __init__(self, instanceId: _Optional[str] = ..., purgeInstanceFilter: _Optional[_Union[PurgeInstanceFilter, _Mapping]] = ..., recursive: bool = ...) -> None: ... + isOrchestration: bool + def __init__(self, instanceId: _Optional[str] = ..., purgeInstanceFilter: _Optional[_Union[PurgeInstanceFilter, _Mapping]] = ..., instanceBatch: _Optional[_Union[InstanceBatch, _Mapping]] = ..., recursive: bool = ..., isOrchestration: bool = ...) -> None: ... class PurgeInstanceFilter(_message.Message): __slots__ = ("createdTimeFrom", "createdTimeTo", "runtimeStatus") @@ -793,7 +915,7 @@ class PurgeInstanceFilter(_message.Message): createdTimeFrom: _timestamp_pb2.Timestamp createdTimeTo: _timestamp_pb2.Timestamp runtimeStatus: _containers.RepeatedScalarFieldContainer[OrchestrationStatus] - def __init__(self, createdTimeFrom: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., createdTimeTo: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., runtimeStatus: _Optional[_Iterable[_Union[OrchestrationStatus, str]]] = ...) -> None: ... + def __init__(self, createdTimeFrom: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., createdTimeTo: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., runtimeStatus: _Optional[_Iterable[_Union[OrchestrationStatus, str]]] = ...) -> None: ... class PurgeInstancesResponse(_message.Message): __slots__ = ("deletedInstanceCount", "isComplete") @@ -803,6 +925,20 @@ class PurgeInstancesResponse(_message.Message): isComplete: _wrappers_pb2.BoolValue def __init__(self, deletedInstanceCount: _Optional[int] = ..., isComplete: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ...) -> None: ... +class RestartInstanceRequest(_message.Message): + __slots__ = ("instanceId", "restartWithNewInstanceId") + INSTANCEID_FIELD_NUMBER: _ClassVar[int] + RESTARTWITHNEWINSTANCEID_FIELD_NUMBER: _ClassVar[int] + instanceId: str + restartWithNewInstanceId: bool + def __init__(self, instanceId: _Optional[str] = ..., restartWithNewInstanceId: bool = ...) -> None: ... + +class RestartInstanceResponse(_message.Message): + __slots__ = ("instanceId",) + INSTANCEID_FIELD_NUMBER: _ClassVar[int] + instanceId: str + def __init__(self, instanceId: _Optional[str] = ...) -> None: ... + class CreateTaskHubRequest(_message.Message): __slots__ = ("recreateIfExists",) RECREATEIFEXISTS_FIELD_NUMBER: _ClassVar[int] @@ -837,7 +973,7 @@ class SignalEntityRequest(_message.Message): scheduledTime: _timestamp_pb2.Timestamp parentTraceContext: TraceContext requestTime: _timestamp_pb2.Timestamp - def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., requestId: _Optional[str] = ..., scheduledTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ..., requestTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., requestId: _Optional[str] = ..., scheduledTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ..., requestTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SignalEntityResponse(_message.Message): __slots__ = () @@ -875,7 +1011,7 @@ class EntityQuery(_message.Message): includeTransient: bool pageSize: _wrappers_pb2.Int32Value continuationToken: _wrappers_pb2.StringValue - def __init__(self, instanceIdStartsWith: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., lastModifiedFrom: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., lastModifiedTo: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., includeState: bool = ..., includeTransient: bool = ..., pageSize: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]] = ..., continuationToken: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + def __init__(self, instanceIdStartsWith: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., lastModifiedFrom: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., lastModifiedTo: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., includeState: bool = ..., includeTransient: bool = ..., pageSize: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]] = ..., continuationToken: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... class QueryEntitiesRequest(_message.Message): __slots__ = ("query",) @@ -903,7 +1039,7 @@ class EntityMetadata(_message.Message): backlogQueueSize: int lockedBy: _wrappers_pb2.StringValue serializedState: _wrappers_pb2.StringValue - def __init__(self, instanceId: _Optional[str] = ..., lastModifiedTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., backlogQueueSize: _Optional[int] = ..., lockedBy: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., serializedState: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + def __init__(self, instanceId: _Optional[str] = ..., lastModifiedTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., backlogQueueSize: _Optional[int] = ..., lockedBy: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., serializedState: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... class CleanEntityStorageRequest(_message.Message): __slots__ = ("continuationToken", "removeEmptyEntities", "releaseOrphanedLocks") @@ -929,33 +1065,44 @@ class OrchestratorEntityParameters(_message.Message): __slots__ = ("entityMessageReorderWindow",) ENTITYMESSAGEREORDERWINDOW_FIELD_NUMBER: _ClassVar[int] entityMessageReorderWindow: _duration_pb2.Duration - def __init__(self, entityMessageReorderWindow: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + def __init__(self, entityMessageReorderWindow: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ...) -> None: ... class EntityBatchRequest(_message.Message): - __slots__ = ("instanceId", "entityState", "operations") + __slots__ = ("instanceId", "entityState", "operations", "properties") + class PropertiesEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: _struct_pb2.Value + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_struct_pb2.Value, _Mapping]] = ...) -> None: ... INSTANCEID_FIELD_NUMBER: _ClassVar[int] ENTITYSTATE_FIELD_NUMBER: _ClassVar[int] OPERATIONS_FIELD_NUMBER: _ClassVar[int] + PROPERTIES_FIELD_NUMBER: _ClassVar[int] instanceId: str entityState: _wrappers_pb2.StringValue operations: _containers.RepeatedCompositeFieldContainer[OperationRequest] - def __init__(self, instanceId: _Optional[str] = ..., entityState: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., operations: _Optional[_Iterable[_Union[OperationRequest, _Mapping]]] = ...) -> None: ... + properties: _containers.MessageMap[str, _struct_pb2.Value] + def __init__(self, instanceId: _Optional[str] = ..., entityState: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., operations: _Optional[_Iterable[_Union[OperationRequest, _Mapping]]] = ..., properties: _Optional[_Mapping[str, _struct_pb2.Value]] = ...) -> None: ... class EntityBatchResult(_message.Message): - __slots__ = ("results", "actions", "entityState", "failureDetails", "completionToken", "operationInfos") + __slots__ = ("results", "actions", "entityState", "failureDetails", "completionToken", "operationInfos", "requiresState") RESULTS_FIELD_NUMBER: _ClassVar[int] ACTIONS_FIELD_NUMBER: _ClassVar[int] ENTITYSTATE_FIELD_NUMBER: _ClassVar[int] FAILUREDETAILS_FIELD_NUMBER: _ClassVar[int] COMPLETIONTOKEN_FIELD_NUMBER: _ClassVar[int] OPERATIONINFOS_FIELD_NUMBER: _ClassVar[int] + REQUIRESSTATE_FIELD_NUMBER: _ClassVar[int] results: _containers.RepeatedCompositeFieldContainer[OperationResult] actions: _containers.RepeatedCompositeFieldContainer[OperationAction] entityState: _wrappers_pb2.StringValue failureDetails: TaskFailureDetails completionToken: str operationInfos: _containers.RepeatedCompositeFieldContainer[OperationInfo] - def __init__(self, results: _Optional[_Iterable[_Union[OperationResult, _Mapping]]] = ..., actions: _Optional[_Iterable[_Union[OperationAction, _Mapping]]] = ..., entityState: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., completionToken: _Optional[str] = ..., operationInfos: _Optional[_Iterable[_Union[OperationInfo, _Mapping]]] = ...) -> None: ... + requiresState: bool + def __init__(self, results: _Optional[_Iterable[_Union[OperationResult, _Mapping]]] = ..., actions: _Optional[_Iterable[_Union[OperationAction, _Mapping]]] = ..., entityState: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., completionToken: _Optional[str] = ..., operationInfos: _Optional[_Iterable[_Union[OperationInfo, _Mapping]]] = ..., requiresState: bool = ...) -> None: ... class EntityRequest(_message.Message): __slots__ = ("instanceId", "executionId", "entityState", "operationRequests") @@ -1005,7 +1152,7 @@ class OperationResultSuccess(_message.Message): result: _wrappers_pb2.StringValue startTimeUtc: _timestamp_pb2.Timestamp endTimeUtc: _timestamp_pb2.Timestamp - def __init__(self, result: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., startTimeUtc: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., endTimeUtc: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, result: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., startTimeUtc: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., endTimeUtc: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class OperationResultFailure(_message.Message): __slots__ = ("failureDetails", "startTimeUtc", "endTimeUtc") @@ -1015,7 +1162,7 @@ class OperationResultFailure(_message.Message): failureDetails: TaskFailureDetails startTimeUtc: _timestamp_pb2.Timestamp endTimeUtc: _timestamp_pb2.Timestamp - def __init__(self, failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., startTimeUtc: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., endTimeUtc: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, failureDetails: _Optional[_Union[TaskFailureDetails, _Mapping]] = ..., startTimeUtc: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., endTimeUtc: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class OperationAction(_message.Message): __slots__ = ("id", "sendSignal", "startNewOrchestration") @@ -1041,7 +1188,7 @@ class SendSignalAction(_message.Message): scheduledTime: _timestamp_pb2.Timestamp requestTime: _timestamp_pb2.Timestamp parentTraceContext: TraceContext - def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., scheduledTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., requestTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ...) -> None: ... + def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., scheduledTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., requestTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ...) -> None: ... class StartNewOrchestrationAction(_message.Message): __slots__ = ("instanceId", "name", "version", "input", "scheduledTime", "requestTime", "parentTraceContext") @@ -1059,7 +1206,7 @@ class StartNewOrchestrationAction(_message.Message): scheduledTime: _timestamp_pb2.Timestamp requestTime: _timestamp_pb2.Timestamp parentTraceContext: TraceContext - def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., scheduledTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., requestTime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ...) -> None: ... + def __init__(self, instanceId: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., input: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., scheduledTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., requestTime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., parentTraceContext: _Optional[_Union[TraceContext, _Mapping]] = ...) -> None: ... class AbandonActivityTaskRequest(_message.Message): __slots__ = ("completionToken",) @@ -1091,6 +1238,20 @@ class AbandonEntityTaskResponse(_message.Message): __slots__ = () def __init__(self) -> None: ... +class SkipGracefulOrchestrationTerminationsRequest(_message.Message): + __slots__ = ("instanceBatch", "reason") + INSTANCEBATCH_FIELD_NUMBER: _ClassVar[int] + REASON_FIELD_NUMBER: _ClassVar[int] + instanceBatch: InstanceBatch + reason: _wrappers_pb2.StringValue + def __init__(self, instanceBatch: _Optional[_Union[InstanceBatch, _Mapping]] = ..., reason: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class SkipGracefulOrchestrationTerminationsResponse(_message.Message): + __slots__ = ("unterminatedInstanceIds",) + UNTERMINATEDINSTANCEIDS_FIELD_NUMBER: _ClassVar[int] + unterminatedInstanceIds: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, unterminatedInstanceIds: _Optional[_Iterable[str]] = ...) -> None: ... + class GetWorkItemsRequest(_message.Message): __slots__ = ("maxConcurrentOrchestrationWorkItems", "maxConcurrentActivityWorkItems", "maxConcurrentEntityWorkItems", "capabilities") MAXCONCURRENTORCHESTRATIONWORKITEMS_FIELD_NUMBER: _ClassVar[int] @@ -1142,3 +1303,9 @@ class HistoryChunk(_message.Message): EVENTS_FIELD_NUMBER: _ClassVar[int] events: _containers.RepeatedCompositeFieldContainer[HistoryEvent] def __init__(self, events: _Optional[_Iterable[_Union[HistoryEvent, _Mapping]]] = ...) -> None: ... + +class InstanceBatch(_message.Message): + __slots__ = ("instanceIds",) + INSTANCEIDS_FIELD_NUMBER: _ClassVar[int] + instanceIds: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, instanceIds: _Optional[_Iterable[str]] = ...) -> None: ... diff --git a/durabletask/internal/orchestrator_service_pb2_grpc.py b/durabletask/internal/orchestrator_service_pb2_grpc.py index 89c8c37..0ebd54e 100644 --- a/durabletask/internal/orchestrator_service_pb2_grpc.py +++ b/durabletask/internal/orchestrator_service_pb2_grpc.py @@ -6,10 +6,8 @@ from durabletask.internal import orchestrator_service_pb2 as durabletask_dot_internal_dot_orchestrator__service__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -GRPC_GENERATED_VERSION = '1.65.4' +GRPC_GENERATED_VERSION = '1.78.0' GRPC_VERSION = grpc.__version__ -EXPECTED_ERROR_RELEASE = '1.66.0' -SCHEDULED_RELEASE_DATE = 'August 6, 2024' _version_not_supported = False try: @@ -19,15 +17,12 @@ _version_not_supported = True if _version_not_supported: - warnings.warn( + raise RuntimeError( f'The grpc package installed is at version {GRPC_VERSION},' - + f' but the generated code in durabletask/internal/orchestrator_service_pb2_grpc.py depends on' + + ' but the generated code in durabletask/internal/orchestrator_service_pb2_grpc.py depends on' + f' grpcio>={GRPC_GENERATED_VERSION}.' + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' - + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' - + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', - RuntimeWarning ) @@ -60,6 +55,11 @@ def __init__(self, channel): request_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.RewindInstanceRequest.SerializeToString, response_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.RewindInstanceResponse.FromString, _registered_method=True) + self.RestartInstance = channel.unary_unary( + '/TaskHubSidecarService/RestartInstance', + request_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.RestartInstanceRequest.SerializeToString, + response_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.RestartInstanceResponse.FromString, + _registered_method=True) self.WaitForInstanceStart = channel.unary_unary( '/TaskHubSidecarService/WaitForInstanceStart', request_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.GetInstanceRequest.SerializeToString, @@ -95,6 +95,11 @@ def __init__(self, channel): request_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.QueryInstancesRequest.SerializeToString, response_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.QueryInstancesResponse.FromString, _registered_method=True) + self.ListInstanceIds = channel.unary_unary( + '/TaskHubSidecarService/ListInstanceIds', + request_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.ListInstanceIdsRequest.SerializeToString, + response_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.ListInstanceIdsResponse.FromString, + _registered_method=True) self.PurgeInstances = channel.unary_unary( '/TaskHubSidecarService/PurgeInstances', request_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.PurgeInstancesRequest.SerializeToString, @@ -170,6 +175,11 @@ def __init__(self, channel): request_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.AbandonEntityTaskRequest.SerializeToString, response_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.AbandonEntityTaskResponse.FromString, _registered_method=True) + self.SkipGracefulOrchestrationTerminations = channel.unary_unary( + '/TaskHubSidecarService/SkipGracefulOrchestrationTerminations', + request_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.SkipGracefulOrchestrationTerminationsRequest.SerializeToString, + response_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.SkipGracefulOrchestrationTerminationsResponse.FromString, + _registered_method=True) class TaskHubSidecarServiceServicer(object): @@ -203,6 +213,13 @@ def RewindInstance(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def RestartInstance(self, request, context): + """Restarts an orchestration instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def WaitForInstanceStart(self, request, context): """Waits for an orchestration instance to reach a running or completion state. """ @@ -253,6 +270,12 @@ def QueryInstances(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ListInstanceIds(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def PurgeInstances(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -353,6 +376,14 @@ def AbandonTaskEntityWorkItem(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def SkipGracefulOrchestrationTerminations(self, request, context): + """"Skip" graceful termination of orchestrations by immediately changing their status in storage to "terminated". + Note that a maximum of 500 orchestrations can be terminated at a time using this method. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_TaskHubSidecarServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -376,6 +407,11 @@ def add_TaskHubSidecarServiceServicer_to_server(servicer, server): request_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.RewindInstanceRequest.FromString, response_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.RewindInstanceResponse.SerializeToString, ), + 'RestartInstance': grpc.unary_unary_rpc_method_handler( + servicer.RestartInstance, + request_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.RestartInstanceRequest.FromString, + response_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.RestartInstanceResponse.SerializeToString, + ), 'WaitForInstanceStart': grpc.unary_unary_rpc_method_handler( servicer.WaitForInstanceStart, request_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.GetInstanceRequest.FromString, @@ -411,6 +447,11 @@ def add_TaskHubSidecarServiceServicer_to_server(servicer, server): request_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.QueryInstancesRequest.FromString, response_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.QueryInstancesResponse.SerializeToString, ), + 'ListInstanceIds': grpc.unary_unary_rpc_method_handler( + servicer.ListInstanceIds, + request_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.ListInstanceIdsRequest.FromString, + response_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.ListInstanceIdsResponse.SerializeToString, + ), 'PurgeInstances': grpc.unary_unary_rpc_method_handler( servicer.PurgeInstances, request_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.PurgeInstancesRequest.FromString, @@ -486,6 +527,11 @@ def add_TaskHubSidecarServiceServicer_to_server(servicer, server): request_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.AbandonEntityTaskRequest.FromString, response_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.AbandonEntityTaskResponse.SerializeToString, ), + 'SkipGracefulOrchestrationTerminations': grpc.unary_unary_rpc_method_handler( + servicer.SkipGracefulOrchestrationTerminations, + request_deserializer=durabletask_dot_internal_dot_orchestrator__service__pb2.SkipGracefulOrchestrationTerminationsRequest.FromString, + response_serializer=durabletask_dot_internal_dot_orchestrator__service__pb2.SkipGracefulOrchestrationTerminationsResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'TaskHubSidecarService', rpc_method_handlers) @@ -605,6 +651,33 @@ def RewindInstance(request, metadata, _registered_method=True) + @staticmethod + def RestartInstance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/TaskHubSidecarService/RestartInstance', + durabletask_dot_internal_dot_orchestrator__service__pb2.RestartInstanceRequest.SerializeToString, + durabletask_dot_internal_dot_orchestrator__service__pb2.RestartInstanceResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def WaitForInstanceStart(request, target, @@ -794,6 +867,33 @@ def QueryInstances(request, metadata, _registered_method=True) + @staticmethod + def ListInstanceIds(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/TaskHubSidecarService/ListInstanceIds', + durabletask_dot_internal_dot_orchestrator__service__pb2.ListInstanceIdsRequest.SerializeToString, + durabletask_dot_internal_dot_orchestrator__service__pb2.ListInstanceIdsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def PurgeInstances(request, target, @@ -1198,3 +1298,30 @@ def AbandonTaskEntityWorkItem(request, timeout, metadata, _registered_method=True) + + @staticmethod + def SkipGracefulOrchestrationTerminations(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/TaskHubSidecarService/SkipGracefulOrchestrationTerminations', + durabletask_dot_internal_dot_orchestrator__service__pb2.SkipGracefulOrchestrationTerminationsRequest.SerializeToString, + durabletask_dot_internal_dot_orchestrator__service__pb2.SkipGracefulOrchestrationTerminationsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/durabletask/internal/proto_task_hub_sidecar_service_stub.py b/durabletask/internal/proto_task_hub_sidecar_service_stub.py index 8f51123..3dcbcf1 100644 --- a/durabletask/internal/proto_task_hub_sidecar_service_stub.py +++ b/durabletask/internal/proto_task_hub_sidecar_service_stub.py @@ -9,6 +9,7 @@ class ProtoTaskHubSidecarServiceStub(Protocol): StartInstance: Callable[..., Any] GetInstance: Callable[..., Any] RewindInstance: Callable[..., Any] + RestartInstance: Callable[..., Any] WaitForInstanceStart: Callable[..., Any] WaitForInstanceCompletion: Callable[..., Any] RaiseEvent: Callable[..., Any] diff --git a/tests/durabletask-azuremanaged/test_dts_orchestration_e2e.py b/tests/durabletask-azuremanaged/test_dts_orchestration_e2e.py index 7a7232e..8fb8c6e 100644 --- a/tests/durabletask-azuremanaged/test_dts_orchestration_e2e.py +++ b/tests/durabletask-azuremanaged/test_dts_orchestration_e2e.py @@ -22,6 +22,14 @@ endpoint = os.getenv("ENDPOINT", "http://localhost:8080") +def _get_credential(): + """Returns DefaultAzureCredential if endpoint is https, otherwise None (for emulator).""" + if endpoint.startswith("https://"): + from azure.identity import DefaultAzureCredential + return DefaultAzureCredential() + return None + + def test_empty_orchestration(): invoked = False @@ -371,6 +379,75 @@ def child(ctx: task.OrchestrationContext, _): assert state is None +def test_restart_with_same_instance_id(): + def orchestrator(ctx: task.OrchestrationContext, _): + result = yield ctx.call_activity(say_hello, input="World") + return result + + def say_hello(ctx: task.ActivityContext, input: str): + return f"Hello, {input}!" + + credential = _get_credential() + + # Start a worker, which will connect to the sidecar in a background thread + with DurableTaskSchedulerWorker(host_address=endpoint, secure_channel=True, + taskhub=taskhub_name, token_credential=credential) as w: + w.add_orchestrator(orchestrator) + w.add_activity(say_hello) + w.start() + + task_hub_client = DurableTaskSchedulerClient(host_address=endpoint, secure_channel=True, + taskhub=taskhub_name, token_credential=credential) + id = task_hub_client.schedule_new_orchestration(orchestrator) + state = task_hub_client.wait_for_orchestration_completion(id, timeout=30) + assert state is not None + assert state.runtime_status == client.OrchestrationStatus.COMPLETED + assert state.serialized_output == json.dumps("Hello, World!") + + # Restart the orchestration with the same instance ID + restarted_id = task_hub_client.restart_orchestration(id) + assert restarted_id == id + + state = task_hub_client.wait_for_orchestration_completion(restarted_id, timeout=30) + assert state is not None + assert state.runtime_status == client.OrchestrationStatus.COMPLETED + assert state.serialized_output == json.dumps("Hello, World!") + + +def test_restart_with_new_instance_id(): + def orchestrator(ctx: task.OrchestrationContext, _): + result = yield ctx.call_activity(say_hello, input="World") + return result + + def say_hello(ctx: task.ActivityContext, input: str): + return f"Hello, {input}!" + + credential = _get_credential() + + # Start a worker, which will connect to the sidecar in a background thread + with DurableTaskSchedulerWorker(host_address=endpoint, secure_channel=True, + taskhub=taskhub_name, token_credential=credential) as w: + w.add_orchestrator(orchestrator) + w.add_activity(say_hello) + w.start() + + task_hub_client = DurableTaskSchedulerClient(host_address=endpoint, secure_channel=True, + taskhub=taskhub_name, token_credential=credential) + id = task_hub_client.schedule_new_orchestration(orchestrator) + state = task_hub_client.wait_for_orchestration_completion(id, timeout=30) + assert state is not None + assert state.runtime_status == client.OrchestrationStatus.COMPLETED + + # Restart the orchestration with a new instance ID + restarted_id = task_hub_client.restart_orchestration(id, restart_with_new_instance_id=True) + assert restarted_id != id + + state = task_hub_client.wait_for_orchestration_completion(restarted_id, timeout=30) + assert state is not None + assert state.runtime_status == client.OrchestrationStatus.COMPLETED + assert state.serialized_output == json.dumps("Hello, World!") + + # def test_continue_as_new(): # all_results = [] diff --git a/tests/durabletask/test_orchestration_e2e.py b/tests/durabletask/test_orchestration_e2e.py index 997bc50..d5a5528 100644 --- a/tests/durabletask/test_orchestration_e2e.py +++ b/tests/durabletask/test_orchestration_e2e.py @@ -346,6 +346,67 @@ def child(ctx: task.OrchestrationContext, _): assert state is None +def test_restart_with_same_instance_id(): + def orchestrator(ctx: task.OrchestrationContext, _): + result = yield ctx.call_activity(say_hello, input="World") + return result + + def say_hello(ctx: task.ActivityContext, input: str): + return f"Hello, {input}!" + + # Start a worker, which will connect to the sidecar in a background thread + with worker.TaskHubGrpcWorker() as w: + w.add_orchestrator(orchestrator) + w.add_activity(say_hello) + w.start() + + task_hub_client = client.TaskHubGrpcClient() + id = task_hub_client.schedule_new_orchestration(orchestrator) + state = task_hub_client.wait_for_orchestration_completion(id, timeout=30) + assert state is not None + assert state.runtime_status == client.OrchestrationStatus.COMPLETED + assert state.serialized_output == json.dumps("Hello, World!") + + # Restart the orchestration with the same instance ID + restarted_id = task_hub_client.restart_orchestration(id) + assert restarted_id == id + + state = task_hub_client.wait_for_orchestration_completion(restarted_id, timeout=30) + assert state is not None + assert state.runtime_status == client.OrchestrationStatus.COMPLETED + assert state.serialized_output == json.dumps("Hello, World!") + + +def test_restart_with_new_instance_id(): + def orchestrator(ctx: task.OrchestrationContext, _): + result = yield ctx.call_activity(say_hello, input="World") + return result + + def say_hello(ctx: task.ActivityContext, input: str): + return f"Hello, {input}!" + + # Start a worker, which will connect to the sidecar in a background thread + with worker.TaskHubGrpcWorker() as w: + w.add_orchestrator(orchestrator) + w.add_activity(say_hello) + w.start() + + task_hub_client = client.TaskHubGrpcClient() + id = task_hub_client.schedule_new_orchestration(orchestrator) + state = task_hub_client.wait_for_orchestration_completion(id, timeout=30) + assert state is not None + assert state.runtime_status == client.OrchestrationStatus.COMPLETED + + # Restart the orchestration with a new instance ID + restarted_id = task_hub_client.restart_orchestration(id, restart_with_new_instance_id=True) + assert restarted_id != id + + state = task_hub_client.wait_for_orchestration_completion(restarted_id, timeout=30) + assert state is not None + assert state.runtime_status == client.OrchestrationStatus.COMPLETED + assert state.serialized_output == json.dumps("Hello, World!") + + def test_continue_as_new(): all_results = []