Skip to content

Latest commit

 

History

History
4178 lines (3410 loc) · 90.9 KB

basic.md

File metadata and controls

4178 lines (3410 loc) · 90.9 KB

Table of Contents

example.helloworld.v1

Services

example.helloworld.v1.HelloWorld

Workflows


HelloWorld

HelloWorld describes a Temporal workflow and activity with the same name
and signature

Input: example.helloworld.v1.HelloWorldInput

Attribute Type Description
name string
json_name: name
go_name: Name

Output: example.helloworld.v1.HelloWorldOutput

Attribute Type Description
result string
json_name: result
go_name: Result

Defaults:

NameValue
id
hello_world/${! uuid_v4() }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

Activities


HelloWorld

HelloWorld describes a Temporal workflow and activity with the same name
and signature

Input: example.helloworld.v1.HelloWorldInput

Attribute Type Description
name string
json_name: name
go_name: Name

Output: example.helloworld.v1.HelloWorldOutput

Attribute Type Description
result string
json_name: result
go_name: Result

Defaults:

NameValue
start_to_close_timeout10 seconds

Messages

example.helloworld.v1.HelloWorldInput

HelloWorldInput describes the input to a HelloWorld task
Attribute Type Description
name string
json_name: name
go_name: Name

example.helloworld.v1.HelloWorldOutput

HelloWorldOutput describes the output from a HelloWorld task
Attribute Type Description
result string
json_name: result
go_name: Result

example.mutex.v1

Services

example.mutex.v1.Example

Workflows


example.mutex.v1.Example.Mutex

Input: example.mutex.v1.MutexInput

Attribute Type Description
resource_id string
json_name: resourceId
go_name: ResourceId

Defaults:

NameValue
id
mutex:${! resourceId }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED
retry_policy.backoff_coefficient2
retry_policy.initial_interval1 second
retry_policy.max_attempts5
retry_policy.max_interval1 minute

Signals:

SignalStart
example.mutex.v1.Example.AcquireLocktrue
example.mutex.v1.Example.ReleaseLockfalse

example.mutex.v1.Example.SampleWorkflowWithMutex

Input: example.mutex.v1.SampleWorkflowWithMutexInput

Attribute Type Description
resource_id string
json_name: resourceId
go_name: ResourceId
sleep google.protobuf.Duration
json_name: sleep
go_name: Sleep

Defaults:

NameValue
id
SampleWorkflow1WithMutex_${! uuid_v4() }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

Signals:

SignalStart
example.mutex.v1.Example.LockAcquiredfalse

Signals


example.mutex.v1.Example.AcquireLock

Input: example.mutex.v1.AcquireLockInput

Attribute Type Description
timeout google.protobuf.Duration
json_name: timeout
go_name: Timeout
workflow_id string
json_name: workflowId
go_name: WorkflowId

example.mutex.v1.Example.LockAcquired

Input: example.mutex.v1.LockAcquiredInput

Attribute Type Description
lease_id string
json_name: leaseId
go_name: LeaseId

example.mutex.v1.Example.ReleaseLock

Input: example.mutex.v1.ReleaseLockInput

Attribute Type Description
lease_id string
json_name: leaseId
go_name: LeaseId

Activities


example.mutex.v1.Example.Mutex

Input: example.mutex.v1.MutexInput

Attribute Type Description
resource_id string
json_name: resourceId
go_name: ResourceId

Defaults:

NameValue
start_to_close_timeout10 seconds

Messages

example.mutex.v1.AcquireLockInput

Attribute Type Description
timeout google.protobuf.Duration
json_name: timeout
go_name: Timeout
workflow_id string
json_name: workflowId
go_name: WorkflowId

example.mutex.v1.LockAcquiredInput

Attribute Type Description
lease_id string
json_name: leaseId
go_name: LeaseId

example.mutex.v1.MutexInput

Attribute Type Description
resource_id string
json_name: resourceId
go_name: ResourceId

example.mutex.v1.ReleaseLockInput

Attribute Type Description
lease_id string
json_name: leaseId
go_name: LeaseId

example.mutex.v1.SampleWorkflowWithMutexInput

Attribute Type Description
resource_id string
json_name: resourceId
go_name: ResourceId
sleep google.protobuf.Duration
json_name: sleep
go_name: Sleep

example.searchattributes.v1

Services

example.searchattributes.v1.Example

Workflows


example.searchattributes.v1.Example.SearchAttributes

Input: example.searchattributes.v1.SearchAttributesInput

Attribute Type Description
custom_bool_field bool
json_name: customBoolField
go_name: CustomBoolField
custom_datetime_field google.protobuf.Timestamp
json_name: customDatetimeField
go_name: CustomDatetimeField
custom_double_field double
json_name: customDoubleField
go_name: CustomDoubleField
custom_int_field int64
json_name: customIntField
go_name: CustomIntField
custom_keyword_field string
json_name: customKeywordField
go_name: CustomKeywordField
custom_text_field string
json_name: customTextField
go_name: CustomTextField

Defaults:

NameValue
id
search_attributes_${! uuid_v4() }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED
search_attributes
CustomKeywordField = customKeywordField 
CustomTextField = customTextField 
CustomIntField = customIntField.int64() 
CustomDoubleField = customDoubleField 
CustomBoolField = customBoolField 
CustomDatetimeField = customDatetimeField.ts_parse("2006-01-02T15:04:05Z")

Messages

example.searchattributes.v1.SearchAttributesInput

Attribute Type Description
custom_bool_field bool
json_name: customBoolField
go_name: CustomBoolField
custom_datetime_field google.protobuf.Timestamp
json_name: customDatetimeField
go_name: CustomDatetimeField
custom_double_field double
json_name: customDoubleField
go_name: CustomDoubleField
custom_int_field int64
json_name: customIntField
go_name: CustomIntField
custom_keyword_field string
json_name: customKeywordField
go_name: CustomKeywordField
custom_text_field string
json_name: customTextField
go_name: CustomTextField

example.updatabletimer.v1

Services

example.updatabletimer.v1.Example

Workflows


UpdatableTimer

UpdatableTimer describes an updatable timer workflow

Input: example.updatabletimer.v1.UpdatableTimerInput

Attribute Type Description
initial_wake_up_time google.protobuf.Timestamp
json_name: initialWakeUpTime
go_name: InitialWakeUpTime
name string
json_name: name
go_name: Name

Defaults:

NameValue
id
updatable-timer/${! name.or(uuid_v4()) }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

Queries:

Query
example.updatabletimer.v1.Example.GetWakeUpTime

Signals:

SignalStart
example.updatabletimer.v1.Example.UpdateWakeUpTimefalse

Queries


example.updatabletimer.v1.Example.GetWakeUpTime

GetWakeUpTime retrieves the current timer expiration timestamp

Output: example.updatabletimer.v1.GetWakeUpTimeOutput

Attribute Type Description
wake_up_time google.protobuf.Timestamp
json_name: wakeUpTime
go_name: WakeUpTime

Signals


example.updatabletimer.v1.Example.UpdateWakeUpTime

UpdateWakeUpTime updates the timer expiration timestamp

Input: example.updatabletimer.v1.UpdateWakeUpTimeInput

Attribute Type Description
wake_up_time google.protobuf.Timestamp
json_name: wakeUpTime
go_name: WakeUpTime

Messages

example.updatabletimer.v1.GetWakeUpTimeOutput

GetWakeUpTimeOutput describes the input to a GetWakeUpTime query
Attribute Type Description
wake_up_time google.protobuf.Timestamp
json_name: wakeUpTime
go_name: WakeUpTime

example.updatabletimer.v1.UpdatableTimerInput

UpdatableTimerInput describes the input to a UpdatableTimer workflow
Attribute Type Description
initial_wake_up_time google.protobuf.Timestamp
json_name: initialWakeUpTime
go_name: InitialWakeUpTime
name string
json_name: name
go_name: Name

example.updatabletimer.v1.UpdateWakeUpTimeInput

UpdateWakeUpTimeInput describes the input to a UpdateWakeUpTime signal
Attribute Type Description
wake_up_time google.protobuf.Timestamp
json_name: wakeUpTime
go_name: WakeUpTime

example.v1

Services

example.v1.Example

Workflows


example.v1.Example.CreateFoo

CreateFoo creates a new foo operation

Input: example.v1.CreateFooRequest

Attribute Type Description
name string
unique foo name

json_name: name go_name: Name

Output: example.v1.CreateFooResponse

Attribute Type Description
foo example.v1.Foo
json_name: foo
go_name: Foo

Defaults:

NameValue
execution_timeout1 hour
id
create-foo/${! name.slug() }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE

Queries:

Query
example.v1.Example.GetFooProgress

Signals:

SignalStart
example.v1.Example.SetFooProgresstrue

Updates:

Update
example.v1.Example.UpdateFooProgress

Queries


example.v1.Example.GetFooProgress

GetFooProgress returns the status of a CreateFoo operation

Output: example.v1.GetFooProgressResponse

Attribute Type Description
progress float
json_name: progress
go_name: Progress
status example.v1.Foo.Status
json_name: status
go_name: Status

Signals


example.v1.Example.SetFooProgress

SetFooProgress sets the current status of a CreateFoo operation

Input: example.v1.SetFooProgressRequest

Attribute Type Description
progress float
value of current workflow progress

json_name: progress go_name: Progress

Updates


example.v1.Example.UpdateFooProgress

UpdateFooProgress sets the current status of a CreateFoo operation

Input: example.v1.SetFooProgressRequest

Attribute Type Description
progress float
value of current workflow progress

json_name: progress go_name: Progress

Output: example.v1.GetFooProgressResponse

Attribute Type Description
progress float
json_name: progress
go_name: Progress
status example.v1.Foo.Status
json_name: status
go_name: Status

Activities


example.v1.Example.Notify

Notify sends a notification

Input: example.v1.NotifyRequest

Attribute Type Description
message string
json_name: message
go_name: Message

Defaults:

NameValue
retry_policy.max_attempts3
start_to_close_timeout30 seconds

Messages

example.v1.CreateFooRequest

CreateFooRequest describes the input to a CreateFoo workflow

Attribute Type Description
name string
unique foo name

json_name: name go_name: Name

example.v1.CreateFooResponse

SampleWorkflowWithMutexResponse describes the output from a CreateFoo workflow
Attribute Type Description
foo example.v1.Foo
json_name: foo
go_name: Foo

example.v1.Foo

Foo describes an illustrative foo resource
Attribute Type Description
name string
json_name: name
go_name: Name
status example.v1.Foo.Status
json_name: status
go_name: Status

example.v1.Foo.Status

ValueDescription
FOO_STATUS_UNSPECIFIED
FOO_STATUS_READY
FOO_STATUS_CREATING

example.v1.GetFooProgressResponse

GetFooProgressResponse describes the output from a GetFooProgress query
Attribute Type Description
progress float
json_name: progress
go_name: Progress
status example.v1.Foo.Status
json_name: status
go_name: Status

example.v1.NotifyRequest

NotifyRequest describes the input to a Notify activity
Attribute Type Description
message string
json_name: message
go_name: Message

example.v1.SetFooProgressRequest

SetFooProgressRequest describes the input to a SetFooProgress signal

Attribute Type Description
progress float
value of current workflow progress

json_name: progress go_name: Progress

example.xns.v1

Services

example.xns.v1.Xns

Workflows


example.xns.v1.Xns.ProvisionFoo

Input: example.xns.v1.ProvisionFooRequest

Attribute Type Description
name string
unique foo name

json_name: name go_name: Name

Output: example.xns.v1.ProvisionFooResponse

Attribute Type Description
foo example.xns.v1.Foo
json_name: foo
go_name: Foo

Defaults:

NameValue
id
provision-foo/${! name.slug() }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

example.xns.v1.Example

Workflows


example.xns.v1.Example.CreateFoo

CreateFoo creates a new foo operation

Input: example.xns.v1.CreateFooRequest

Attribute Type Description
name string
unique foo name

json_name: name go_name: Name

Output: example.xns.v1.CreateFooResponse

Attribute Type Description
foo example.xns.v1.Foo
json_name: foo
go_name: Foo

Defaults:

NameValue
execution_timeout1 hour
id
create-foo/${! name.slug() }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE
xns.heartbeat_interval10 seconds
xns.heartbeat_timeout20 seconds
xns.start_to_close_timeout1 hour 30 seconds

Queries:

Query
example.xns.v1.Example.GetFooProgress

Signals:

SignalStart
example.xns.v1.Example.SetFooProgresstrue

Updates:

Update
example.xns.v1.Example.UpdateFooProgress

Queries


example.xns.v1.Example.GetFooProgress

GetFooProgress returns the status of a CreateFoo operation

Output: example.xns.v1.GetFooProgressResponse

Attribute Type Description
progress float
json_name: progress
go_name: Progress
status example.xns.v1.Foo.Status
json_name: status
go_name: Status

Signals


example.xns.v1.Example.SetFooProgress

SetFooProgress sets the current status of a CreateFoo operation

Input: example.xns.v1.SetFooProgressRequest

Attribute Type Description
progress float
value of current workflow progress

json_name: progress go_name: Progress

Updates


example.xns.v1.Example.UpdateFooProgress

UpdateFooProgress sets the current status of a CreateFoo operation

Input: example.xns.v1.SetFooProgressRequest

Attribute Type Description
progress float
value of current workflow progress

json_name: progress go_name: Progress

Output: example.xns.v1.GetFooProgressResponse

Attribute Type Description
progress float
json_name: progress
go_name: Progress
status example.xns.v1.Foo.Status
json_name: status
go_name: Status

Defaults:

NameValue

Activities


example.xns.v1.Example.Notify

Notify sends a notification

Input: example.xns.v1.NotifyRequest

Attribute Type Description
message string
json_name: message
go_name: Message

Defaults:

NameValue
retry_policy.max_attempts3
start_to_close_timeout30 seconds

Messages

example.xns.v1.CreateFooRequest

CreateFooRequest describes the input to a CreateFoo workflow

Attribute Type Description
name string
unique foo name

json_name: name go_name: Name

example.xns.v1.CreateFooResponse

SampleWorkflowWithMutexResponse describes the output from a CreateFoo workflow
Attribute Type Description
foo example.xns.v1.Foo
json_name: foo
go_name: Foo

example.xns.v1.Foo

Foo describes an illustrative foo resource
Attribute Type Description
name string
json_name: name
go_name: Name
status example.xns.v1.Foo.Status
json_name: status
go_name: Status

example.xns.v1.Foo.Status

ValueDescription
FOO_STATUS_UNSPECIFIED
FOO_STATUS_READY
FOO_STATUS_CREATING

example.xns.v1.GetFooProgressResponse

GetFooProgressResponse describes the output from a GetFooProgress query
Attribute Type Description
progress float
json_name: progress
go_name: Progress
status example.xns.v1.Foo.Status
json_name: status
go_name: Status

example.xns.v1.NotifyRequest

NotifyRequest describes the input to a Notify activity
Attribute Type Description
message string
json_name: message
go_name: Message

example.xns.v1.ProvisionFooRequest

ProvisionFooRequest describes the input to a ProvisionFoo workflow

Attribute Type Description
name string
unique foo name

json_name: name go_name: Name

example.xns.v1.ProvisionFooResponse

SampleWorkflowWithMutexResponse describes the output from a ProvisionFoo workflow
Attribute Type Description
foo example.xns.v1.Foo
json_name: foo
go_name: Foo

example.xns.v1.SetFooProgressRequest

SetFooProgressRequest describes the input to a SetFooProgress signal

Attribute Type Description
progress float
value of current workflow progress

json_name: progress go_name: Progress

mycompany.simple

Services

mycompany.simple.Simple

Workflows


mycompany.simple.SomeWorkflow1

SomeWorkflow1 does some workflow thing.

Input: mycompany.simple.SomeWorkflow1Request

Attribute Type Description
id string
json_name: id
go_name: Id
request_val string
json_name: requestVal
go_name: RequestVal

Output: mycompany.simple.SomeWorkflow1Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

Defaults:

NameValue
id
some-workflow-1/${! id }/${! uuid_v4() }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

Queries:

Query
mycompany.simple.Simple.SomeQuery1
mycompany.simple.Simple.SomeQuery2

Signals:

SignalStart
mycompany.simple.Simple.SomeSignal1false
mycompany.simple.Simple.SomeSignal2false

mycompany.simple.SomeWorkflow2

SomeWorkflow2 does some workflow thing.

Defaults:

NameValue
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

Signals:

SignalStart
mycompany.simple.Simple.SomeSignal1true

Updates:

Update
mycompany.simple.Simple.SomeUpdate1

mycompany.simple.Simple.SomeWorkflow3

SomeWorkflow3 does some workflow thing.
Deprecated: Use SomeWorkflow2 instead.

Input: mycompany.simple.SomeWorkflow3Request

Attribute Type Description
id string
json_name: id
go_name: Id
request_val string
json_name: requestVal
go_name: RequestVal

Defaults:

NameValue
execution_timeout1 hour
id
some-workflow-3/${! id }/${! requestVal }
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE
retry_policy.max_attempts2
task_queue
my-task-queue-2

Signals:

SignalStart
mycompany.simple.Simple.SomeSignal2true

Queries


mycompany.simple.Simple.SomeQuery1

SomeQuery1 queries some thing.

Output: mycompany.simple.SomeQuery1Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

mycompany.simple.Simple.SomeQuery2

SomeQuery2 queries some thing.

Input: mycompany.simple.SomeQuery2Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

Output: mycompany.simple.SomeQuery2Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

Signals


mycompany.simple.Simple.SomeSignal1

SomeSignal1 is a signal.

mycompany.simple.Simple.SomeSignal2

SomeSignal2 is a signal.

Input: mycompany.simple.SomeSignal2Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

mycompany.simple.Simple.SomeSignal3

SomeSignal3 is a signal.

Input: mycompany.simple.SomeSignal3Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

Updates


mycompany.simple.Simple.SomeUpdate1

SomeUpdate1 updates a SomeWorkflow2

Input: mycompany.simple.SomeUpdate1Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

Output: mycompany.simple.SomeUpdate1Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

Defaults:

NameValue
validatetrue
wait_policy
WAIT_POLICY_COMPLETED

Activities


mycompany.simple.SomeActivity1

SomeActivity1 does some activity thing.

mycompany.simple.Simple.SomeActivity2

SomeActivity2 does some activity thing.

Input: mycompany.simple.SomeActivity2Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

Defaults:

NameValue
retry_policy.max_interval30 seconds
start_to_close_timeout10 seconds

mycompany.simple.Simple.SomeActivity3

SomeActivity3 does some activity thing.

Input: mycompany.simple.SomeActivity3Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

Output: mycompany.simple.SomeActivity3Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

Defaults:

NameValue
retry_policy.max_attempts5
start_to_close_timeout10 seconds
task_queuesome-other-task-queue

mycompany.simple.Simple.SomeSignal1

SomeSignal1 is a signal.

Defaults:

NameValue
start_to_close_timeout10 seconds

mycompany.simple.Simple.SomeSignal2

SomeSignal2 is a signal.

Input: mycompany.simple.SomeSignal2Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

Defaults:

NameValue
start_to_close_timeout10 seconds

mycompany.simple.Simple.SomeSignal3

SomeSignal3 is a signal.

Input: mycompany.simple.SomeSignal3Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

Output: mycompany.simple.SomeSignal3Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

Defaults:

NameValue
start_to_close_timeout10 seconds

mycompany.simple.Simple.SomeUpdate1

SomeUpdate1 updates a SomeWorkflow2

Input: mycompany.simple.SomeUpdate1Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

Output: mycompany.simple.SomeUpdate1Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

Defaults:

NameValue
start_to_close_timeout10 seconds

mycompany.simple.Other

Workflows


mycompany.simple.Other.OtherWorkflow

Input: mycompany.simple.OtherWorkflowRequest

Attribute Type Description
bar mycompany.simple.OtherWorkflowRequest.Bar
json_name: bar
go_name: Bar
baz mycompany.simple.OtherWorkflowRequest.Baz
json_name: baz
go_name: Baz
example_bool bool
json_name: exampleBool
go_name: ExampleBool
example_bytes bytes
json_name: exampleBytes
go_name: ExampleBytes
example_double double
json_name: exampleDouble
go_name: ExampleDouble
example_duration google.protobuf.Duration
json_name: exampleDuration
go_name: ExampleDuration
example_empty google.protobuf.Empty
json_name: exampleEmpty
go_name: ExampleEmpty
example_enum mycompany.simple.OtherEnum
json_name: exampleEnum
go_name: ExampleEnum
example_fixed32 fixed32
json_name: exampleFixed32
go_name: ExampleFixed32
example_fixed64 fixed64
json_name: exampleFixed64
go_name: ExampleFixed64
example_float float
json_name: exampleFloat
go_name: ExampleFloat
example_int32 int32
json_name: exampleInt32
go_name: ExampleInt32
example_int64 int64
json_name: exampleInt64
go_name: ExampleInt64
example_sfixed32 sfixed32
json_name: exampleSfixed32
go_name: ExampleSfixed32
example_sfixed64 sfixed64
json_name: exampleSfixed64
go_name: ExampleSfixed64
example_sint32 sint32
json_name: exampleSint32
go_name: ExampleSint32
example_sint64 sint64
json_name: exampleSint64
go_name: ExampleSint64
example_timestamp google.protobuf.Timestamp
json_name: exampleTimestamp
go_name: ExampleTimestamp
example_uint32 uint32
json_name: exampleUint32
go_name: ExampleUint32
example_uint64 uint64
json_name: exampleUint64
go_name: ExampleUint64
foo mycompany.simple.Foo
json_name: foo
go_name: Foo
quux string
json_name: quux
go_name: Quux
qux mycompany.simple.Qux
json_name: qux
go_name: Qux
some_val string
json_name: someVal
go_name: SomeVal

Output: mycompany.simple.OtherWorkflowResponse

Defaults:

NameValue
id
other-workflow/${!uuid_v4()}
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

Queries


mycompany.simple.Other.OtherQuery

Output: mycompany.simple.OtherQueryResponse

Attribute Type Description
filter string
json_name: filter
go_name: Filter

Signals


mycompany.simple.Other.OtherSignal

Input: mycompany.simple.OtherSignalRequest

Attribute Type Description
type string
json_name: type
go_name: Type

Updates


mycompany.simple.Other.OtherUpdate

Input: mycompany.simple.OtherUpdateRequest

Attribute Type Description
mode string
json_name: mode
go_name: Mode

Output: mycompany.simple.OtherUpdateResponse

Activities


mycompany.simple.Other.OtherWorkflow

Input: mycompany.simple.OtherWorkflowRequest

Attribute Type Description
bar mycompany.simple.OtherWorkflowRequest.Bar
json_name: bar
go_name: Bar
baz mycompany.simple.OtherWorkflowRequest.Baz
json_name: baz
go_name: Baz
example_bool bool
json_name: exampleBool
go_name: ExampleBool
example_bytes bytes
json_name: exampleBytes
go_name: ExampleBytes
example_double double
json_name: exampleDouble
go_name: ExampleDouble
example_duration google.protobuf.Duration
json_name: exampleDuration
go_name: ExampleDuration
example_empty google.protobuf.Empty
json_name: exampleEmpty
go_name: ExampleEmpty
example_enum mycompany.simple.OtherEnum
json_name: exampleEnum
go_name: ExampleEnum
example_fixed32 fixed32
json_name: exampleFixed32
go_name: ExampleFixed32
example_fixed64 fixed64
json_name: exampleFixed64
go_name: ExampleFixed64
example_float float
json_name: exampleFloat
go_name: ExampleFloat
example_int32 int32
json_name: exampleInt32
go_name: ExampleInt32
example_int64 int64
json_name: exampleInt64
go_name: ExampleInt64
example_sfixed32 sfixed32
json_name: exampleSfixed32
go_name: ExampleSfixed32
example_sfixed64 sfixed64
json_name: exampleSfixed64
go_name: ExampleSfixed64
example_sint32 sint32
json_name: exampleSint32
go_name: ExampleSint32
example_sint64 sint64
json_name: exampleSint64
go_name: ExampleSint64
example_timestamp google.protobuf.Timestamp
json_name: exampleTimestamp
go_name: ExampleTimestamp
example_uint32 uint32
json_name: exampleUint32
go_name: ExampleUint32
example_uint64 uint64
json_name: exampleUint64
go_name: ExampleUint64
foo mycompany.simple.Foo
json_name: foo
go_name: Foo
quux string
json_name: quux
go_name: Quux
qux mycompany.simple.Qux
json_name: qux
go_name: Qux
some_val string
json_name: someVal
go_name: SomeVal

Output: mycompany.simple.OtherWorkflowResponse

Defaults:

NameValue
start_to_close_timeout30 seconds

mycompany.simple.Ignored

Workflows


mycompany.simple.Ignored.What

Input: mycompany.simple.WhatRequest

Attribute Type Description
blah string
json_name: blah
go_name: Blah

Defaults:

NameValue
id
what/${!ksuid()}
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

mycompany.simple.OnlyActivities

Activities


mycompany.simple.OnlyActivities.LonelyActivity1

Input: mycompany.simple.LonelyActivity1Request

Output: mycompany.simple.LonelyActivity1Response

Defaults:

NameValue
start_to_close_timeout5 seconds

mycompany.simple.Deprecated

Workflows


mycompany.simple.Deprecated.SomeDeprecatedWorkflow1

SomeDeprecatedWorkflow1 does something

Input: mycompany.simple.SomeDeprecatedMessage

Output: mycompany.simple.SomeDeprecatedMessage

Defaults:

NameValue
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

Queries:

Query
mycompany.simple.Deprecated.SomeDeprecatedQuery1

Signals:

SignalStart
mycompany.simple.Deprecated.SomeDeprecatedSignal1true

Updates:

Update
mycompany.simple.Deprecated.SomeDeprecatedUpdate1

mycompany.simple.Deprecated.SomeDeprecatedWorkflow2

SomeDeprecatedWorkflow2 does something else

Deprecated: a custom workflow deprecation message.

Input: mycompany.simple.SomeDeprecatedMessage

Output: mycompany.simple.SomeDeprecatedMessage

Defaults:

NameValue
id_reuse_policy
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED

Queries:

Query
mycompany.simple.Deprecated.SomeDeprecatedQuery2

Signals:

SignalStart
mycompany.simple.Deprecated.SomeDeprecatedSignal2true

Updates:

Update
mycompany.simple.Deprecated.SomeDeprecatedUpdate2

Queries


mycompany.simple.Deprecated.SomeDeprecatedQuery1

SomeDeprecatedQuery1 does something else

Input: mycompany.simple.SomeDeprecatedMessage

Output: mycompany.simple.SomeDeprecatedMessage


mycompany.simple.Deprecated.SomeDeprecatedQuery2

SomeDeprecatedQuery2 does something else

Deprecated: a custom query deprecation message.

Input: mycompany.simple.SomeDeprecatedMessage

Output: mycompany.simple.SomeDeprecatedMessage

Signals


mycompany.simple.Deprecated.SomeDeprecatedSignal1

SomeDeprecatedSignal1 does something else

Input: mycompany.simple.SomeDeprecatedMessage


mycompany.simple.Deprecated.SomeDeprecatedSignal2

SomeDeprecatedSignal2 does something else

Deprecated: a custom signal deprecation message.

Input: mycompany.simple.SomeDeprecatedMessage

Updates


mycompany.simple.Deprecated.SomeDeprecatedUpdate1

SomeDeprecatedUpdate1 does something else

Input: mycompany.simple.SomeDeprecatedMessage

Output: mycompany.simple.SomeDeprecatedMessage


mycompany.simple.Deprecated.SomeDeprecatedUpdate2

SomeDeprecatedUpdate2 does something else

Deprecated: a custom signal deprecation message.

Input: mycompany.simple.SomeDeprecatedMessage

Output: mycompany.simple.SomeDeprecatedMessage

Activities


mycompany.simple.Deprecated.SomeDeprecatedActivity1

SomeDeprecatedActivity1 does something

Input: mycompany.simple.SomeDeprecatedMessage

Output: mycompany.simple.SomeDeprecatedMessage

Defaults:

NameValue
start_to_close_timeout5 seconds

mycompany.simple.Deprecated.SomeDeprecatedActivity2

SomeDeprecatedActivity2 does something else

Deprecated: a custom activity deprecation message.

Input: mycompany.simple.SomeDeprecatedMessage

Output: mycompany.simple.SomeDeprecatedMessage

Defaults:

NameValue
start_to_close_timeout5 seconds

Messages

mycompany.simple.Foo

Attribute Type Description
foo string
json_name: foo
go_name: Foo

mycompany.simple.LonelyActivity1Request

mycompany.simple.LonelyActivity1Response

mycompany.simple.OtherEnum

ValueDescription
OTHER_UNSPECIFIED
OTHER_FOO
OTHER_BAR

mycompany.simple.OtherQueryResponse

Attribute Type Description
filter string
json_name: filter
go_name: Filter

mycompany.simple.OtherSignalRequest

Attribute Type Description
type string
json_name: type
go_name: Type

mycompany.simple.OtherUpdateRequest

Attribute Type Description
mode string
json_name: mode
go_name: Mode

mycompany.simple.OtherUpdateResponse

mycompany.simple.OtherWorkflowRequest

Attribute Type Description
bar mycompany.simple.OtherWorkflowRequest.Bar
json_name: bar
go_name: Bar
baz mycompany.simple.OtherWorkflowRequest.Baz
json_name: baz
go_name: Baz
example_bool bool
json_name: exampleBool
go_name: ExampleBool
example_bytes bytes
json_name: exampleBytes
go_name: ExampleBytes
example_double double
json_name: exampleDouble
go_name: ExampleDouble
example_duration google.protobuf.Duration
json_name: exampleDuration
go_name: ExampleDuration
example_empty google.protobuf.Empty
json_name: exampleEmpty
go_name: ExampleEmpty
example_enum mycompany.simple.OtherEnum
json_name: exampleEnum
go_name: ExampleEnum
example_fixed32 fixed32
json_name: exampleFixed32
go_name: ExampleFixed32
example_fixed64 fixed64
json_name: exampleFixed64
go_name: ExampleFixed64
example_float float
json_name: exampleFloat
go_name: ExampleFloat
example_int32 int32
json_name: exampleInt32
go_name: ExampleInt32
example_int64 int64
json_name: exampleInt64
go_name: ExampleInt64
example_sfixed32 sfixed32
json_name: exampleSfixed32
go_name: ExampleSfixed32
example_sfixed64 sfixed64
json_name: exampleSfixed64
go_name: ExampleSfixed64
example_sint32 sint32
json_name: exampleSint32
go_name: ExampleSint32
example_sint64 sint64
json_name: exampleSint64
go_name: ExampleSint64
example_timestamp google.protobuf.Timestamp
json_name: exampleTimestamp
go_name: ExampleTimestamp
example_uint32 uint32
json_name: exampleUint32
go_name: ExampleUint32
example_uint64 uint64
json_name: exampleUint64
go_name: ExampleUint64
foo mycompany.simple.Foo
json_name: foo
go_name: Foo
quux string
json_name: quux
go_name: Quux
qux mycompany.simple.Qux
json_name: qux
go_name: Qux
some_val string
json_name: someVal
go_name: SomeVal

mycompany.simple.OtherWorkflowRequest.Bar

Attribute Type Description
bar string
json_name: bar
go_name: Bar

mycompany.simple.OtherWorkflowRequest.Baz

Attribute Type Description
baz string
json_name: baz
go_name: Baz

mycompany.simple.OtherWorkflowResponse

mycompany.simple.Qux

Attribute Type Description
qux string
json_name: qux
go_name: Qux

mycompany.simple.SomeActivity2Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

mycompany.simple.SomeActivity3Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

mycompany.simple.SomeActivity3Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

mycompany.simple.SomeDeprecatedMessage

mycompany.simple.SomeQuery1Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

mycompany.simple.SomeQuery2Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

mycompany.simple.SomeQuery2Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

mycompany.simple.SomeSignal2Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

mycompany.simple.SomeSignal3Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

mycompany.simple.SomeSignal3Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

mycompany.simple.SomeUpdate1Request

Attribute Type Description
request_val string
json_name: requestVal
go_name: RequestVal

mycompany.simple.SomeUpdate1Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

mycompany.simple.SomeWorkflow1Request

Attribute Type Description
id string
json_name: id
go_name: Id
request_val string
json_name: requestVal
go_name: RequestVal

mycompany.simple.SomeWorkflow1Response

Attribute Type Description
response_val string
json_name: responseVal
go_name: ResponseVal

mycompany.simple.SomeWorkflow3Request

Attribute Type Description
id string
json_name: id
go_name: Id
request_val string
json_name: requestVal
go_name: RequestVal

mycompany.simple.WhatRequest

Attribute Type Description
blah string
json_name: blah
go_name: Blah

google.protobuf

Messages

google.protobuf.Duration

A Duration represents a signed, fixed-length span of time represented
as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". It is related to Timestamp in that the difference between
two Timestamp values is a Duration and it can be added or subtracted
from a Timestamp. Range is approximately +-10,000 years.

# Examples

Example 1: Compute Duration from two Timestamps in pseudo code.

    Timestamp start = ...;
    Timestamp end = ...;
    Duration duration = ...;

    duration.seconds = end.seconds - start.seconds;
    duration.nanos = end.nanos - start.nanos;

    if (duration.seconds < 0 && duration.nanos > 0) {
      duration.seconds += 1;
      duration.nanos -= 1000000000;
    } else if (duration.seconds > 0 && duration.nanos < 0) {
      duration.seconds -= 1;
      duration.nanos += 1000000000;
    }

Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.

    Timestamp start = ...;
    Duration duration = ...;
    Timestamp end = ...;

    end.seconds = start.seconds + duration.seconds;
    end.nanos = start.nanos + duration.nanos;

    if (end.nanos < 0) {
      end.seconds -= 1;
      end.nanos += 1000000000;
    } else if (end.nanos >= 1000000000) {
      end.seconds += 1;
      end.nanos -= 1000000000;
    }

Example 3: Compute Duration from datetime.timedelta in Python.

    td = datetime.timedelta(days=3, minutes=10)
    duration = Duration()
    duration.FromTimedelta(td)

# JSON Mapping

In JSON format, the Duration type is encoded as a string rather than an
object, where the string ends in the suffix "s" (indicating seconds) and
is preceded by the number of seconds, with nanoseconds expressed as
fractional seconds. For example, 3 seconds with 0 nanoseconds should be
encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
be expressed in JSON format as "3.000000001s", and 3 seconds and 1
microsecond should be expressed in JSON format as "3.000001s".

Attribute Type Description
nanos int32
Signed fractions of a second at nanosecond resolution of the span
of time. Durations less than one second are represented with a 0
`seconds` field and a positive or negative `nanos` field. For durations
of one second or more, a non-zero value for the `nanos` field must be
of the same sign as the `seconds` field. Must be from -999,999,999
to +999,999,999 inclusive.

json_name: nanos go_name: Nanos

seconds int64
Signed seconds of the span of time. Must be from -315,576,000,000
to +315,576,000,000 inclusive. Note: these bounds are computed from:
60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years

json_name: seconds go_name: Seconds

google.protobuf.Timestamp

A Timestamp represents a point in time independent of any time zone or local
calendar, encoded as a count of seconds and fractions of seconds at
nanosecond resolution. The count is relative to an epoch at UTC midnight on
January 1, 1970, in the proleptic Gregorian calendar which extends the
Gregorian calendar backwards to year one.

All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
second table is needed for interpretation, using a [24-hour linear
smear](https://developers.google.com/time/smear).

The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
restricting to that range, we ensure that we can convert to and from [RFC
3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.

# Examples

Example 1: Compute Timestamp from POSIX `time()`.

    Timestamp timestamp;
    timestamp.set_seconds(time(NULL));
    timestamp.set_nanos(0);

Example 2: Compute Timestamp from POSIX `gettimeofday()`.

    struct timeval tv;
    gettimeofday(&tv, NULL);

    Timestamp timestamp;
    timestamp.set_seconds(tv.tv_sec);
    timestamp.set_nanos(tv.tv_usec * 1000);

Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.

    FILETIME ft;
    GetSystemTimeAsFileTime(&ft);
    UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

    // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
    // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
    Timestamp timestamp;
    timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
    timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.

    long millis = System.currentTimeMillis();

    Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
        .setNanos((int) ((millis % 1000) * 1000000)).build();

Example 5: Compute Timestamp from Java `Instant.now()`.

    Instant now = Instant.now();

    Timestamp timestamp =
        Timestamp.newBuilder().setSeconds(now.getEpochSecond())
            .setNanos(now.getNano()).build();

Example 6: Compute Timestamp from current time in Python.

    timestamp = Timestamp()
    timestamp.GetCurrentTime()

# JSON Mapping

In JSON format, the Timestamp type is encoded as a string in the
[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
where {year} is always expressed using four digits while {month}, {day},
{hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
is required. A proto3 JSON serializer should always use UTC (as indicated by
"Z") when printing the Timestamp type and a proto3 JSON parser should be
able to accept both UTC and other timezones (as indicated by an offset).

For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
01:30 UTC on January 15, 2017.

In JavaScript, one can convert a Date object to this format using the
standard
[toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
method. In Python, a standard `datetime.datetime` object can be converted
to this format using
[`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
the Joda Time's [`ISODateTimeFormat.dateTime()`](
http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
) to obtain a formatter capable of generating timestamps in this format.

Attribute Type Description
nanos int32
Non-negative fractions of a second at nanosecond resolution. Negative
second values with fractions must still have non-negative nanos values
that count forward in time. Must be from 0 to 999,999,999
inclusive.

json_name: nanos go_name: Nanos

seconds int64
Represents seconds of UTC time since Unix epoch
1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
9999-12-31T23:59:59Z inclusive.

json_name: seconds go_name: Seconds