From 515546f335cd3434ef6541f1f9b7bd9b9a332f90 Mon Sep 17 00:00:00 2001 From: Chad Retz Date: Fri, 9 Aug 2024 17:33:18 -0500 Subject: [PATCH] More client features --- .github/workflows/ci.yml | 13 +- README.md | 5 +- temporalio/.rubocop.yml | 2 +- temporalio/Rakefile | 248 +++- .../temporal/api/common/v1/grpc_status.proto | 15 + temporalio/ext/src/client.rs | 112 +- temporalio/ext/src/client_rpc_generated.rs | 440 ++++++ temporalio/ext/src/lib.rs | 1 + temporalio/ext/src/runtime.rs | 4 +- temporalio/lib/temporalio/api.rb | 3 + .../lib/temporalio/api/cloud/cloudservice.rb | 3 + .../cloud/cloudservice/v1/request_response.rb | 93 ++ .../api/cloud/cloudservice/v1/service.rb | 25 + .../api/cloud/identity/v1/message.rb | 36 + .../api/cloud/namespace/v1/message.rb | 35 + .../api/cloud/operation/v1/message.rb | 27 + .../temporalio/api/cloud/region/v1/message.rb | 23 + .../lib/temporalio/api/command/v1/message.rb | 5 +- .../temporalio/api/common/v1/grpc_status.rb | 23 + .../lib/temporalio/api/common/v1/message.rb | 4 +- .../temporalio/api/enums/v1/command_type.rb | 2 +- .../lib/temporalio/api/enums/v1/common.rb | 5 +- .../lib/temporalio/api/enums/v1/event_type.rb | 2 +- .../temporalio/api/enums/v1/failed_cause.rb | 3 +- .../lib/temporalio/api/enums/v1/task_queue.rb | 4 +- .../lib/temporalio/api/enums/v1/update.rb | 4 +- .../lib/temporalio/api/enums/v1/workflow.rb | 3 +- .../temporalio/api/errordetails/v1/message.rb | 5 +- .../lib/temporalio/api/failure/v1/message.rb | 5 +- .../lib/temporalio/api/history/v1/message.rb | 12 +- .../temporalio/api/namespace/v1/message.rb | 3 +- .../lib/temporalio/api/nexus/v1/message.rb | 40 + .../lib/temporalio/api/operatorservice.rb | 2 +- .../operatorservice/v1/request_response.rb | 14 +- .../api/operatorservice/v1/service.rb | 2 +- .../lib/temporalio/api/schedule/v1/message.rb | 2 +- .../api/sdk/v1/enhanced_stack_trace.rb | 25 + .../temporalio/api/sdk/v1/user_metadata.rb | 23 + .../api/sdk/v1/workflow_metadata.rb | 2 +- .../temporalio/api/taskqueue/v1/message.rb | 11 +- .../lib/temporalio/api/workflow/v1/message.rb | 10 +- .../lib/temporalio/api/workflowservice.rb | 2 +- .../workflowservice/v1/request_response.rb | 25 +- .../api/workflowservice/v1/service.rb | 2 +- temporalio/lib/temporalio/client.rb | 174 ++- .../lib/temporalio/client/connection.rb | 73 +- .../client/connection/cloud_service.rb | 648 +++++++++ .../client/connection/operator_service.rb | 249 ++++ .../temporalio/client/connection/service.rb | 49 +- .../client/connection/workflow_service.rb | 1210 ++++++++++++++++- .../lib/temporalio/client/interceptor.rb | 21 +- .../lib/temporalio/client/workflow_handle.rb | 33 +- temporalio/lib/temporalio/common_enums.rb | 24 + .../temporalio/converters/data_converter.rb | 2 +- .../converters/failure_converter.rb | 8 +- .../converters/payload_converter.rb | 4 +- .../converters/payload_converter/composite.rb | 6 +- .../payload_converter/json_plain.rb | 4 +- temporalio/lib/temporalio/error.rb | 70 +- .../lib/temporalio/internal/bridge/client.rb | 14 +- .../lib/temporalio/internal/bridge/runtime.rb | 2 +- .../lib/temporalio/internal/proto_utils.rb | 26 + temporalio/lib/temporalio/retry_policy.rb | 50 + temporalio/lib/temporalio/runtime.rb | 12 +- .../lib/temporalio/search_attributes.rb | 271 ++++ .../testing/workflow_environment.rb | 1 - temporalio/rbs_collection.lock.yaml | 12 + temporalio/test/client_test.rb | 179 ++- temporalio/test/test_helper.rb | 24 + 69 files changed, 4241 insertions(+), 250 deletions(-) create mode 100644 temporalio/ext/additional_protos/temporal/api/common/v1/grpc_status.proto create mode 100644 temporalio/ext/src/client_rpc_generated.rs create mode 100644 temporalio/lib/temporalio/api/cloud/cloudservice.rb create mode 100644 temporalio/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb create mode 100644 temporalio/lib/temporalio/api/cloud/cloudservice/v1/service.rb create mode 100644 temporalio/lib/temporalio/api/cloud/identity/v1/message.rb create mode 100644 temporalio/lib/temporalio/api/cloud/namespace/v1/message.rb create mode 100644 temporalio/lib/temporalio/api/cloud/operation/v1/message.rb create mode 100644 temporalio/lib/temporalio/api/cloud/region/v1/message.rb create mode 100644 temporalio/lib/temporalio/api/common/v1/grpc_status.rb create mode 100644 temporalio/lib/temporalio/api/nexus/v1/message.rb create mode 100644 temporalio/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb create mode 100644 temporalio/lib/temporalio/api/sdk/v1/user_metadata.rb create mode 100644 temporalio/lib/temporalio/client/connection/cloud_service.rb create mode 100644 temporalio/lib/temporalio/client/connection/operator_service.rb create mode 100644 temporalio/lib/temporalio/common_enums.rb create mode 100644 temporalio/lib/temporalio/internal/proto_utils.rb create mode 100644 temporalio/lib/temporalio/retry_policy.rb create mode 100644 temporalio/lib/temporalio/search_attributes.rb diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ea7d87f..32861a08 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,10 +71,19 @@ jobs: working-directory: ./temporalio run: cargo clippy && cargo fmt --check - # TODO(cretz): For checkTarget, regen protos and ensure no diff + - name: Install bundle + working-directory: ./temporalio + run: bundle install + + - name: Check generated protos + if: ${{ matrix.checkTarget }} + working-directory: ./temporalio + run: | + bundle exec rake proto:generate + [[ -z $(git status --porcelain lib/temporalio/api) ]] || (git diff lib/temporalio/api; echo "Protos changed"; exit 1) - name: Lint, compile, test Ruby working-directory: ./temporalio - run: bundle install && bundle exec rake TESTOPTS="--verbose" + run: bundle exec rake TESTOPTS="--verbose" # TODO(cretz): Build gem and smoke test against separate dir diff --git a/README.md b/README.md index 74eb5d61..0dbec6d2 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,10 @@ Prerequisites: To build shared library for development use: - bundle exec rake compile:dev + bundle exec rake compile + +Note, this is not `compile:dev` because debug-mode in Rust has +[an issue](https://github.com/rust-lang/rust/issues/34283) that causes runtime stack size problems. To build and test release: diff --git a/temporalio/.rubocop.yml b/temporalio/.rubocop.yml index 62cda39d..f15ee0a5 100644 --- a/temporalio/.rubocop.yml +++ b/temporalio/.rubocop.yml @@ -34,7 +34,7 @@ Metrics/BlockLength: # The default is too small Metrics/ClassLength: - Max: 400 + Max: 1000 # The default is too small Metrics/CyclomaticComplexity: diff --git a/temporalio/Rakefile b/temporalio/Rakefile index ef145f75..a09be1bc 100644 --- a/temporalio/Rakefile +++ b/temporalio/Rakefile @@ -1,5 +1,7 @@ # frozen_string_literal: true +# rubocop:disable Metrics/BlockLength, Lint/MissingCopEnableDirective, Style/DocumentationMethod + require 'bundler/gem_tasks' require 'rb_sys/cargo/metadata' require 'rb_sys/extensiontask' @@ -34,6 +36,7 @@ require 'yard' YARD::Rake::YardocTask.new require 'fileutils' +require 'google/protobuf' namespace :proto do desc 'Generate API and Core protobufs' @@ -41,50 +44,236 @@ namespace :proto do # Remove all existing FileUtils.rm_rf('lib/temporalio/api') - # Collect set of API protos with Google ones removed - api_protos = Dir.glob('ext/sdk-core/sdk-core-protos/protos/api_upstream/**/*.proto').reject do |proto| - proto.include?('google') - end + def generate_protos(api_protos) + # Generate API to temp dir and move + FileUtils.rm_rf('tmp-proto') + FileUtils.mkdir_p('tmp-proto') + sh 'bundle exec grpc_tools_ruby_protoc ' \ + '--proto_path=ext/sdk-core/sdk-core-protos/protos/api_upstream ' \ + '--proto_path=ext/sdk-core/sdk-core-protos/protos/api_cloud_upstream ' \ + '--proto_path=ext/additional_protos ' \ + '--ruby_out=tmp-proto ' \ + "#{api_protos.join(' ')}" + + # Walk all generated Ruby files and cleanup content and filename + Dir.glob('tmp-proto/temporal/api/**/*.rb') do |path| + # Fix up the import + content = File.read(path) + content.gsub!(%r{^require 'temporal/(.*)_pb'$}, "require 'temporalio/\\1'") + File.write(path, content) + + # Remove _pb from the filename + FileUtils.mv(path, path.sub('_pb', '')) + end - # Generate API to temp dir and move - FileUtils.rm_rf('tmp-proto') - FileUtils.mkdir_p('tmp-proto') - sh 'bundle exec grpc_tools_ruby_protoc ' \ - '--proto_path=ext/sdk-core/sdk-core-protos/protos/api_upstream ' \ - '--ruby_out=tmp-proto ' \ - "#{api_protos.join(' ')}" - - # Walk all generated Ruby files and cleanup content and filename - Dir.glob('tmp-proto/temporal/api/**/*.rb') do |path| - # Fix up the import - content = File.read(path) - content.gsub!(%r{^require 'temporal/(.*)_pb'$}, "require 'temporalio/\\1'") - File.write(path, content) - - # Remove _pb from the filename - FileUtils.mv(path, path.sub('_pb', '')) + # Move from temp dir and remove temp dir + FileUtils.cp_r('tmp-proto/temporal/api', 'lib/temporalio') + FileUtils.rm_rf('tmp-proto') end - # Move from temp dir and remove temp dir - FileUtils.mv('tmp-proto/temporal/api', 'lib/temporalio') - FileUtils.rm_rf('tmp-proto') + # Generate from API with Google ones removed + generate_protos(Dir.glob('ext/sdk-core/sdk-core-protos/protos/api_upstream/**/*.proto').reject do |proto| + proto.include?('google') + end) + + # Generate from Cloud API + generate_protos(Dir.glob('ext/sdk-core/sdk-core-protos/protos/api_cloud_upstream/**/*.proto')) + + # Generate additional protos + generate_protos(Dir.glob('ext/additional_protos/**/*.proto')) # Write files that will help with imports. We are requiring the # request_response and not the service because the service depends on Google # API annotations we don't want to have to depend on. - string_lit = "# frozen_string_literal: true\n\n" + File.write( + 'lib/temporalio/api/cloud/cloudservice.rb', + <<~TEXT + # frozen_string_literal: true + + require 'temporalio/api/cloud/cloudservice/v1/request_response' + TEXT + ) File.write( 'lib/temporalio/api/workflowservice.rb', - "#{string_lit}require 'temporalio/api/workflowservice/v1/request_response'\n" + <<~TEXT + # frozen_string_literal: true + + require 'temporalio/api/workflowservice/v1/request_response' + TEXT ) File.write( 'lib/temporalio/api/operatorservice.rb', - "#{string_lit}require 'temporalio/api/operatorservice/v1/request_response'\n" + <<~TEXT + # frozen_string_literal: true + + require 'temporalio/api/operatorservice/v1/request_response' + TEXT ) File.write( 'lib/temporalio/api.rb', - "#{string_lit}require 'temporalio/api/operatorservice'\nrequire 'temporalio/api/workflowservice'\n" + <<~TEXT + # frozen_string_literal: true + + require 'temporalio/api/cloud/cloudservice' + require 'temporalio/api/common/v1/grpc_status' + require 'temporalio/api/errordetails/v1/message' + require 'temporalio/api/operatorservice' + require 'temporalio/api/workflowservice' + + module Temporalio + # Raw protocol buffer models. + module Api + end + end + TEXT ) + + # Write the service classes that have the RPC calls + def write_service_file(qualified_service_name:, file_name:, class_name:, service_enum:) + # Do service lookup + desc = Google::Protobuf::DescriptorPool.generated_pool.lookup(qualified_service_name) + raise 'Failed finding service descriptor' unless desc + + # Open file to generate + File.open("lib/temporalio/client/connection/#{file_name}.rb", 'w') do |file| + file.puts <<~TEXT + # frozen_string_literal: true + + # Generated code. DO NOT EDIT! + + require 'temporalio/api' + require 'temporalio/client/connection/service' + require 'temporalio/internal/bridge/client' + + module Temporalio + class Client + class Connection + # #{class_name} API. + class #{class_name} < Service + # @!visibility private + def initialize(connection) + super(connection, Internal::Bridge::Client::#{service_enum}) + end + TEXT + + desc.each do |method| + # Camel case to snake case + rpc = method.name.gsub(/([A-Z])/, '_\1').downcase.delete_prefix('_') + file.puts <<-TEXT + + # Calls #{class_name}.#{method.name} API call. + # + # @param request [#{method.input_type.msgclass}] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [#{method.output_type.msgclass}] API response. + def #{rpc}(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: '#{rpc}', + request_class: #{method.input_type.msgclass}, + response_class: #{method.output_type.msgclass}, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + TEXT + end + + file.puts <<~TEXT + end + end + end + end + TEXT + end + end + + require './lib/temporalio/api/workflowservice/v1/service' + write_service_file( + qualified_service_name: 'temporal.api.workflowservice.v1.WorkflowService', + file_name: 'workflow_service', + class_name: 'WorkflowService', + service_enum: 'SERVICE_WORKFLOW' + ) + require './lib/temporalio/api/operatorservice/v1/service' + write_service_file( + qualified_service_name: 'temporal.api.operatorservice.v1.OperatorService', + file_name: 'operator_service', + class_name: 'OperatorService', + service_enum: 'SERVICE_OPERATOR' + ) + require './lib/temporalio/api/cloud/cloudservice/v1/service' + write_service_file( + qualified_service_name: 'temporal.api.cloud.cloudservice.v1.CloudService', + file_name: 'cloud_service', + class_name: 'CloudService', + service_enum: 'SERVICE_CLOUD' + ) + + # Generate Rust code + def generate_rust_match_arm(file:, qualified_service_name:, service_enum:, trait:) + # Do service lookup + desc = Google::Protobuf::DescriptorPool.generated_pool.lookup(qualified_service_name) + file.puts <<~TEXT + #{service_enum} => match call.rpc.as_str() { + TEXT + + # desc.sort_by { |a, b| a.name <=> b.name }.each do |method| + desc.to_a.sort_by(&:name).each do |method| + # Camel case to snake case + rpc = method.name.gsub(/([A-Z])/, '_\1').downcase.delete_prefix('_') + file.puts <<~TEXT + "#{rpc}" => rpc_call!(self, block, call, #{trait}, #{rpc}), + TEXT + end + file.puts <<~TEXT + _ => Err(error!("Unknown RPC call {}", call.rpc)), + }, + TEXT + end + File.open('ext/src/client_rpc_generated.rs', 'w') do |file| + file.puts <<~TEXT + // Generated code. DO NOT EDIT! + + use magnus::{block::Proc, value::Opaque, Error, Ruby}; + use temporal_client::{CloudService, OperatorService, WorkflowService}; + + use super::{error, rpc_call}; + use crate::client::{Client, RpcCall, SERVICE_CLOUD, SERVICE_OPERATOR, SERVICE_WORKFLOW}; + + impl Client { + pub fn invoke_rpc(&self, service: u8, block: Opaque, call: RpcCall) -> Result<(), Error> { + match service { + TEXT + generate_rust_match_arm( + file:, + qualified_service_name: 'temporal.api.workflowservice.v1.WorkflowService', + service_enum: 'SERVICE_WORKFLOW', + trait: 'WorkflowService' + ) + generate_rust_match_arm( + file:, + qualified_service_name: 'temporal.api.operatorservice.v1.OperatorService', + service_enum: 'SERVICE_OPERATOR', + trait: 'OperatorService' + ) + generate_rust_match_arm( + file:, + qualified_service_name: 'temporal.api.cloud.cloudservice.v1.CloudService', + service_enum: 'SERVICE_CLOUD', + trait: 'CloudService' + ) + file.puts <<~TEXT + _ => Err(error!("Unknown service")), + } + } + } + TEXT + end + sh 'cargo', 'fmt', '--', 'ext/src/client_rpc_generated.rs' end end @@ -104,4 +293,5 @@ Rake::Task[:build].enhance([:copy_parent_files]) do rm ['LICENSE', 'README.md'] end -task default: [:rubocop, 'rbs:install_collection', :steep, :compile, :test] +# TODO(cretz): Add rbs:install_collection and :steep back when RBS is ready +task default: %i[rubocop compile test] diff --git a/temporalio/ext/additional_protos/temporal/api/common/v1/grpc_status.proto b/temporalio/ext/additional_protos/temporal/api/common/v1/grpc_status.proto new file mode 100644 index 00000000..767500be --- /dev/null +++ b/temporalio/ext/additional_protos/temporal/api/common/v1/grpc_status.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +package temporal.api.common.v1; + +option ruby_package = "Temporalio::Api::Common::V1"; + +import "google/protobuf/any.proto"; + +// From https://github.com/grpc/grpc/blob/master/src/proto/grpc/status/status.proto +// since we don't import grpc but still need the status info +message GrpcStatus { + int32 code = 1; + string message = 2; + repeated google.protobuf.Any details = 3; +} diff --git a/temporalio/ext/src/client.rs b/temporalio/ext/src/client.rs index 1f862ab9..f3ab6678 100644 --- a/temporalio/ext/src/client.rs +++ b/temporalio/ext/src/client.rs @@ -3,7 +3,7 @@ use std::{collections::HashMap, future::Future, marker::PhantomData, time::Durat use temporal_client::{ ClientInitError, ClientKeepAliveConfig, ClientOptionsBuilder, ClientTlsConfig, ConfiguredClient, HttpConnectProxyOptions, RetryClient, RetryConfig, - TemporalServiceClientWithMetrics, TlsConfig, WorkflowService, + TemporalServiceClientWithMetrics, TlsConfig, }; use magnus::{ @@ -17,14 +17,15 @@ use super::{error, id, new_error, ROOT_MOD}; use crate::{ runtime::{Runtime, RuntimeHandle}, util::Struct, + ROOT_ERR, }; use std::str::FromStr; -const SERVICE_WORKFLOW: u8 = 1; -const SERVICE_OPERATOR: u8 = 2; -const SERVICE_CLOUD: u8 = 3; -const SERVICE_TEST: u8 = 4; -const SERVICE_HEALTH: u8 = 5; +pub(crate) const SERVICE_WORKFLOW: u8 = 1; +pub(crate) const SERVICE_OPERATOR: u8 = 2; +pub(crate) const SERVICE_CLOUD: u8 = 3; +pub(crate) const SERVICE_TEST: u8 = 4; +pub(crate) const SERVICE_HEALTH: u8 = 5; pub fn init(ruby: &Ruby) -> Result<(), Error> { let root_mod = ruby.get_inner(&ROOT_MOD); @@ -38,7 +39,7 @@ pub fn init(ruby: &Ruby) -> Result<(), Error> { class.define_singleton_method("async_new", function!(Client::async_new, 2))?; class.define_method("async_invoke_rpc", method!(Client::async_invoke_rpc, -1))?; - let inner_class = class.define_class("RpcFailure", class::object())?; + let inner_class = class.define_error("RpcFailure", ruby.get_inner(&ROOT_ERR))?; inner_class.define_method("code", method!(RpcFailure::code, 0))?; inner_class.define_method("message", method!(RpcFailure::message, 0))?; inner_class.define_method("details", method!(RpcFailure::details, 0))?; @@ -54,24 +55,21 @@ pub struct Client { runtime_handle: RuntimeHandle, } +#[macro_export] macro_rules! rpc_call { - ($client:ident, $block:ident, $call:ident, $call_name:ident) => {{ + ($client:ident, $block:ident, $call:ident, $trait:tt, $call_name:ident) => {{ if $call.retry { let mut core_client = $client.core.clone(); let req = $call.into_request()?; - rpc_resp( - $client, - $block, - async move { core_client.$call_name(req).await }, - ) + crate::client::rpc_resp($client, $block, async move { + $trait::$call_name(&mut core_client, req).await + }) } else { let mut core_client = $client.core.clone().into_inner(); let req = $call.into_request()?; - rpc_resp( - $client, - $block, - async move { core_client.$call_name(req).await }, - ) + crate::client::rpc_resp($client, $block, async move { + $trait::$call_name(&mut core_client, req).await + }) } }}; } @@ -120,21 +118,21 @@ impl Client { .child(id!("rpc_retry"))? .ok_or_else(|| error!("Missing rpc_retry"))?; opts_build.retry_config(RetryConfig { - initial_interval: Duration::from_millis(rpc_retry.member(id!("initial_interval_ms"))?), + initial_interval: Duration::from_secs_f64(rpc_retry.member(id!("initial_interval"))?), randomization_factor: rpc_retry.member(id!("randomization_factor"))?, multiplier: rpc_retry.member(id!("multiplier"))?, - max_interval: Duration::from_millis(rpc_retry.member(id!("max_interval_ms"))?), - max_elapsed_time: match rpc_retry.member::(id!("max_elapsed_time_ms"))? { + max_interval: Duration::from_secs_f64(rpc_retry.member(id!("max_interval"))?), + max_elapsed_time: match rpc_retry.member::(id!("max_elapsed_time"))? { // 0 means none - 0 => None, - val => Some(Duration::from_millis(val)), + 0.0 => None, + val => Some(Duration::from_secs_f64(val)), }, max_retries: rpc_retry.member(id!("max_retries"))?, }); if let Some(keep_alive) = options.child(id!("keep_alive"))? { opts_build.keep_alive(Some(ClientKeepAliveConfig { - interval: Duration::from_millis(keep_alive.member(id!("interval_ms"))?), - timeout: Duration::from_millis(keep_alive.member(id!("timeout_ms"))?), + interval: Duration::from_secs_f64(keep_alive.member(id!("interval"))?), + timeout: Duration::from_secs_f64(keep_alive.member(id!("timeout"))?), })); } if let Some(proxy) = options.child(id!("http_connect_proxy"))? { @@ -182,9 +180,16 @@ impl Client { pub fn async_invoke_rpc(&self, args: &[Value]) -> Result<(), Error> { let args = scan_args::scan_args::<(), (), (), (), _, Proc>(args)?; - let (service, rpc, request, retry, metadata, timeout_ms) = scan_args::get_kwargs::< + let (service, rpc, request, retry, metadata, timeout) = scan_args::get_kwargs::< _, - (u8, String, RString, bool, HashMap, u64), + ( + u8, + String, + RString, + bool, + Option>, + Option, + ), (), (), >( @@ -195,7 +200,7 @@ impl Client { id!("request"), id!("rpc_retry"), id!("rpc_metadata"), - id!("rpc_timeout_ms"), + id!("rpc_timeout"), ], &[], )? @@ -205,22 +210,11 @@ impl Client { request: unsafe { request.as_slice() }, retry, metadata, - timeout_ms, + timeout, _not_send_sync: PhantomData, }; let block = Opaque::from(args.block); - match service { - SERVICE_WORKFLOW => match call.rpc.as_str() { - "get_workflow_execution_history" => { - rpc_call!(self, block, call, get_workflow_execution_history) - } - "start_workflow_execution" => { - rpc_call!(self, block, call, start_workflow_execution) - } - _ => Err(error!("Unknown RPC call {}", call.rpc)), - }, - _ => Err(error!("Unknown service")), - } + self.invoke_rpc(service, block, call) } } @@ -251,12 +245,12 @@ impl RpcFailure { } } -struct RpcCall<'a> { - rpc: String, - request: &'a [u8], - retry: bool, - metadata: HashMap, - timeout_ms: u64, +pub(crate) struct RpcCall<'a> { + pub rpc: String, + pub request: &'a [u8], + pub retry: bool, + pub metadata: Option>, + pub timeout: Option, // This RPC call contains an unsafe reference to Ruby bytes that does not // outlive the call, so we prevent it from being sent to another thread. @@ -265,25 +259,27 @@ struct RpcCall<'a> { } impl RpcCall<'_> { - fn into_request(self) -> Result, Error> { + pub fn into_request(self) -> Result, Error> { let proto = P::decode(self.request).map_err(|err| error!("Invalid proto: {}", err))?; let mut req = tonic::Request::new(proto); - for (k, v) in self.metadata { - req.metadata_mut().insert( - MetadataKey::from_str(k.as_str()) - .map_err(|err| error!("Invalid metadata key: {}", err))?, - v.parse() - .map_err(|err| error!("Invalid metadata value: {}", err))?, - ); + if let Some(metadata) = self.metadata { + for (k, v) in metadata { + req.metadata_mut().insert( + MetadataKey::from_str(k.as_str()) + .map_err(|err| error!("Invalid metadata key: {}", err))?, + v.parse() + .map_err(|err| error!("Invalid metadata value: {}", err))?, + ); + } } - if self.timeout_ms > 0 { - req.set_timeout(Duration::from_millis(self.timeout_ms)); + if let Some(timeout) = self.timeout { + req.set_timeout(Duration::from_secs_f64(timeout)); } Ok(req) } } -fn rpc_resp

( +pub(crate) fn rpc_resp

( client: &Client, block: Opaque, fut: impl Future, tonic::Status>> + Send + 'static, diff --git a/temporalio/ext/src/client_rpc_generated.rs b/temporalio/ext/src/client_rpc_generated.rs new file mode 100644 index 00000000..8641066b --- /dev/null +++ b/temporalio/ext/src/client_rpc_generated.rs @@ -0,0 +1,440 @@ +// Generated code. DO NOT EDIT! + +use magnus::{block::Proc, value::Opaque, Error, Ruby}; +use temporal_client::{CloudService, OperatorService, WorkflowService}; + +use super::{error, rpc_call}; +use crate::client::{Client, RpcCall, SERVICE_CLOUD, SERVICE_OPERATOR, SERVICE_WORKFLOW}; + +impl Client { + pub fn invoke_rpc(&self, service: u8, block: Opaque, call: RpcCall) -> Result<(), Error> { + match service { + SERVICE_WORKFLOW => match call.rpc.as_str() { + "count_workflow_executions" => rpc_call!( + self, + block, + call, + WorkflowService, + count_workflow_executions + ), + "create_schedule" => rpc_call!(self, block, call, WorkflowService, create_schedule), + "delete_schedule" => rpc_call!(self, block, call, WorkflowService, delete_schedule), + "delete_workflow_execution" => rpc_call!( + self, + block, + call, + WorkflowService, + delete_workflow_execution + ), + "deprecate_namespace" => { + rpc_call!(self, block, call, WorkflowService, deprecate_namespace) + } + "describe_batch_operation" => { + rpc_call!(self, block, call, WorkflowService, describe_batch_operation) + } + "describe_namespace" => { + rpc_call!(self, block, call, WorkflowService, describe_namespace) + } + "describe_schedule" => { + rpc_call!(self, block, call, WorkflowService, describe_schedule) + } + "describe_task_queue" => { + rpc_call!(self, block, call, WorkflowService, describe_task_queue) + } + "describe_workflow_execution" => rpc_call!( + self, + block, + call, + WorkflowService, + describe_workflow_execution + ), + "execute_multi_operation" => { + rpc_call!(self, block, call, WorkflowService, execute_multi_operation) + } + "get_cluster_info" => { + rpc_call!(self, block, call, WorkflowService, get_cluster_info) + } + "get_search_attributes" => { + rpc_call!(self, block, call, WorkflowService, get_search_attributes) + } + "get_system_info" => rpc_call!(self, block, call, WorkflowService, get_system_info), + "get_worker_build_id_compatibility" => rpc_call!( + self, + block, + call, + WorkflowService, + get_worker_build_id_compatibility + ), + "get_worker_task_reachability" => rpc_call!( + self, + block, + call, + WorkflowService, + get_worker_task_reachability + ), + "get_worker_versioning_rules" => rpc_call!( + self, + block, + call, + WorkflowService, + get_worker_versioning_rules + ), + "get_workflow_execution_history" => rpc_call!( + self, + block, + call, + WorkflowService, + get_workflow_execution_history + ), + "get_workflow_execution_history_reverse" => rpc_call!( + self, + block, + call, + WorkflowService, + get_workflow_execution_history_reverse + ), + "list_archived_workflow_executions" => rpc_call!( + self, + block, + call, + WorkflowService, + list_archived_workflow_executions + ), + "list_batch_operations" => { + rpc_call!(self, block, call, WorkflowService, list_batch_operations) + } + "list_closed_workflow_executions" => rpc_call!( + self, + block, + call, + WorkflowService, + list_closed_workflow_executions + ), + "list_namespaces" => rpc_call!(self, block, call, WorkflowService, list_namespaces), + "list_open_workflow_executions" => rpc_call!( + self, + block, + call, + WorkflowService, + list_open_workflow_executions + ), + "list_schedule_matching_times" => rpc_call!( + self, + block, + call, + WorkflowService, + list_schedule_matching_times + ), + "list_schedules" => rpc_call!(self, block, call, WorkflowService, list_schedules), + "list_task_queue_partitions" => rpc_call!( + self, + block, + call, + WorkflowService, + list_task_queue_partitions + ), + "list_workflow_executions" => { + rpc_call!(self, block, call, WorkflowService, list_workflow_executions) + } + "patch_schedule" => rpc_call!(self, block, call, WorkflowService, patch_schedule), + "poll_activity_task_queue" => { + rpc_call!(self, block, call, WorkflowService, poll_activity_task_queue) + } + "poll_nexus_task_queue" => { + rpc_call!(self, block, call, WorkflowService, poll_nexus_task_queue) + } + "poll_workflow_execution_update" => rpc_call!( + self, + block, + call, + WorkflowService, + poll_workflow_execution_update + ), + "poll_workflow_task_queue" => { + rpc_call!(self, block, call, WorkflowService, poll_workflow_task_queue) + } + "query_workflow" => rpc_call!(self, block, call, WorkflowService, query_workflow), + "record_activity_task_heartbeat" => rpc_call!( + self, + block, + call, + WorkflowService, + record_activity_task_heartbeat + ), + "record_activity_task_heartbeat_by_id" => rpc_call!( + self, + block, + call, + WorkflowService, + record_activity_task_heartbeat_by_id + ), + "register_namespace" => { + rpc_call!(self, block, call, WorkflowService, register_namespace) + } + "request_cancel_workflow_execution" => rpc_call!( + self, + block, + call, + WorkflowService, + request_cancel_workflow_execution + ), + "reset_sticky_task_queue" => { + rpc_call!(self, block, call, WorkflowService, reset_sticky_task_queue) + } + "reset_workflow_execution" => { + rpc_call!(self, block, call, WorkflowService, reset_workflow_execution) + } + "respond_activity_task_canceled" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_activity_task_canceled + ), + "respond_activity_task_canceled_by_id" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_activity_task_canceled_by_id + ), + "respond_activity_task_completed" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_activity_task_completed + ), + "respond_activity_task_completed_by_id" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_activity_task_completed_by_id + ), + "respond_activity_task_failed" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_activity_task_failed + ), + "respond_activity_task_failed_by_id" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_activity_task_failed_by_id + ), + "respond_nexus_task_completed" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_nexus_task_completed + ), + "respond_nexus_task_failed" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_nexus_task_failed + ), + "respond_query_task_completed" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_query_task_completed + ), + "respond_workflow_task_completed" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_workflow_task_completed + ), + "respond_workflow_task_failed" => rpc_call!( + self, + block, + call, + WorkflowService, + respond_workflow_task_failed + ), + "scan_workflow_executions" => { + rpc_call!(self, block, call, WorkflowService, scan_workflow_executions) + } + "signal_with_start_workflow_execution" => rpc_call!( + self, + block, + call, + WorkflowService, + signal_with_start_workflow_execution + ), + "signal_workflow_execution" => rpc_call!( + self, + block, + call, + WorkflowService, + signal_workflow_execution + ), + "start_batch_operation" => { + rpc_call!(self, block, call, WorkflowService, start_batch_operation) + } + "start_workflow_execution" => { + rpc_call!(self, block, call, WorkflowService, start_workflow_execution) + } + "stop_batch_operation" => { + rpc_call!(self, block, call, WorkflowService, stop_batch_operation) + } + "terminate_workflow_execution" => rpc_call!( + self, + block, + call, + WorkflowService, + terminate_workflow_execution + ), + "update_namespace" => { + rpc_call!(self, block, call, WorkflowService, update_namespace) + } + "update_schedule" => rpc_call!(self, block, call, WorkflowService, update_schedule), + "update_worker_build_id_compatibility" => rpc_call!( + self, + block, + call, + WorkflowService, + update_worker_build_id_compatibility + ), + "update_worker_versioning_rules" => rpc_call!( + self, + block, + call, + WorkflowService, + update_worker_versioning_rules + ), + "update_workflow_execution" => rpc_call!( + self, + block, + call, + WorkflowService, + update_workflow_execution + ), + _ => Err(error!("Unknown RPC call {}", call.rpc)), + }, + SERVICE_OPERATOR => match call.rpc.as_str() { + "add_or_update_remote_cluster" => rpc_call!( + self, + block, + call, + OperatorService, + add_or_update_remote_cluster + ), + "add_search_attributes" => { + rpc_call!(self, block, call, OperatorService, add_search_attributes) + } + "create_nexus_endpoint" => { + rpc_call!(self, block, call, OperatorService, create_nexus_endpoint) + } + "delete_namespace" => { + rpc_call!(self, block, call, OperatorService, delete_namespace) + } + "delete_nexus_endpoint" => { + rpc_call!(self, block, call, OperatorService, delete_nexus_endpoint) + } + "get_nexus_endpoint" => { + rpc_call!(self, block, call, OperatorService, get_nexus_endpoint) + } + "list_clusters" => rpc_call!(self, block, call, OperatorService, list_clusters), + "list_nexus_endpoints" => { + rpc_call!(self, block, call, OperatorService, list_nexus_endpoints) + } + "list_search_attributes" => { + rpc_call!(self, block, call, OperatorService, list_search_attributes) + } + "remove_remote_cluster" => { + rpc_call!(self, block, call, OperatorService, remove_remote_cluster) + } + "remove_search_attributes" => { + rpc_call!(self, block, call, OperatorService, remove_search_attributes) + } + "update_nexus_endpoint" => { + rpc_call!(self, block, call, OperatorService, update_nexus_endpoint) + } + _ => Err(error!("Unknown RPC call {}", call.rpc)), + }, + SERVICE_CLOUD => match call.rpc.as_str() { + "add_namespace_region" => { + rpc_call!(self, block, call, CloudService, add_namespace_region) + } + "create_api_key" => rpc_call!(self, block, call, CloudService, create_api_key), + "create_namespace" => rpc_call!(self, block, call, CloudService, create_namespace), + "create_service_account" => { + rpc_call!(self, block, call, CloudService, create_service_account) + } + "create_user" => rpc_call!(self, block, call, CloudService, create_user), + "create_user_group" => { + rpc_call!(self, block, call, CloudService, create_user_group) + } + "delete_api_key" => rpc_call!(self, block, call, CloudService, delete_api_key), + "delete_namespace" => rpc_call!(self, block, call, CloudService, delete_namespace), + "delete_service_account" => { + rpc_call!(self, block, call, CloudService, delete_service_account) + } + "delete_user" => rpc_call!(self, block, call, CloudService, delete_user), + "delete_user_group" => { + rpc_call!(self, block, call, CloudService, delete_user_group) + } + "failover_namespace_region" => { + rpc_call!(self, block, call, CloudService, failover_namespace_region) + } + "get_api_key" => rpc_call!(self, block, call, CloudService, get_api_key), + "get_api_keys" => rpc_call!(self, block, call, CloudService, get_api_keys), + "get_async_operation" => { + rpc_call!(self, block, call, CloudService, get_async_operation) + } + "get_namespace" => rpc_call!(self, block, call, CloudService, get_namespace), + "get_namespaces" => rpc_call!(self, block, call, CloudService, get_namespaces), + "get_region" => rpc_call!(self, block, call, CloudService, get_region), + "get_regions" => rpc_call!(self, block, call, CloudService, get_regions), + "get_service_account" => { + rpc_call!(self, block, call, CloudService, get_service_account) + } + "get_service_accounts" => { + rpc_call!(self, block, call, CloudService, get_service_accounts) + } + "get_user" => rpc_call!(self, block, call, CloudService, get_user), + "get_user_group" => rpc_call!(self, block, call, CloudService, get_user_group), + "get_user_groups" => rpc_call!(self, block, call, CloudService, get_user_groups), + "get_users" => rpc_call!(self, block, call, CloudService, get_users), + "rename_custom_search_attribute" => rpc_call!( + self, + block, + call, + CloudService, + rename_custom_search_attribute + ), + "set_user_group_namespace_access" => rpc_call!( + self, + block, + call, + CloudService, + set_user_group_namespace_access + ), + "set_user_namespace_access" => { + rpc_call!(self, block, call, CloudService, set_user_namespace_access) + } + "update_api_key" => rpc_call!(self, block, call, CloudService, update_api_key), + "update_namespace" => rpc_call!(self, block, call, CloudService, update_namespace), + "update_service_account" => { + rpc_call!(self, block, call, CloudService, update_service_account) + } + "update_user" => rpc_call!(self, block, call, CloudService, update_user), + "update_user_group" => { + rpc_call!(self, block, call, CloudService, update_user_group) + } + _ => Err(error!("Unknown RPC call {}", call.rpc)), + }, + _ => Err(error!("Unknown service")), + } + } +} diff --git a/temporalio/ext/src/lib.rs b/temporalio/ext/src/lib.rs index 88cd22a1..9dd7d124 100644 --- a/temporalio/ext/src/lib.rs +++ b/temporalio/ext/src/lib.rs @@ -1,6 +1,7 @@ use magnus::{prelude::*, value::Lazy, Error, ExceptionClass, RModule, Ruby}; mod client; +mod client_rpc_generated; mod runtime; mod testing; mod util; diff --git a/temporalio/ext/src/runtime.rs b/temporalio/ext/src/runtime.rs index 402a34c4..4da99c73 100644 --- a/temporalio/ext/src/runtime.rs +++ b/temporalio/ext/src/runtime.rs @@ -98,8 +98,8 @@ impl Runtime { if let Some(headers) = opentelemetry.member::>>(id!("headers"))? { opts_build.headers(headers); } - if let Some(period) = opentelemetry.member::>(id!("metric_periodicity_ms"))? { - opts_build.metric_periodicity(Duration::from_millis(period)); + if let Some(period) = opentelemetry.member::>(id!("metric_periodicity"))? { + opts_build.metric_periodicity(Duration::from_secs_f64(period)); } if opentelemetry.member::(id!("metric_temporality_delta"))? { opts_build.metric_temporality(MetricTemporality::Delta); diff --git a/temporalio/lib/temporalio/api.rb b/temporalio/lib/temporalio/api.rb index 1a7a2f04..cf0e6742 100644 --- a/temporalio/lib/temporalio/api.rb +++ b/temporalio/lib/temporalio/api.rb @@ -1,5 +1,8 @@ # frozen_string_literal: true +require 'temporalio/api/cloud/cloudservice' +require 'temporalio/api/common/v1/grpc_status' +require 'temporalio/api/errordetails/v1/message' require 'temporalio/api/operatorservice' require 'temporalio/api/workflowservice' diff --git a/temporalio/lib/temporalio/api/cloud/cloudservice.rb b/temporalio/lib/temporalio/api/cloud/cloudservice.rb new file mode 100644 index 00000000..3c6f75db --- /dev/null +++ b/temporalio/lib/temporalio/api/cloud/cloudservice.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require 'temporalio/api/cloud/cloudservice/v1/request_response' diff --git a/temporalio/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb b/temporalio/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb new file mode 100644 index 00000000..b4271438 --- /dev/null +++ b/temporalio/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb @@ -0,0 +1,93 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/cloud/cloudservice/v1/request_response.proto + +require 'google/protobuf' + +require 'temporalio/api/cloud/operation/v1/message' +require 'temporalio/api/cloud/identity/v1/message' +require 'temporalio/api/cloud/namespace/v1/message' +require 'temporalio/api/cloud/region/v1/message' + + +descriptor_data = "\n9temporal/api/cloud/cloudservice/v1/request_response.proto\x12\"temporal.api.cloud.cloudservice.v1\x1a-temporal/api/cloud/operation/v1/message.proto\x1a,temporal/api/cloud/identity/v1/message.proto\x1a-temporal/api/cloud/namespace/v1/message.proto\x1a*temporal/api/cloud/region/v1/message.proto\"Z\n\x0fGetUsersRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\r\n\x05\x65mail\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\t\"`\n\x10GetUsersResponse\x12\x33\n\x05users\x18\x01 \x03(\x0b\x32$.temporal.api.cloud.identity.v1.User\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"!\n\x0eGetUserRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\"E\n\x0fGetUserResponse\x12\x32\n\x04user\x18\x01 \x01(\x0b\x32$.temporal.api.cloud.identity.v1.User\"g\n\x11\x43reateUserRequest\x12\x36\n\x04spec\x18\x01 \x01(\x0b\x32(.temporal.api.cloud.identity.v1.UserSpec\x12\x1a\n\x12\x61sync_operation_id\x18\x02 \x01(\t\"o\n\x12\x43reateUserResponse\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12H\n\x0f\x61sync_operation\x18\x02 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\x92\x01\n\x11UpdateUserRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x36\n\x04spec\x18\x02 \x01(\x0b\x32(.temporal.api.cloud.identity.v1.UserSpec\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x04 \x01(\t\"^\n\x12UpdateUserResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"Z\n\x11\x44\x65leteUserRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x03 \x01(\t\"^\n\x12\x44\x65leteUserResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\xba\x01\n\x1dSetUserNamespaceAccessRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12?\n\x06\x61\x63\x63\x65ss\x18\x03 \x01(\x0b\x32/.temporal.api.cloud.identity.v1.NamespaceAccess\x12\x18\n\x10resource_version\x18\x04 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x05 \x01(\t\"j\n\x1eSetUserNamespaceAccessResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"6\n\x18GetAsyncOperationRequest\x12\x1a\n\x12\x61sync_operation_id\x18\x01 \x01(\t\"e\n\x19GetAsyncOperationResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"r\n\x16\x43reateNamespaceRequest\x12<\n\x04spec\x18\x02 \x01(\x0b\x32..temporal.api.cloud.namespace.v1.NamespaceSpec\x12\x1a\n\x12\x61sync_operation_id\x18\x03 \x01(\t\"v\n\x17\x43reateNamespaceResponse\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12H\n\x0f\x61sync_operation\x18\x02 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"K\n\x14GetNamespacesRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"p\n\x15GetNamespacesResponse\x12>\n\nnamespaces\x18\x01 \x03(\x0b\x32*.temporal.api.cloud.namespace.v1.Namespace\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"(\n\x13GetNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\"U\n\x14GetNamespaceResponse\x12=\n\tnamespace\x18\x01 \x01(\x0b\x32*.temporal.api.cloud.namespace.v1.Namespace\"\x9f\x01\n\x16UpdateNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\x04spec\x18\x02 \x01(\x0b\x32..temporal.api.cloud.namespace.v1.NamespaceSpec\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x04 \x01(\t\"c\n\x17UpdateNamespaceResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\xc6\x01\n\"RenameCustomSearchAttributeRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12-\n%existing_custom_search_attribute_name\x18\x02 \x01(\t\x12(\n new_custom_search_attribute_name\x18\x03 \x01(\t\x12\x18\n\x10resource_version\x18\x04 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x05 \x01(\t\"o\n#RenameCustomSearchAttributeResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"a\n\x16\x44\x65leteNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x03 \x01(\t\"c\n\x17\x44\x65leteNamespaceResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"_\n\x1e\x46\x61iloverNamespaceRegionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0e\n\x06region\x18\x02 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x03 \x01(\t\"k\n\x1f\x46\x61iloverNamespaceRegionResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"t\n\x19\x41\x64\x64NamespaceRegionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0e\n\x06region\x18\x02 \x01(\t\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x04 \x01(\t\"f\n\x1a\x41\x64\x64NamespaceRegionResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\x13\n\x11GetRegionsRequest\"K\n\x12GetRegionsResponse\x12\x35\n\x07regions\x18\x01 \x03(\x0b\x32$.temporal.api.cloud.region.v1.Region\"\"\n\x10GetRegionRequest\x12\x0e\n\x06region\x18\x01 \x01(\t\"I\n\x11GetRegionResponse\x12\x34\n\x06region\x18\x01 \x01(\x0b\x32$.temporal.api.cloud.region.v1.Region\"`\n\x11GetApiKeysRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x10\n\x08owner_id\x18\x03 \x01(\t\x12\x12\n\nowner_type\x18\x04 \x01(\t\"g\n\x12GetApiKeysResponse\x12\x38\n\x08\x61pi_keys\x18\x01 \x03(\x0b\x32&.temporal.api.cloud.identity.v1.ApiKey\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\"\n\x10GetApiKeyRequest\x12\x0e\n\x06key_id\x18\x01 \x01(\t\"L\n\x11GetApiKeyResponse\x12\x37\n\x07\x61pi_key\x18\x01 \x01(\x0b\x32&.temporal.api.cloud.identity.v1.ApiKey\"k\n\x13\x43reateApiKeyRequest\x12\x38\n\x04spec\x18\x01 \x01(\x0b\x32*.temporal.api.cloud.identity.v1.ApiKeySpec\x12\x1a\n\x12\x61sync_operation_id\x18\x02 \x01(\t\"\x7f\n\x14\x43reateApiKeyResponse\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\x12H\n\x0f\x61sync_operation\x18\x03 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\x95\x01\n\x13UpdateApiKeyRequest\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12\x38\n\x04spec\x18\x02 \x01(\x0b\x32*.temporal.api.cloud.identity.v1.ApiKeySpec\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x04 \x01(\t\"`\n\x14UpdateApiKeyResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"[\n\x13\x44\x65leteApiKeyRequest\x12\x0e\n\x06key_id\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x03 \x01(\t\"`\n\x14\x44\x65leteApiKeyResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"d\n\x14GetUserGroupsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x11\n\tnamespace\x18\x03 \x01(\t\x12\x12\n\ngroup_name\x18\x04 \x01(\t\"k\n\x15GetUserGroupsResponse\x12\x39\n\x06groups\x18\x01 \x03(\x0b\x32).temporal.api.cloud.identity.v1.UserGroup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\'\n\x13GetUserGroupRequest\x12\x10\n\x08group_id\x18\x01 \x01(\t\"P\n\x14GetUserGroupResponse\x12\x38\n\x05group\x18\x01 \x01(\x0b\x32).temporal.api.cloud.identity.v1.UserGroup\"q\n\x16\x43reateUserGroupRequest\x12;\n\x04spec\x18\x01 \x01(\x0b\x32-.temporal.api.cloud.identity.v1.UserGroupSpec\x12\x1a\n\x12\x61sync_operation_id\x18\x02 \x01(\t\"u\n\x17\x43reateUserGroupResponse\x12\x10\n\x08group_id\x18\x01 \x01(\t\x12H\n\x0f\x61sync_operation\x18\x02 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\x9d\x01\n\x16UpdateUserGroupRequest\x12\x10\n\x08group_id\x18\x01 \x01(\t\x12;\n\x04spec\x18\x02 \x01(\x0b\x32-.temporal.api.cloud.identity.v1.UserGroupSpec\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x04 \x01(\t\"c\n\x17UpdateUserGroupResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"`\n\x16\x44\x65leteUserGroupRequest\x12\x10\n\x08group_id\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x03 \x01(\t\"c\n\x17\x44\x65leteUserGroupResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\xc0\x01\n\"SetUserGroupNamespaceAccessRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x10\n\x08group_id\x18\x02 \x01(\t\x12?\n\x06\x61\x63\x63\x65ss\x18\x03 \x01(\x0b\x32/.temporal.api.cloud.identity.v1.NamespaceAccess\x12\x18\n\x10resource_version\x18\x04 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x05 \x01(\t\"o\n#SetUserGroupNamespaceAccessResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"{\n\x1b\x43reateServiceAccountRequest\x12@\n\x04spec\x18\x01 \x01(\x0b\x32\x32.temporal.api.cloud.identity.v1.ServiceAccountSpec\x12\x1a\n\x12\x61sync_operation_id\x18\x02 \x01(\t\"\x84\x01\n\x1c\x43reateServiceAccountResponse\x12\x1a\n\x12service_account_id\x18\x01 \x01(\t\x12H\n\x0f\x61sync_operation\x18\x02 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"6\n\x18GetServiceAccountRequest\x12\x1a\n\x12service_account_id\x18\x01 \x01(\t\"d\n\x19GetServiceAccountResponse\x12G\n\x0fservice_account\x18\x01 \x01(\x0b\x32..temporal.api.cloud.identity.v1.ServiceAccount\"B\n\x19GetServiceAccountsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"~\n\x1aGetServiceAccountsResponse\x12G\n\x0fservice_account\x18\x01 \x03(\x0b\x32..temporal.api.cloud.identity.v1.ServiceAccount\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xb1\x01\n\x1bUpdateServiceAccountRequest\x12\x1a\n\x12service_account_id\x18\x01 \x01(\t\x12@\n\x04spec\x18\x02 \x01(\x0b\x32\x32.temporal.api.cloud.identity.v1.ServiceAccountSpec\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x04 \x01(\t\"h\n\x1cUpdateServiceAccountResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"o\n\x1b\x44\x65leteServiceAccountRequest\x12\x1a\n\x12service_account_id\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x03 \x01(\t\"h\n\x1c\x44\x65leteServiceAccountResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperationB\xc8\x01\n%io.temporal.api.cloud.cloudservice.v1B\x14RequestResponseProtoP\x01Z5go.temporal.io/api/cloud/cloudservice/v1;cloudservice\xaa\x02$Temporalio.Api.Cloud.CloudService.V1\xea\x02(Temporalio::Api::Cloud::CloudService::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Cloud + module CloudService + module V1 + GetUsersRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUsersRequest").msgclass + GetUsersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUsersResponse").msgclass + GetUserRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserRequest").msgclass + GetUserResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserResponse").msgclass + CreateUserRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateUserRequest").msgclass + CreateUserResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateUserResponse").msgclass + UpdateUserRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateUserRequest").msgclass + UpdateUserResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateUserResponse").msgclass + DeleteUserRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteUserRequest").msgclass + DeleteUserResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteUserResponse").msgclass + SetUserNamespaceAccessRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessRequest").msgclass + SetUserNamespaceAccessResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse").msgclass + GetAsyncOperationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetAsyncOperationRequest").msgclass + GetAsyncOperationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse").msgclass + CreateNamespaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateNamespaceRequest").msgclass + CreateNamespaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateNamespaceResponse").msgclass + GetNamespacesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNamespacesRequest").msgclass + GetNamespacesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNamespacesResponse").msgclass + GetNamespaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNamespaceRequest").msgclass + GetNamespaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNamespaceResponse").msgclass + UpdateNamespaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateNamespaceRequest").msgclass + UpdateNamespaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateNamespaceResponse").msgclass + RenameCustomSearchAttributeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeRequest").msgclass + RenameCustomSearchAttributeResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeResponse").msgclass + DeleteNamespaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteNamespaceRequest").msgclass + DeleteNamespaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteNamespaceResponse").msgclass + FailoverNamespaceRegionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.FailoverNamespaceRegionRequest").msgclass + FailoverNamespaceRegionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.FailoverNamespaceRegionResponse").msgclass + AddNamespaceRegionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.AddNamespaceRegionRequest").msgclass + AddNamespaceRegionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.AddNamespaceRegionResponse").msgclass + GetRegionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetRegionsRequest").msgclass + GetRegionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetRegionsResponse").msgclass + GetRegionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetRegionRequest").msgclass + GetRegionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetRegionResponse").msgclass + GetApiKeysRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetApiKeysRequest").msgclass + GetApiKeysResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetApiKeysResponse").msgclass + GetApiKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetApiKeyRequest").msgclass + GetApiKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetApiKeyResponse").msgclass + CreateApiKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateApiKeyRequest").msgclass + CreateApiKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateApiKeyResponse").msgclass + UpdateApiKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateApiKeyRequest").msgclass + UpdateApiKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateApiKeyResponse").msgclass + DeleteApiKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteApiKeyRequest").msgclass + DeleteApiKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteApiKeyResponse").msgclass + GetUserGroupsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserGroupsRequest").msgclass + GetUserGroupsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserGroupsResponse").msgclass + GetUserGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserGroupRequest").msgclass + GetUserGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserGroupResponse").msgclass + CreateUserGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateUserGroupRequest").msgclass + CreateUserGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateUserGroupResponse").msgclass + UpdateUserGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateUserGroupRequest").msgclass + UpdateUserGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateUserGroupResponse").msgclass + DeleteUserGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteUserGroupRequest").msgclass + DeleteUserGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteUserGroupResponse").msgclass + SetUserGroupNamespaceAccessRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.SetUserGroupNamespaceAccessRequest").msgclass + SetUserGroupNamespaceAccessResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.SetUserGroupNamespaceAccessResponse").msgclass + CreateServiceAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateServiceAccountRequest").msgclass + CreateServiceAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateServiceAccountResponse").msgclass + GetServiceAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetServiceAccountRequest").msgclass + GetServiceAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetServiceAccountResponse").msgclass + GetServiceAccountsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetServiceAccountsRequest").msgclass + GetServiceAccountsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetServiceAccountsResponse").msgclass + UpdateServiceAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateServiceAccountRequest").msgclass + UpdateServiceAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateServiceAccountResponse").msgclass + DeleteServiceAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteServiceAccountRequest").msgclass + DeleteServiceAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteServiceAccountResponse").msgclass + end + end + end + end +end diff --git a/temporalio/lib/temporalio/api/cloud/cloudservice/v1/service.rb b/temporalio/lib/temporalio/api/cloud/cloudservice/v1/service.rb new file mode 100644 index 00000000..55cf6e00 --- /dev/null +++ b/temporalio/lib/temporalio/api/cloud/cloudservice/v1/service.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/cloud/cloudservice/v1/service.proto + +require 'google/protobuf' + +require 'temporalio/api/cloud/cloudservice/v1/request_response' +require 'google/api/annotations_pb' + + +descriptor_data = "\n0temporal/api/cloud/cloudservice/v1/service.proto\x12\"temporal.api.cloud.cloudservice.v1\x1a\x39temporal/api/cloud/cloudservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto2\xce.\n\x0c\x43loudService\x12\x8b\x01\n\x08GetUsers\x12\x33.temporal.api.cloud.cloudservice.v1.GetUsersRequest\x1a\x34.temporal.api.cloud.cloudservice.v1.GetUsersResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/cloud/users\x12\x92\x01\n\x07GetUser\x12\x32.temporal.api.cloud.cloudservice.v1.GetUserRequest\x1a\x33.temporal.api.cloud.cloudservice.v1.GetUserResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/cloud/users/{user_id}\x12\x94\x01\n\nCreateUser\x12\x35.temporal.api.cloud.cloudservice.v1.CreateUserRequest\x1a\x36.temporal.api.cloud.cloudservice.v1.CreateUserResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/cloud/users:\x01*\x12\x9e\x01\n\nUpdateUser\x12\x35.temporal.api.cloud.cloudservice.v1.UpdateUserRequest\x1a\x36.temporal.api.cloud.cloudservice.v1.UpdateUserResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/cloud/users/{user_id}:\x01*\x12\x9b\x01\n\nDeleteUser\x12\x35.temporal.api.cloud.cloudservice.v1.DeleteUserRequest\x1a\x36.temporal.api.cloud.cloudservice.v1.DeleteUserResponse\"\x1e\x82\xd3\xe4\x93\x02\x18*\x16/cloud/users/{user_id}\x12\xe0\x01\n\x16SetUserNamespaceAccess\x12\x41.temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessRequest\x1a\x42.temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse\"?\x82\xd3\xe4\x93\x02\x39\"4/cloud/namespaces/{namespace}/users/{user_id}/access:\x01*\x12\xc0\x01\n\x11GetAsyncOperation\x12<.temporal.api.cloud.cloudservice.v1.GetAsyncOperationRequest\x1a=.temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse\".\x82\xd3\xe4\x93\x02(\x12&/cloud/operations/{async_operation_id}\x12\xa8\x01\n\x0f\x43reateNamespace\x12:.temporal.api.cloud.cloudservice.v1.CreateNamespaceRequest\x1a;.temporal.api.cloud.cloudservice.v1.CreateNamespaceResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/cloud/namespaces:\x01*\x12\x9f\x01\n\rGetNamespaces\x12\x38.temporal.api.cloud.cloudservice.v1.GetNamespacesRequest\x1a\x39.temporal.api.cloud.cloudservice.v1.GetNamespacesResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/cloud/namespaces\x12\xa8\x01\n\x0cGetNamespace\x12\x37.temporal.api.cloud.cloudservice.v1.GetNamespaceRequest\x1a\x38.temporal.api.cloud.cloudservice.v1.GetNamespaceResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/cloud/namespaces/{namespace}\x12\xb4\x01\n\x0fUpdateNamespace\x12:.temporal.api.cloud.cloudservice.v1.UpdateNamespaceRequest\x1a;.temporal.api.cloud.cloudservice.v1.UpdateNamespaceResponse\"(\x82\xd3\xe4\x93\x02\"\"\x1d/cloud/namespaces/{namespace}:\x01*\x12\xf7\x01\n\x1bRenameCustomSearchAttribute\x12\x46.temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeRequest\x1aG.temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeResponse\"G\x82\xd3\xe4\x93\x02\x41\".temporal.api.cloud.cloudservice.v1.AddNamespaceRegionResponse\"3\x82\xd3\xe4\x93\x02-\"(/cloud/namespaces/{namespace}/add-region:\x01*\x12\x93\x01\n\nGetRegions\x12\x35.temporal.api.cloud.cloudservice.v1.GetRegionsRequest\x1a\x36.temporal.api.cloud.cloudservice.v1.GetRegionsResponse\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/cloud/regions\x12\x99\x01\n\tGetRegion\x12\x34.temporal.api.cloud.cloudservice.v1.GetRegionRequest\x1a\x35.temporal.api.cloud.cloudservice.v1.GetRegionResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/cloud/regions/{region}\x12\x94\x01\n\nGetApiKeys\x12\x35.temporal.api.cloud.cloudservice.v1.GetApiKeysRequest\x1a\x36.temporal.api.cloud.cloudservice.v1.GetApiKeysResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/cloud/api-keys\x12\x9a\x01\n\tGetApiKey\x12\x34.temporal.api.cloud.cloudservice.v1.GetApiKeyRequest\x1a\x35.temporal.api.cloud.cloudservice.v1.GetApiKeyResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/cloud/api-keys/{key_id}\x12\x9d\x01\n\x0c\x43reateApiKey\x12\x37.temporal.api.cloud.cloudservice.v1.CreateApiKeyRequest\x1a\x38.temporal.api.cloud.cloudservice.v1.CreateApiKeyResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\"\x0f/cloud/api-keys:\x01*\x12\xa6\x01\n\x0cUpdateApiKey\x12\x37.temporal.api.cloud.cloudservice.v1.UpdateApiKeyRequest\x1a\x38.temporal.api.cloud.cloudservice.v1.UpdateApiKeyResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/cloud/api-keys/{key_id}:\x01*\x12\xa3\x01\n\x0c\x44\x65leteApiKey\x12\x37.temporal.api.cloud.cloudservice.v1.DeleteApiKeyRequest\x1a\x38.temporal.api.cloud.cloudservice.v1.DeleteApiKeyResponse\" \x82\xd3\xe4\x93\x02\x1a*\x18/cloud/api-keys/{key_id}\x12\xa0\x01\n\rGetUserGroups\x12\x38.temporal.api.cloud.cloudservice.v1.GetUserGroupsRequest\x1a\x39.temporal.api.cloud.cloudservice.v1.GetUserGroupsResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/cloud/user-groups\x12\xa8\x01\n\x0cGetUserGroup\x12\x37.temporal.api.cloud.cloudservice.v1.GetUserGroupRequest\x1a\x38.temporal.api.cloud.cloudservice.v1.GetUserGroupResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/cloud/user-groups/{group_id}\x12\xa9\x01\n\x0f\x43reateUserGroup\x12:.temporal.api.cloud.cloudservice.v1.CreateUserGroupRequest\x1a;.temporal.api.cloud.cloudservice.v1.CreateUserGroupResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\"\x12/cloud/user-groups:\x01*\x12\xb4\x01\n\x0fUpdateUserGroup\x12:.temporal.api.cloud.cloudservice.v1.UpdateUserGroupRequest\x1a;.temporal.api.cloud.cloudservice.v1.UpdateUserGroupResponse\"(\x82\xd3\xe4\x93\x02\"\"\x1d/cloud/user-groups/{group_id}:\x01*\x12\xb1\x01\n\x0f\x44\x65leteUserGroup\x12:.temporal.api.cloud.cloudservice.v1.DeleteUserGroupRequest\x1a;.temporal.api.cloud.cloudservice.v1.DeleteUserGroupResponse\"%\x82\xd3\xe4\x93\x02\x1f*\x1d/cloud/user-groups/{group_id}\x12\xf6\x01\n\x1bSetUserGroupNamespaceAccess\x12\x46.temporal.api.cloud.cloudservice.v1.SetUserGroupNamespaceAccessRequest\x1aG.temporal.api.cloud.cloudservice.v1.SetUserGroupNamespaceAccessResponse\"F\x82\xd3\xe4\x93\x02@\";/cloud/namespaces/{namespace}/user-groups/{group_id}/access:\x01*\x12\xbd\x01\n\x14\x43reateServiceAccount\x12?.temporal.api.cloud.cloudservice.v1.CreateServiceAccountRequest\x1a@.temporal.api.cloud.cloudservice.v1.CreateServiceAccountResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/cloud/service-accounts:\x01*\x12\xc6\x01\n\x11GetServiceAccount\x12<.temporal.api.cloud.cloudservice.v1.GetServiceAccountRequest\x1a=.temporal.api.cloud.cloudservice.v1.GetServiceAccountResponse\"4\x82\xd3\xe4\x93\x02.\x12,/cloud/service-accounts/{service_account_id}\x12\xb4\x01\n\x12GetServiceAccounts\x12=.temporal.api.cloud.cloudservice.v1.GetServiceAccountsRequest\x1a>.temporal.api.cloud.cloudservice.v1.GetServiceAccountsResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/cloud/service-accounts\x12\xd2\x01\n\x14UpdateServiceAccount\x12?.temporal.api.cloud.cloudservice.v1.UpdateServiceAccountRequest\x1a@.temporal.api.cloud.cloudservice.v1.UpdateServiceAccountResponse\"7\x82\xd3\xe4\x93\x02\x31\",/cloud/service-accounts/{service_account_id}:\x01*\x12\xcf\x01\n\x14\x44\x65leteServiceAccount\x12?.temporal.api.cloud.cloudservice.v1.DeleteServiceAccountRequest\x1a@.temporal.api.cloud.cloudservice.v1.DeleteServiceAccountResponse\"4\x82\xd3\xe4\x93\x02.*,/cloud/service-accounts/{service_account_id}B\xc0\x01\n%io.temporal.api.cloud.cloudservice.v1B\x0cServiceProtoP\x01Z5go.temporal.io/api/cloud/cloudservice/v1;cloudservice\xaa\x02$Temporalio.Api.Cloud.CloudService.V1\xea\x02(Temporalio::Api::Cloud::CloudService::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Cloud + module CloudService + module V1 + end + end + end + end +end diff --git a/temporalio/lib/temporalio/api/cloud/identity/v1/message.rb b/temporalio/lib/temporalio/api/cloud/identity/v1/message.rb new file mode 100644 index 00000000..50357f1c --- /dev/null +++ b/temporalio/lib/temporalio/api/cloud/identity/v1/message.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/cloud/identity/v1/message.proto + +require 'google/protobuf' + +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n,temporal/api/cloud/identity/v1/message.proto\x12\x1etemporal.api.cloud.identity.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x1d\n\rAccountAccess\x12\x0c\n\x04role\x18\x01 \x01(\t\"%\n\x0fNamespaceAccess\x12\x12\n\npermission\x18\x01 \x01(\t\"\x95\x02\n\x06\x41\x63\x63\x65ss\x12\x45\n\x0e\x61\x63\x63ount_access\x18\x01 \x01(\x0b\x32-.temporal.api.cloud.identity.v1.AccountAccess\x12Y\n\x12namespace_accesses\x18\x02 \x03(\x0b\x32=.temporal.api.cloud.identity.v1.Access.NamespaceAccessesEntry\x1ai\n\x16NamespaceAccessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12>\n\x05value\x18\x02 \x01(\x0b\x32/.temporal.api.cloud.identity.v1.NamespaceAccess:\x02\x38\x01\"Q\n\x08UserSpec\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x36\n\x06\x61\x63\x63\x65ss\x18\x02 \x01(\x0b\x32&.temporal.api.cloud.identity.v1.Access\"p\n\nInvitation\x12\x30\n\x0c\x63reated_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x65xpired_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xb9\x02\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12\x36\n\x04spec\x18\x03 \x01(\x0b\x32(.temporal.api.cloud.identity.v1.UserSpec\x12\r\n\x05state\x18\x04 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x05 \x01(\t\x12>\n\ninvitation\x18\x06 \x01(\x0b\x32*.temporal.api.cloud.identity.v1.Invitation\x12\x30\n\x0c\x63reated_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12last_modified_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"U\n\rUserGroupSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x06\x61\x63\x63\x65ss\x18\x02 \x01(\x0b\x32&.temporal.api.cloud.identity.v1.Access\"\x83\x02\n\tUserGroup\x12\n\n\x02id\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12;\n\x04spec\x18\x03 \x01(\x0b\x32-.temporal.api.cloud.identity.v1.UserGroupSpec\x12\r\n\x05state\x18\x04 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x05 \x01(\t\x12\x30\n\x0c\x63reated_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12last_modified_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x8d\x02\n\x0eServiceAccount\x12\n\n\x02id\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12@\n\x04spec\x18\x03 \x01(\x0b\x32\x32.temporal.api.cloud.identity.v1.ServiceAccountSpec\x12\r\n\x05state\x18\x04 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x05 \x01(\t\x12\x30\n\x0c\x63reated_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12last_modified_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"o\n\x12ServiceAccountSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x06\x61\x63\x63\x65ss\x18\x02 \x01(\x0b\x32&.temporal.api.cloud.identity.v1.Access\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"\xfd\x01\n\x06\x41piKey\x12\n\n\x02id\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12\x38\n\x04spec\x18\x03 \x01(\x0b\x32*.temporal.api.cloud.identity.v1.ApiKeySpec\x12\r\n\x05state\x18\x04 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x05 \x01(\t\x12\x30\n\x0c\x63reated_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12last_modified_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa0\x01\n\nApiKeySpec\x12\x10\n\x08owner_id\x18\x01 \x01(\t\x12\x12\n\nowner_type\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12/\n\x0b\x65xpiry_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64isabled\x18\x06 \x01(\x08\x42\xac\x01\n!io.temporal.api.cloud.identity.v1B\x0cMessageProtoP\x01Z-go.temporal.io/api/cloud/identity/v1;identity\xaa\x02 Temporalio.Api.Cloud.Identity.V1\xea\x02$Temporalio::Api::Cloud::Identity::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Cloud + module Identity + module V1 + AccountAccess = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.AccountAccess").msgclass + NamespaceAccess = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.NamespaceAccess").msgclass + Access = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.Access").msgclass + UserSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.UserSpec").msgclass + Invitation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.Invitation").msgclass + User = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.User").msgclass + UserGroupSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.UserGroupSpec").msgclass + UserGroup = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.UserGroup").msgclass + ServiceAccount = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.ServiceAccount").msgclass + ServiceAccountSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.ServiceAccountSpec").msgclass + ApiKey = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.ApiKey").msgclass + ApiKeySpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.identity.v1.ApiKeySpec").msgclass + end + end + end + end +end diff --git a/temporalio/lib/temporalio/api/cloud/namespace/v1/message.rb b/temporalio/lib/temporalio/api/cloud/namespace/v1/message.rb new file mode 100644 index 00000000..20ff483f --- /dev/null +++ b/temporalio/lib/temporalio/api/cloud/namespace/v1/message.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/cloud/namespace/v1/message.proto + +require 'google/protobuf' + +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n-temporal/api/cloud/namespace/v1/message.proto\x12\x1ftemporal.api.cloud.namespace.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x01\n\x15\x43\x65rtificateFilterSpec\x12\x13\n\x0b\x63ommon_name\x18\x01 \x01(\t\x12\x14\n\x0corganization\x18\x02 \x01(\t\x12\x1b\n\x13organizational_unit\x18\x03 \x01(\t\x12 \n\x18subject_alternative_name\x18\x04 \x01(\t\"\x90\x01\n\x0cMtlsAuthSpec\x12\x1a\n\x12\x61\x63\x63\x65pted_client_ca\x18\x01 \x01(\t\x12S\n\x13\x63\x65rtificate_filters\x18\x02 \x03(\x0b\x32\x36.temporal.api.cloud.namespace.v1.CertificateFilterSpec\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\"!\n\x0e\x41piKeyAuthSpec\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\"h\n\x0f\x43odecServerSpec\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x19\n\x11pass_access_token\x18\x02 \x01(\x08\x12(\n include_cross_origin_credentials\x18\x03 \x01(\x08\"\xc4\x03\n\rNamespaceSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07regions\x18\x02 \x03(\t\x12\x16\n\x0eretention_days\x18\x03 \x01(\x05\x12@\n\tmtls_auth\x18\x04 \x01(\x0b\x32-.temporal.api.cloud.namespace.v1.MtlsAuthSpec\x12\x45\n\x0c\x61pi_key_auth\x18\x07 \x01(\x0b\x32/.temporal.api.cloud.namespace.v1.ApiKeyAuthSpec\x12l\n\x18\x63ustom_search_attributes\x18\x05 \x03(\x0b\x32J.temporal.api.cloud.namespace.v1.NamespaceSpec.CustomSearchAttributesEntry\x12\x46\n\x0c\x63odec_server\x18\x06 \x01(\x0b\x32\x30.temporal.api.cloud.namespace.v1.CodecServerSpec\x1a=\n\x1b\x43ustomSearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Q\n\tEndpoints\x12\x13\n\x0bweb_address\x18\x01 \x01(\t\x12\x19\n\x11mtls_grpc_address\x18\x02 \x01(\t\x12\x14\n\x0cgrpc_address\x18\x03 \x01(\t\"*\n\x06Limits\x12 \n\x18\x61\x63tions_per_second_limit\x18\x01 \x01(\x05\"X\n\x12\x41WSPrivateLinkInfo\x12\x1e\n\x16\x61llowed_principal_arns\x18\x01 \x03(\t\x12\"\n\x1avpc_endpoint_service_names\x18\x02 \x03(\t\"t\n\x13PrivateConnectivity\x12\x0e\n\x06region\x18\x01 \x01(\t\x12M\n\x10\x61ws_private_link\x18\x02 \x01(\x0b\x32\x33.temporal.api.cloud.namespace.v1.AWSPrivateLinkInfo\"\xb2\x05\n\tNamespace\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12<\n\x04spec\x18\x03 \x01(\x0b\x32..temporal.api.cloud.namespace.v1.NamespaceSpec\x12\r\n\x05state\x18\x04 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x05 \x01(\t\x12=\n\tendpoints\x18\x06 \x01(\x0b\x32*.temporal.api.cloud.namespace.v1.Endpoints\x12\x15\n\ractive_region\x18\x07 \x01(\t\x12\x37\n\x06limits\x18\x08 \x01(\x0b\x32\'.temporal.api.cloud.namespace.v1.Limits\x12T\n\x16private_connectivities\x18\t \x03(\x0b\x32\x34.temporal.api.cloud.namespace.v1.PrivateConnectivity\x12\x30\n\x0c\x63reated_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12last_modified_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12S\n\rregion_status\x18\x0c \x03(\x0b\x32<.temporal.api.cloud.namespace.v1.Namespace.RegionStatusEntry\x1ak\n\x11RegionStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x45\n\x05value\x18\x02 \x01(\x0b\x32\x36.temporal.api.cloud.namespace.v1.NamespaceRegionStatus:\x02\x38\x01\"B\n\x15NamespaceRegionStatus\x12\r\n\x05state\x18\x01 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x02 \x01(\tB\xb1\x01\n\"io.temporal.api.cloud.namespace.v1B\x0cMessageProtoP\x01Z/go.temporal.io/api/cloud/namespace/v1;namespace\xaa\x02!Temporalio.Api.Cloud.Namespace.V1\xea\x02%Temporalio::Api::Cloud::Namespace::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Cloud + module Namespace + module V1 + CertificateFilterSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.CertificateFilterSpec").msgclass + MtlsAuthSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.MtlsAuthSpec").msgclass + ApiKeyAuthSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.ApiKeyAuthSpec").msgclass + CodecServerSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.CodecServerSpec").msgclass + NamespaceSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.NamespaceSpec").msgclass + Endpoints = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.Endpoints").msgclass + Limits = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.Limits").msgclass + AWSPrivateLinkInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.AWSPrivateLinkInfo").msgclass + PrivateConnectivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.PrivateConnectivity").msgclass + Namespace = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.Namespace").msgclass + NamespaceRegionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.namespace.v1.NamespaceRegionStatus").msgclass + end + end + end + end +end diff --git a/temporalio/lib/temporalio/api/cloud/operation/v1/message.rb b/temporalio/lib/temporalio/api/cloud/operation/v1/message.rb new file mode 100644 index 00000000..d380cf4b --- /dev/null +++ b/temporalio/lib/temporalio/api/cloud/operation/v1/message.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/cloud/operation/v1/message.proto + +require 'google/protobuf' + +require 'google/protobuf/duration_pb' +require 'google/protobuf/timestamp_pb' +require 'google/protobuf/any_pb' + + +descriptor_data = "\n-temporal/api/cloud/operation/v1/message.proto\x12\x1ftemporal.api.cloud.operation.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19google/protobuf/any.proto\"\xa2\x02\n\x0e\x41syncOperation\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\t\x12\x31\n\x0e\x63heck_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x16\n\x0eoperation_type\x18\x04 \x01(\t\x12-\n\x0foperation_input\x18\x05 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x16\n\x0e\x66\x61ilure_reason\x18\x06 \x01(\t\x12\x30\n\x0cstarted_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rfinished_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xb1\x01\n\"io.temporal.api.cloud.operation.v1B\x0cMessageProtoP\x01Z/go.temporal.io/api/cloud/operation/v1;operation\xaa\x02!Temporalio.Api.Cloud.Operation.V1\xea\x02%Temporalio::Api::Cloud::Operation::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Cloud + module Operation + module V1 + AsyncOperation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.operation.v1.AsyncOperation").msgclass + end + end + end + end +end diff --git a/temporalio/lib/temporalio/api/cloud/region/v1/message.rb b/temporalio/lib/temporalio/api/cloud/region/v1/message.rb new file mode 100644 index 00000000..dad209d9 --- /dev/null +++ b/temporalio/lib/temporalio/api/cloud/region/v1/message.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/cloud/region/v1/message.proto + +require 'google/protobuf' + + +descriptor_data = "\n*temporal/api/cloud/region/v1/message.proto\x12\x1ctemporal.api.cloud.region.v1\"]\n\x06Region\x12\n\n\x02id\x18\x01 \x01(\t\x12\x16\n\x0e\x63loud_provider\x18\x02 \x01(\t\x12\x1d\n\x15\x63loud_provider_region\x18\x03 \x01(\t\x12\x10\n\x08location\x18\x04 \x01(\tB\xa2\x01\n\x1fio.temporal.api.cloud.region.v1B\x0cMessageProtoP\x01Z)go.temporal.io/api/cloud/region/v1;region\xaa\x02\x1eTemporalio.Api.Cloud.Region.V1\xea\x02\"Temporalio::Api::Cloud::Region::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Cloud + module Region + module V1 + Region = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.region.v1.Region").msgclass + end + end + end + end +end diff --git a/temporalio/lib/temporalio/api/command/v1/message.rb b/temporalio/lib/temporalio/api/command/v1/message.rb index 7b0446f1..8375c3d9 100644 --- a/temporalio/lib/temporalio/api/command/v1/message.rb +++ b/temporalio/lib/temporalio/api/command/v1/message.rb @@ -10,9 +10,10 @@ require 'temporalio/api/common/v1/message' require 'temporalio/api/failure/v1/message' require 'temporalio/api/taskqueue/v1/message' +require 'temporalio/api/sdk/v1/user_metadata' -descriptor_data = "\n%temporal/api/command/v1/message.proto\x12\x17temporal.api.command.v1\x1a\x1egoogle/protobuf/duration.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a(temporal/api/enums/v1/command_type.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a\'temporal/api/taskqueue/v1/message.proto\"\x83\x05\n%ScheduleActivityTaskCommandAttributes\x12\x13\n\x0b\x61\x63tivity_id\x18\x01 \x01(\t\x12;\n\ractivity_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.ActivityType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12.\n\x06header\x18\x05 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12/\n\x05input\x18\x06 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12<\n\x19schedule_to_close_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0b \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x1f\n\x17request_eager_execution\x18\x0c \x01(\x08\x12\x1e\n\x16use_compatible_version\x18\r \x01(\x08J\x04\x08\x03\x10\x04\"H\n*RequestCancelActivityTaskCommandAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\"i\n\x1bStartTimerCommandAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\x12\x38\n\x15start_to_fire_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"^\n*CompleteWorkflowExecutionCommandAttributes\x12\x30\n\x06result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\"[\n&FailWorkflowExecutionCommandAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"0\n\x1c\x43\x61ncelTimerCommandAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\"]\n(CancelWorkflowExecutionCommandAttributes\x12\x31\n\x07\x64\x65tails\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\"\xaf\x01\n7RequestCancelExternalWorkflowExecutionCommandAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07\x63ontrol\x18\x04 \x01(\t\x12\x1b\n\x13\x63hild_workflow_only\x18\x05 \x01(\x08\x12\x0e\n\x06reason\x18\x06 \x01(\t\"\xa7\x02\n0SignalExternalWorkflowExecutionCommandAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12/\n\x05input\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x0f\n\x07\x63ontrol\x18\x05 \x01(\t\x12\x1b\n\x13\x63hild_workflow_only\x18\x06 \x01(\x08\x12.\n\x06header\x18\x07 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\"v\n/UpsertWorkflowSearchAttributesCommandAttributes\x12\x43\n\x11search_attributes\x18\x01 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\"`\n)ModifyWorkflowPropertiesCommandAttributes\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"\xbf\x02\n\x1dRecordMarkerCommandAttributes\x12\x13\n\x0bmarker_name\x18\x01 \x01(\t\x12T\n\x07\x64\x65tails\x18\x02 \x03(\x0b\x32\x43.temporal.api.command.v1.RecordMarkerCommandAttributes.DetailsEntry\x12.\n\x06header\x18\x03 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x31\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x1aP\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads:\x02\x38\x01\"\xd1\x06\n/ContinueAsNewWorkflowExecutionCommandAttributes\x12;\n\rworkflow_type\x18\x01 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x03 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16\x62\x61\x63koff_start_interval\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x07 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12@\n\tinitiator\x18\x08 \x01(\x0e\x32-.temporal.api.enums.v1.ContinueAsNewInitiator\x12\x31\n\x07\x66\x61ilure\x18\t \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12@\n\x16last_completion_result\x18\n \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x15\n\rcron_schedule\x18\x0b \x01(\t\x12.\n\x06header\x18\x0c \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12*\n\x04memo\x18\r \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0e \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x1e\n\x16use_compatible_version\x18\x0f \x01(\x08\"\xeb\x06\n,StartChildWorkflowExecutionCommandAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x45\n\x13parent_close_policy\x18\t \x01(\x0e\x32(.temporal.api.enums.v1.ParentClosePolicy\x12\x0f\n\x07\x63ontrol\x18\n \x01(\t\x12N\n\x18workflow_id_reuse_policy\x18\x0b \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\r \x01(\t\x12.\n\x06header\x18\x0e \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12*\n\x04memo\x18\x0f \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x10 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x1e\n\x16use_compatible_version\x18\x11 \x01(\x08\"6\n ProtocolMessageCommandAttributes\x12\x12\n\nmessage_id\x18\x01 \x01(\t\"\x89\x0f\n\x07\x43ommand\x12\x38\n\x0c\x63ommand_type\x18\x01 \x01(\x0e\x32\".temporal.api.enums.v1.CommandType\x12s\n)schedule_activity_task_command_attributes\x18\x02 \x01(\x0b\x32>.temporal.api.command.v1.ScheduleActivityTaskCommandAttributesH\x00\x12^\n\x1estart_timer_command_attributes\x18\x03 \x01(\x0b\x32\x34.temporal.api.command.v1.StartTimerCommandAttributesH\x00\x12}\n.complete_workflow_execution_command_attributes\x18\x04 \x01(\x0b\x32\x43.temporal.api.command.v1.CompleteWorkflowExecutionCommandAttributesH\x00\x12u\n*fail_workflow_execution_command_attributes\x18\x05 \x01(\x0b\x32?.temporal.api.command.v1.FailWorkflowExecutionCommandAttributesH\x00\x12~\n/request_cancel_activity_task_command_attributes\x18\x06 \x01(\x0b\x32\x43.temporal.api.command.v1.RequestCancelActivityTaskCommandAttributesH\x00\x12`\n\x1f\x63\x61ncel_timer_command_attributes\x18\x07 \x01(\x0b\x32\x35.temporal.api.command.v1.CancelTimerCommandAttributesH\x00\x12y\n,cancel_workflow_execution_command_attributes\x18\x08 \x01(\x0b\x32\x41.temporal.api.command.v1.CancelWorkflowExecutionCommandAttributesH\x00\x12\x99\x01\n=request_cancel_external_workflow_execution_command_attributes\x18\t \x01(\x0b\x32P.temporal.api.command.v1.RequestCancelExternalWorkflowExecutionCommandAttributesH\x00\x12\x62\n record_marker_command_attributes\x18\n \x01(\x0b\x32\x36.temporal.api.command.v1.RecordMarkerCommandAttributesH\x00\x12\x89\x01\n5continue_as_new_workflow_execution_command_attributes\x18\x0b \x01(\x0b\x32H.temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributesH\x00\x12\x82\x01\n1start_child_workflow_execution_command_attributes\x18\x0c \x01(\x0b\x32\x45.temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributesH\x00\x12\x8a\x01\n5signal_external_workflow_execution_command_attributes\x18\r \x01(\x0b\x32I.temporal.api.command.v1.SignalExternalWorkflowExecutionCommandAttributesH\x00\x12\x88\x01\n4upsert_workflow_search_attributes_command_attributes\x18\x0e \x01(\x0b\x32H.temporal.api.command.v1.UpsertWorkflowSearchAttributesCommandAttributesH\x00\x12h\n#protocol_message_command_attributes\x18\x0f \x01(\x0b\x32\x39.temporal.api.command.v1.ProtocolMessageCommandAttributesH\x00\x12{\n-modify_workflow_properties_command_attributes\x18\x11 \x01(\x0b\x32\x42.temporal.api.command.v1.ModifyWorkflowPropertiesCommandAttributesH\x00\x42\x0c\n\nattributesB\x8e\x01\n\x1aio.temporal.api.command.v1B\x0cMessageProtoP\x01Z%go.temporal.io/api/command/v1;command\xaa\x02\x19Temporalio.Api.Command.V1\xea\x02\x1cTemporalio::Api::Command::V1b\x06proto3" +descriptor_data = "\n%temporal/api/command/v1/message.proto\x12\x17temporal.api.command.v1\x1a\x1egoogle/protobuf/duration.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a(temporal/api/enums/v1/command_type.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a\'temporal/api/taskqueue/v1/message.proto\x1a\'temporal/api/sdk/v1/user_metadata.proto\"\x82\x05\n%ScheduleActivityTaskCommandAttributes\x12\x13\n\x0b\x61\x63tivity_id\x18\x01 \x01(\t\x12;\n\ractivity_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.ActivityType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12.\n\x06header\x18\x05 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12/\n\x05input\x18\x06 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12<\n\x19schedule_to_close_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0b \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x1f\n\x17request_eager_execution\x18\x0c \x01(\x08\x12\x1d\n\x15use_workflow_build_id\x18\r \x01(\x08J\x04\x08\x03\x10\x04\"H\n*RequestCancelActivityTaskCommandAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\"i\n\x1bStartTimerCommandAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\x12\x38\n\x15start_to_fire_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"^\n*CompleteWorkflowExecutionCommandAttributes\x12\x30\n\x06result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\"[\n&FailWorkflowExecutionCommandAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"0\n\x1c\x43\x61ncelTimerCommandAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\"]\n(CancelWorkflowExecutionCommandAttributes\x12\x31\n\x07\x64\x65tails\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\"\xaf\x01\n7RequestCancelExternalWorkflowExecutionCommandAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07\x63ontrol\x18\x04 \x01(\t\x12\x1b\n\x13\x63hild_workflow_only\x18\x05 \x01(\x08\x12\x0e\n\x06reason\x18\x06 \x01(\t\"\xa7\x02\n0SignalExternalWorkflowExecutionCommandAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12/\n\x05input\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x0f\n\x07\x63ontrol\x18\x05 \x01(\t\x12\x1b\n\x13\x63hild_workflow_only\x18\x06 \x01(\x08\x12.\n\x06header\x18\x07 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\"v\n/UpsertWorkflowSearchAttributesCommandAttributes\x12\x43\n\x11search_attributes\x18\x01 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\"`\n)ModifyWorkflowPropertiesCommandAttributes\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"\xbf\x02\n\x1dRecordMarkerCommandAttributes\x12\x13\n\x0bmarker_name\x18\x01 \x01(\t\x12T\n\x07\x64\x65tails\x18\x02 \x03(\x0b\x32\x43.temporal.api.command.v1.RecordMarkerCommandAttributes.DetailsEntry\x12.\n\x06header\x18\x03 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x31\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x1aP\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads:\x02\x38\x01\"\xcb\x06\n/ContinueAsNewWorkflowExecutionCommandAttributes\x12;\n\rworkflow_type\x18\x01 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x03 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16\x62\x61\x63koff_start_interval\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x07 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12@\n\tinitiator\x18\x08 \x01(\x0e\x32-.temporal.api.enums.v1.ContinueAsNewInitiator\x12\x31\n\x07\x66\x61ilure\x18\t \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12@\n\x16last_completion_result\x18\n \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x15\n\rcron_schedule\x18\x0b \x01(\t\x12.\n\x06header\x18\x0c \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12*\n\x04memo\x18\r \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0e \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x18\n\x10inherit_build_id\x18\x0f \x01(\x08\"\xe5\x06\n,StartChildWorkflowExecutionCommandAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x45\n\x13parent_close_policy\x18\t \x01(\x0e\x32(.temporal.api.enums.v1.ParentClosePolicy\x12\x0f\n\x07\x63ontrol\x18\n \x01(\t\x12N\n\x18workflow_id_reuse_policy\x18\x0b \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\r \x01(\t\x12.\n\x06header\x18\x0e \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12*\n\x04memo\x18\x0f \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x10 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x18\n\x10inherit_build_id\x18\x11 \x01(\x08\"6\n ProtocolMessageCommandAttributes\x12\x12\n\nmessage_id\x18\x01 \x01(\t\"\xea\x02\n\'ScheduleNexusOperationCommandAttributes\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x0f\n\x07service\x18\x02 \x01(\t\x12\x11\n\toperation\x18\x03 \x01(\t\x12.\n\x05input\x18\x04 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12g\n\x0cnexus_header\x18\x06 \x03(\x0b\x32Q.temporal.api.command.v1.ScheduleNexusOperationCommandAttributes.NexusHeaderEntry\x1a\x32\n\x10NexusHeaderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"J\n,RequestCancelNexusOperationCommandAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\"\xc2\x11\n\x07\x43ommand\x12\x38\n\x0c\x63ommand_type\x18\x01 \x01(\x0e\x32\".temporal.api.enums.v1.CommandType\x12\x39\n\ruser_metadata\x18\xad\x02 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\x12s\n)schedule_activity_task_command_attributes\x18\x02 \x01(\x0b\x32>.temporal.api.command.v1.ScheduleActivityTaskCommandAttributesH\x00\x12^\n\x1estart_timer_command_attributes\x18\x03 \x01(\x0b\x32\x34.temporal.api.command.v1.StartTimerCommandAttributesH\x00\x12}\n.complete_workflow_execution_command_attributes\x18\x04 \x01(\x0b\x32\x43.temporal.api.command.v1.CompleteWorkflowExecutionCommandAttributesH\x00\x12u\n*fail_workflow_execution_command_attributes\x18\x05 \x01(\x0b\x32?.temporal.api.command.v1.FailWorkflowExecutionCommandAttributesH\x00\x12~\n/request_cancel_activity_task_command_attributes\x18\x06 \x01(\x0b\x32\x43.temporal.api.command.v1.RequestCancelActivityTaskCommandAttributesH\x00\x12`\n\x1f\x63\x61ncel_timer_command_attributes\x18\x07 \x01(\x0b\x32\x35.temporal.api.command.v1.CancelTimerCommandAttributesH\x00\x12y\n,cancel_workflow_execution_command_attributes\x18\x08 \x01(\x0b\x32\x41.temporal.api.command.v1.CancelWorkflowExecutionCommandAttributesH\x00\x12\x99\x01\n=request_cancel_external_workflow_execution_command_attributes\x18\t \x01(\x0b\x32P.temporal.api.command.v1.RequestCancelExternalWorkflowExecutionCommandAttributesH\x00\x12\x62\n record_marker_command_attributes\x18\n \x01(\x0b\x32\x36.temporal.api.command.v1.RecordMarkerCommandAttributesH\x00\x12\x89\x01\n5continue_as_new_workflow_execution_command_attributes\x18\x0b \x01(\x0b\x32H.temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributesH\x00\x12\x82\x01\n1start_child_workflow_execution_command_attributes\x18\x0c \x01(\x0b\x32\x45.temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributesH\x00\x12\x8a\x01\n5signal_external_workflow_execution_command_attributes\x18\r \x01(\x0b\x32I.temporal.api.command.v1.SignalExternalWorkflowExecutionCommandAttributesH\x00\x12\x88\x01\n4upsert_workflow_search_attributes_command_attributes\x18\x0e \x01(\x0b\x32H.temporal.api.command.v1.UpsertWorkflowSearchAttributesCommandAttributesH\x00\x12h\n#protocol_message_command_attributes\x18\x0f \x01(\x0b\x32\x39.temporal.api.command.v1.ProtocolMessageCommandAttributesH\x00\x12{\n-modify_workflow_properties_command_attributes\x18\x11 \x01(\x0b\x32\x42.temporal.api.command.v1.ModifyWorkflowPropertiesCommandAttributesH\x00\x12w\n+schedule_nexus_operation_command_attributes\x18\x12 \x01(\x0b\x32@.temporal.api.command.v1.ScheduleNexusOperationCommandAttributesH\x00\x12\x82\x01\n1request_cancel_nexus_operation_command_attributes\x18\x13 \x01(\x0b\x32\x45.temporal.api.command.v1.RequestCancelNexusOperationCommandAttributesH\x00\x42\x0c\n\nattributesB\x8e\x01\n\x1aio.temporal.api.command.v1B\x0cMessageProtoP\x01Z%go.temporal.io/api/command/v1;command\xaa\x02\x19Temporalio.Api.Command.V1\xea\x02\x1cTemporalio::Api::Command::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -36,6 +37,8 @@ module V1 ContinueAsNewWorkflowExecutionCommandAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes").msgclass StartChildWorkflowExecutionCommandAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes").msgclass ProtocolMessageCommandAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.command.v1.ProtocolMessageCommandAttributes").msgclass + ScheduleNexusOperationCommandAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.command.v1.ScheduleNexusOperationCommandAttributes").msgclass + RequestCancelNexusOperationCommandAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.command.v1.RequestCancelNexusOperationCommandAttributes").msgclass Command = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.command.v1.Command").msgclass end end diff --git a/temporalio/lib/temporalio/api/common/v1/grpc_status.rb b/temporalio/lib/temporalio/api/common/v1/grpc_status.rb new file mode 100644 index 00000000..8b2169f2 --- /dev/null +++ b/temporalio/lib/temporalio/api/common/v1/grpc_status.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/common/v1/grpc_status.proto + +require 'google/protobuf' + +require 'google/protobuf/any_pb' + + +descriptor_data = "\n(temporal/api/common/v1/grpc_status.proto\x12\x16temporal.api.common.v1\x1a\x19google/protobuf/any.proto\"R\n\nGrpcStatus\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyB\x1e\xea\x02\x1bTemporalio::Api::Common::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Common + module V1 + GrpcStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.common.v1.GrpcStatus").msgclass + end + end + end +end diff --git a/temporalio/lib/temporalio/api/common/v1/message.rb b/temporalio/lib/temporalio/api/common/v1/message.rb index cd0b3ec9..e9ab2f53 100644 --- a/temporalio/lib/temporalio/api/common/v1/message.rb +++ b/temporalio/lib/temporalio/api/common/v1/message.rb @@ -10,7 +10,7 @@ require 'temporalio/api/enums/v1/reset' -descriptor_data = "\n$temporal/api/common/v1/message.proto\x12\x16temporal.api.common.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"temporal/api/enums/v1/common.proto\x1a!temporal/api/enums/v1/reset.proto\"T\n\x08\x44\x61taBlob\x12:\n\rencoding_type\x18\x01 \x01(\x0e\x32#.temporal.api.enums.v1.EncodingType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"=\n\x08Payloads\x12\x31\n\x08payloads\x18\x01 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"\x89\x01\n\x07Payload\x12?\n\x08metadata\x18\x01 \x03(\x0b\x32-.temporal.api.common.v1.Payload.MetadataEntry\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"\xbe\x01\n\x10SearchAttributes\x12S\n\x0eindexed_fields\x18\x01 \x03(\x0b\x32;.temporal.api.common.v1.SearchAttributes.IndexedFieldsEntry\x1aU\n\x12IndexedFieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x90\x01\n\x04Memo\x12\x38\n\x06\x66ields\x18\x01 \x03(\x0b\x32(.temporal.api.common.v1.Memo.FieldsEntry\x1aN\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x94\x01\n\x06Header\x12:\n\x06\x66ields\x18\x01 \x03(\x0b\x32*.temporal.api.common.v1.Header.FieldsEntry\x1aN\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"8\n\x11WorkflowExecution\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"\x1c\n\x0cWorkflowType\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x1c\n\x0c\x41\x63tivityType\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xd1\x01\n\x0bRetryPolicy\x12\x33\n\x10initial_interval\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1b\n\x13\x62\x61\x63koff_coefficient\x18\x02 \x01(\x01\x12\x33\n\x10maximum_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x18\n\x10maximum_attempts\x18\x04 \x01(\x05\x12!\n\x19non_retryable_error_types\x18\x05 \x03(\t\"F\n\x10MeteringMetadata\x12\x32\n*nonfirst_local_activity_execution_attempts\x18\r \x01(\r\"Q\n\x12WorkerVersionStamp\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\x12\x11\n\tbundle_id\x18\x02 \x01(\t\x12\x16\n\x0euse_versioning\x18\x03 \x01(\x08\"E\n\x19WorkerVersionCapabilities\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\x12\x16\n\x0euse_versioning\x18\x02 \x01(\x08\"\x94\x02\n\x0cResetOptions\x12\x35\n\x13\x66irst_workflow_task\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x34\n\x12last_workflow_task\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x1a\n\x10workflow_task_id\x18\x03 \x01(\x03H\x00\x12\x12\n\x08\x62uild_id\x18\x04 \x01(\tH\x00\x12\x43\n\x12reset_reapply_type\x18\n \x01(\x0e\x32\'.temporal.api.enums.v1.ResetReapplyType\x12\x18\n\x10\x63urrent_run_only\x18\x0b \x01(\x08\x42\x08\n\x06targetB\x89\x01\n\x19io.temporal.api.common.v1B\x0cMessageProtoP\x01Z#go.temporal.io/api/common/v1;common\xaa\x02\x18Temporalio.Api.Common.V1\xea\x02\x1bTemporalio::Api::Common::V1b\x06proto3" +descriptor_data = "\n$temporal/api/common/v1/message.proto\x12\x16temporal.api.common.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"temporal/api/enums/v1/common.proto\x1a!temporal/api/enums/v1/reset.proto\"T\n\x08\x44\x61taBlob\x12:\n\rencoding_type\x18\x01 \x01(\x0e\x32#.temporal.api.enums.v1.EncodingType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"=\n\x08Payloads\x12\x31\n\x08payloads\x18\x01 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"\x89\x01\n\x07Payload\x12?\n\x08metadata\x18\x01 \x03(\x0b\x32-.temporal.api.common.v1.Payload.MetadataEntry\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"\xbe\x01\n\x10SearchAttributes\x12S\n\x0eindexed_fields\x18\x01 \x03(\x0b\x32;.temporal.api.common.v1.SearchAttributes.IndexedFieldsEntry\x1aU\n\x12IndexedFieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x90\x01\n\x04Memo\x12\x38\n\x06\x66ields\x18\x01 \x03(\x0b\x32(.temporal.api.common.v1.Memo.FieldsEntry\x1aN\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x94\x01\n\x06Header\x12:\n\x06\x66ields\x18\x01 \x03(\x0b\x32*.temporal.api.common.v1.Header.FieldsEntry\x1aN\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"8\n\x11WorkflowExecution\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"\x1c\n\x0cWorkflowType\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x1c\n\x0c\x41\x63tivityType\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xd1\x01\n\x0bRetryPolicy\x12\x33\n\x10initial_interval\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1b\n\x13\x62\x61\x63koff_coefficient\x18\x02 \x01(\x01\x12\x33\n\x10maximum_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x18\n\x10maximum_attempts\x18\x04 \x01(\x05\x12!\n\x19non_retryable_error_types\x18\x05 \x03(\t\"F\n\x10MeteringMetadata\x12\x32\n*nonfirst_local_activity_execution_attempts\x18\r \x01(\r\">\n\x12WorkerVersionStamp\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\x12\x16\n\x0euse_versioning\x18\x03 \x01(\x08\"E\n\x19WorkerVersionCapabilities\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\x12\x16\n\x0euse_versioning\x18\x02 \x01(\x08\"\xe9\x02\n\x0cResetOptions\x12\x35\n\x13\x66irst_workflow_task\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x34\n\x12last_workflow_task\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x1a\n\x10workflow_task_id\x18\x03 \x01(\x03H\x00\x12\x12\n\x08\x62uild_id\x18\x04 \x01(\tH\x00\x12\x43\n\x12reset_reapply_type\x18\n \x01(\x0e\x32\'.temporal.api.enums.v1.ResetReapplyType\x12\x18\n\x10\x63urrent_run_only\x18\x0b \x01(\x08\x12S\n\x1breset_reapply_exclude_types\x18\x0c \x03(\x0e\x32..temporal.api.enums.v1.ResetReapplyExcludeTypeB\x08\n\x06target\"\xde\x01\n\x08\x43\x61llback\x12\x37\n\x05nexus\x18\x02 \x01(\x0b\x32&.temporal.api.common.v1.Callback.NexusH\x00\x1a\x87\x01\n\x05Nexus\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x42\n\x06header\x18\x02 \x03(\x0b\x32\x32.temporal.api.common.v1.Callback.Nexus.HeaderEntry\x1a-\n\x0bHeaderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07variantJ\x04\x08\x01\x10\x02\x42\x89\x01\n\x19io.temporal.api.common.v1B\x0cMessageProtoP\x01Z#go.temporal.io/api/common/v1;common\xaa\x02\x18Temporalio.Api.Common.V1\xea\x02\x1bTemporalio::Api::Common::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -33,6 +33,8 @@ module V1 WorkerVersionStamp = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.common.v1.WorkerVersionStamp").msgclass WorkerVersionCapabilities = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.common.v1.WorkerVersionCapabilities").msgclass ResetOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.common.v1.ResetOptions").msgclass + Callback = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.common.v1.Callback").msgclass + Callback::Nexus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.common.v1.Callback.Nexus").msgclass end end end diff --git a/temporalio/lib/temporalio/api/enums/v1/command_type.rb b/temporalio/lib/temporalio/api/enums/v1/command_type.rb index c7ccd1f2..5c54f5d7 100644 --- a/temporalio/lib/temporalio/api/enums/v1/command_type.rb +++ b/temporalio/lib/temporalio/api/enums/v1/command_type.rb @@ -5,7 +5,7 @@ require 'google/protobuf' -descriptor_data = "\n(temporal/api/enums/v1/command_type.proto\x12\x15temporal.api.enums.v1*\xc0\x05\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\'\n#COMMAND_TYPE_SCHEDULE_ACTIVITY_TASK\x10\x01\x12-\n)COMMAND_TYPE_REQUEST_CANCEL_ACTIVITY_TASK\x10\x02\x12\x1c\n\x18\x43OMMAND_TYPE_START_TIMER\x10\x03\x12,\n(COMMAND_TYPE_COMPLETE_WORKFLOW_EXECUTION\x10\x04\x12(\n$COMMAND_TYPE_FAIL_WORKFLOW_EXECUTION\x10\x05\x12\x1d\n\x19\x43OMMAND_TYPE_CANCEL_TIMER\x10\x06\x12*\n&COMMAND_TYPE_CANCEL_WORKFLOW_EXECUTION\x10\x07\x12;\n7COMMAND_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION\x10\x08\x12\x1e\n\x1a\x43OMMAND_TYPE_RECORD_MARKER\x10\t\x12\x33\n/COMMAND_TYPE_CONTINUE_AS_NEW_WORKFLOW_EXECUTION\x10\n\x12/\n+COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION\x10\x0b\x12\x33\n/COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION\x10\x0c\x12\x32\n.COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES\x10\r\x12!\n\x1d\x43OMMAND_TYPE_PROTOCOL_MESSAGE\x10\x0e\x12+\n\'COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES\x10\x10\x42\x88\x01\n\x18io.temporal.api.enums.v1B\x10\x43ommandTypeProtoP\x01Z!go.temporal.io/api/enums/v1;enums\xaa\x02\x17Temporalio.Api.Enums.V1\xea\x02\x1aTemporalio::Api::Enums::V1b\x06proto3" +descriptor_data = "\n(temporal/api/enums/v1/command_type.proto\x12\x15temporal.api.enums.v1*\x9c\x06\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\'\n#COMMAND_TYPE_SCHEDULE_ACTIVITY_TASK\x10\x01\x12-\n)COMMAND_TYPE_REQUEST_CANCEL_ACTIVITY_TASK\x10\x02\x12\x1c\n\x18\x43OMMAND_TYPE_START_TIMER\x10\x03\x12,\n(COMMAND_TYPE_COMPLETE_WORKFLOW_EXECUTION\x10\x04\x12(\n$COMMAND_TYPE_FAIL_WORKFLOW_EXECUTION\x10\x05\x12\x1d\n\x19\x43OMMAND_TYPE_CANCEL_TIMER\x10\x06\x12*\n&COMMAND_TYPE_CANCEL_WORKFLOW_EXECUTION\x10\x07\x12;\n7COMMAND_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION\x10\x08\x12\x1e\n\x1a\x43OMMAND_TYPE_RECORD_MARKER\x10\t\x12\x33\n/COMMAND_TYPE_CONTINUE_AS_NEW_WORKFLOW_EXECUTION\x10\n\x12/\n+COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION\x10\x0b\x12\x33\n/COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION\x10\x0c\x12\x32\n.COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES\x10\r\x12!\n\x1d\x43OMMAND_TYPE_PROTOCOL_MESSAGE\x10\x0e\x12+\n\'COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES\x10\x10\x12)\n%COMMAND_TYPE_SCHEDULE_NEXUS_OPERATION\x10\x11\x12/\n+COMMAND_TYPE_REQUEST_CANCEL_NEXUS_OPERATION\x10\x12\x42\x88\x01\n\x18io.temporal.api.enums.v1B\x10\x43ommandTypeProtoP\x01Z!go.temporal.io/api/enums/v1;enums\xaa\x02\x17Temporalio.Api.Enums.V1\xea\x02\x1aTemporalio::Api::Enums::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/temporalio/lib/temporalio/api/enums/v1/common.rb b/temporalio/lib/temporalio/api/enums/v1/common.rb index 90e52281..d634cf5d 100644 --- a/temporalio/lib/temporalio/api/enums/v1/common.rb +++ b/temporalio/lib/temporalio/api/enums/v1/common.rb @@ -5,7 +5,7 @@ require 'google/protobuf' -descriptor_data = "\n\"temporal/api/enums/v1/common.proto\x12\x15temporal.api.enums.v1*_\n\x0c\x45ncodingType\x12\x1d\n\x19\x45NCODING_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x45NCODING_TYPE_PROTO3\x10\x01\x12\x16\n\x12\x45NCODING_TYPE_JSON\x10\x02*\x91\x02\n\x10IndexedValueType\x12\"\n\x1eINDEXED_VALUE_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17INDEXED_VALUE_TYPE_TEXT\x10\x01\x12\x1e\n\x1aINDEXED_VALUE_TYPE_KEYWORD\x10\x02\x12\x1a\n\x16INDEXED_VALUE_TYPE_INT\x10\x03\x12\x1d\n\x19INDEXED_VALUE_TYPE_DOUBLE\x10\x04\x12\x1b\n\x17INDEXED_VALUE_TYPE_BOOL\x10\x05\x12\x1f\n\x1bINDEXED_VALUE_TYPE_DATETIME\x10\x06\x12#\n\x1fINDEXED_VALUE_TYPE_KEYWORD_LIST\x10\x07*^\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x11\n\rSEVERITY_HIGH\x10\x01\x12\x13\n\x0fSEVERITY_MEDIUM\x10\x02\x12\x10\n\x0cSEVERITY_LOW\x10\x03\x42\x83\x01\n\x18io.temporal.api.enums.v1B\x0b\x43ommonProtoP\x01Z!go.temporal.io/api/enums/v1;enums\xaa\x02\x17Temporalio.Api.Enums.V1\xea\x02\x1aTemporalio::Api::Enums::V1b\x06proto3" +descriptor_data = "\n\"temporal/api/enums/v1/common.proto\x12\x15temporal.api.enums.v1*_\n\x0c\x45ncodingType\x12\x1d\n\x19\x45NCODING_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x45NCODING_TYPE_PROTO3\x10\x01\x12\x16\n\x12\x45NCODING_TYPE_JSON\x10\x02*\x91\x02\n\x10IndexedValueType\x12\"\n\x1eINDEXED_VALUE_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17INDEXED_VALUE_TYPE_TEXT\x10\x01\x12\x1e\n\x1aINDEXED_VALUE_TYPE_KEYWORD\x10\x02\x12\x1a\n\x16INDEXED_VALUE_TYPE_INT\x10\x03\x12\x1d\n\x19INDEXED_VALUE_TYPE_DOUBLE\x10\x04\x12\x1b\n\x17INDEXED_VALUE_TYPE_BOOL\x10\x05\x12\x1f\n\x1bINDEXED_VALUE_TYPE_DATETIME\x10\x06\x12#\n\x1fINDEXED_VALUE_TYPE_KEYWORD_LIST\x10\x07*^\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x11\n\rSEVERITY_HIGH\x10\x01\x12\x13\n\x0fSEVERITY_MEDIUM\x10\x02\x12\x10\n\x0cSEVERITY_LOW\x10\x03*\xc2\x01\n\rCallbackState\x12\x1e\n\x1a\x43\x41LLBACK_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43\x41LLBACK_STATE_STANDBY\x10\x01\x12\x1c\n\x18\x43\x41LLBACK_STATE_SCHEDULED\x10\x02\x12\x1e\n\x1a\x43\x41LLBACK_STATE_BACKING_OFF\x10\x03\x12\x19\n\x15\x43\x41LLBACK_STATE_FAILED\x10\x04\x12\x1c\n\x18\x43\x41LLBACK_STATE_SUCCEEDED\x10\x05*\xd2\x01\n\x1aPendingNexusOperationState\x12-\n)PENDING_NEXUS_OPERATION_STATE_UNSPECIFIED\x10\x00\x12+\n\'PENDING_NEXUS_OPERATION_STATE_SCHEDULED\x10\x01\x12-\n)PENDING_NEXUS_OPERATION_STATE_BACKING_OFF\x10\x02\x12)\n%PENDING_NEXUS_OPERATION_STATE_STARTED\x10\x03*\xce\x02\n\x1fNexusOperationCancellationState\x12\x32\n.NEXUS_OPERATION_CANCELLATION_STATE_UNSPECIFIED\x10\x00\x12\x30\n,NEXUS_OPERATION_CANCELLATION_STATE_SCHEDULED\x10\x01\x12\x32\n.NEXUS_OPERATION_CANCELLATION_STATE_BACKING_OFF\x10\x02\x12\x30\n,NEXUS_OPERATION_CANCELLATION_STATE_SUCCEEDED\x10\x03\x12-\n)NEXUS_OPERATION_CANCELLATION_STATE_FAILED\x10\x04\x12\x30\n,NEXUS_OPERATION_CANCELLATION_STATE_TIMED_OUT\x10\x05\x42\x83\x01\n\x18io.temporal.api.enums.v1B\x0b\x43ommonProtoP\x01Z!go.temporal.io/api/enums/v1;enums\xaa\x02\x17Temporalio.Api.Enums.V1\xea\x02\x1aTemporalio::Api::Enums::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -17,6 +17,9 @@ module V1 EncodingType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.enums.v1.EncodingType").enummodule IndexedValueType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.enums.v1.IndexedValueType").enummodule Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.enums.v1.Severity").enummodule + CallbackState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.enums.v1.CallbackState").enummodule + PendingNexusOperationState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.enums.v1.PendingNexusOperationState").enummodule + NexusOperationCancellationState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.enums.v1.NexusOperationCancellationState").enummodule end end end diff --git a/temporalio/lib/temporalio/api/enums/v1/event_type.rb b/temporalio/lib/temporalio/api/enums/v1/event_type.rb index 0d261a76..5e479940 100644 --- a/temporalio/lib/temporalio/api/enums/v1/event_type.rb +++ b/temporalio/lib/temporalio/api/enums/v1/event_type.rb @@ -5,7 +5,7 @@ require 'google/protobuf' -descriptor_data = "\n&temporal/api/enums/v1/event_type.proto\x12\x15temporal.api.enums.v1*\xc2\x11\n\tEventType\x12\x1a\n\x16\x45VENT_TYPE_UNSPECIFIED\x10\x00\x12)\n%EVENT_TYPE_WORKFLOW_EXECUTION_STARTED\x10\x01\x12+\n\'EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED\x10\x02\x12(\n$EVENT_TYPE_WORKFLOW_EXECUTION_FAILED\x10\x03\x12+\n\'EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT\x10\x04\x12&\n\"EVENT_TYPE_WORKFLOW_TASK_SCHEDULED\x10\x05\x12$\n EVENT_TYPE_WORKFLOW_TASK_STARTED\x10\x06\x12&\n\"EVENT_TYPE_WORKFLOW_TASK_COMPLETED\x10\x07\x12&\n\"EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT\x10\x08\x12#\n\x1f\x45VENT_TYPE_WORKFLOW_TASK_FAILED\x10\t\x12&\n\"EVENT_TYPE_ACTIVITY_TASK_SCHEDULED\x10\n\x12$\n EVENT_TYPE_ACTIVITY_TASK_STARTED\x10\x0b\x12&\n\"EVENT_TYPE_ACTIVITY_TASK_COMPLETED\x10\x0c\x12#\n\x1f\x45VENT_TYPE_ACTIVITY_TASK_FAILED\x10\r\x12&\n\"EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT\x10\x0e\x12-\n)EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED\x10\x0f\x12%\n!EVENT_TYPE_ACTIVITY_TASK_CANCELED\x10\x10\x12\x1c\n\x18\x45VENT_TYPE_TIMER_STARTED\x10\x11\x12\x1a\n\x16\x45VENT_TYPE_TIMER_FIRED\x10\x12\x12\x1d\n\x19\x45VENT_TYPE_TIMER_CANCELED\x10\x13\x12\x32\n.EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED\x10\x14\x12*\n&EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED\x10\x15\x12\x43\n?EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED\x10\x16\x12@\n\n\x1b\x66irst_workflow_task_backoff\x18\x15 \x01(\x0b\x32\x19.google.protobuf.Duration\x12*\n\x04memo\x18\x16 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x17 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x45\n\x16prev_auto_reset_points\x18\x18 \x01(\x0b\x32%.temporal.api.workflow.v1.ResetPoints\x12.\n\x06header\x18\x19 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12&\n\x1eparent_initiated_event_version\x18\x1a \x01(\x03\x12\x13\n\x0bworkflow_id\x18\x1c \x01(\t\x12H\n\x14source_version_stamp\x18\x1d \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\xa5\x01\n)WorkflowExecutionCompletedEventAttributes\x12\x30\n\x06result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12(\n workflow_task_completed_event_id\x18\x02 \x01(\x03\x12\x1c\n\x14new_execution_run_id\x18\x03 \x01(\t\"\xdb\x01\n&WorkflowExecutionFailedEventAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x36\n\x0bretry_state\x18\x02 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\x12(\n workflow_task_completed_event_id\x18\x03 \x01(\x03\x12\x1c\n\x14new_execution_run_id\x18\x04 \x01(\t\"\x80\x01\n(WorkflowExecutionTimedOutEventAttributes\x12\x36\n\x0bretry_state\x18\x01 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\x12\x1c\n\x14new_execution_run_id\x18\x02 \x01(\t\"\xc6\x06\n.WorkflowExecutionContinuedAsNewEventAttributes\x12\x1c\n\x14new_execution_run_id\x18\x01 \x01(\t\x12;\n\rworkflow_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x03 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x37\n\x14workflow_run_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n workflow_task_completed_event_id\x18\x07 \x01(\x03\x12\x39\n\x16\x62\x61\x63koff_start_interval\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12@\n\tinitiator\x18\t \x01(\x0e\x32-.temporal.api.enums.v1.ContinueAsNewInitiator\x12\x31\n\x07\x66\x61ilure\x18\n \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12@\n\x16last_completion_result\x18\x0b \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12.\n\x06header\x18\x0c \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12*\n\x04memo\x18\r \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0e \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x1e\n\x16use_compatible_version\x18\x0f \x01(\x08\"\xac\x01\n$WorkflowTaskScheduledEventAttributes\x12\x38\n\ntask_queue\x18\x01 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12\x39\n\x16start_to_close_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0f\n\x07\x61ttempt\x18\x03 \x01(\x05\"\xa3\x01\n\"WorkflowTaskStartedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\x12\x1f\n\x17suggest_continue_as_new\x18\x04 \x01(\x08\x12\x1a\n\x12history_size_bytes\x18\x05 \x01(\x03\"\xda\x02\n$WorkflowTaskCompletedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x17\n\x0f\x62inary_checksum\x18\x04 \x01(\t\x12\x42\n\x0eworker_version\x18\x05 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\x12H\n\x0csdk_metadata\x18\x06 \x01(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowTaskCompletedMetadata\x12\x43\n\x11metering_metadata\x18\r \x01(\x0b\x32(.temporal.api.common.v1.MeteringMetadata\"\x95\x01\n#WorkflowTaskTimedOutEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\x12\x38\n\x0ctimeout_type\x18\x03 \x01(\x0e\x32\".temporal.api.enums.v1.TimeoutType\"\xff\x02\n!WorkflowTaskFailedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\x12=\n\x05\x63\x61use\x18\x03 \x01(\x0e\x32..temporal.api.enums.v1.WorkflowTaskFailedCause\x12\x31\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x13\n\x0b\x62\x61se_run_id\x18\x06 \x01(\t\x12\x12\n\nnew_run_id\x18\x07 \x01(\t\x12\x1a\n\x12\x66ork_event_version\x18\x08 \x01(\x03\x12\x17\n\x0f\x62inary_checksum\x18\t \x01(\t\x12\x42\n\x0eworker_version\x18\n \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\x8b\x05\n$ActivityTaskScheduledEventAttributes\x12\x13\n\x0b\x61\x63tivity_id\x18\x01 \x01(\t\x12;\n\ractivity_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.ActivityType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12.\n\x06header\x18\x05 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12/\n\x05input\x18\x06 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12<\n\x19schedule_to_close_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n workflow_task_completed_event_id\x18\x0b \x01(\x03\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x1e\n\x16use_compatible_version\x18\r \x01(\x08J\x04\x08\x03\x10\x04\"\xaf\x01\n\"ActivityTaskStartedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\x12\x0f\n\x07\x61ttempt\x18\x04 \x01(\x05\x12\x36\n\x0clast_failure\x18\x05 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xe4\x01\n$ActivityTaskCompletedEventAttributes\x12\x30\n\x06result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x1a\n\x12scheduled_event_id\x18\x02 \x01(\x03\x12\x18\n\x10started_event_id\x18\x03 \x01(\x03\x12\x10\n\x08identity\x18\x04 \x01(\t\x12\x42\n\x0eworker_version\x18\x05 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\x9a\x02\n!ActivityTaskFailedEventAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x1a\n\x12scheduled_event_id\x18\x02 \x01(\x03\x12\x18\n\x10started_event_id\x18\x03 \x01(\x03\x12\x10\n\x08identity\x18\x04 \x01(\t\x12\x36\n\x0bretry_state\x18\x05 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\x12\x42\n\x0eworker_version\x18\x06 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\xc6\x01\n#ActivityTaskTimedOutEventAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x1a\n\x12scheduled_event_id\x18\x02 \x01(\x03\x12\x18\n\x10started_event_id\x18\x03 \x01(\x03\x12\x36\n\x0bretry_state\x18\x04 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\"r\n*ActivityTaskCancelRequestedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12(\n workflow_task_completed_event_id\x18\x02 \x01(\x03\"\x8e\x02\n#ActivityTaskCanceledEventAttributes\x12\x31\n\x07\x64\x65tails\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12(\n latest_cancel_requested_event_id\x18\x02 \x01(\x03\x12\x1a\n\x12scheduled_event_id\x18\x03 \x01(\x03\x12\x18\n\x10started_event_id\x18\x04 \x01(\x03\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x42\n\x0eworker_version\x18\x06 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\x93\x01\n\x1bTimerStartedEventAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\x12\x38\n\x15start_to_fire_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n workflow_task_completed_event_id\x18\x03 \x01(\x03\"G\n\x19TimerFiredEventAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\"\x86\x01\n\x1cTimerCanceledEventAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\x12(\n workflow_task_completed_event_id\x18\x03 \x01(\x03\x12\x10\n\x08identity\x18\x04 \x01(\t\"\xc7\x01\n/WorkflowExecutionCancelRequestedEventAttributes\x12\r\n\x05\x63\x61use\x18\x01 \x01(\t\x12#\n\x1b\x65xternal_initiated_event_id\x18\x02 \x01(\x03\x12N\n\x1b\x65xternal_workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x10\n\x08identity\x18\x04 \x01(\t\"\x87\x01\n(WorkflowExecutionCanceledEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x31\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\"\xe9\x02\n\x1dMarkerRecordedEventAttributes\x12\x13\n\x0bmarker_name\x18\x01 \x01(\t\x12T\n\x07\x64\x65tails\x18\x02 \x03(\x0b\x32\x43.temporal.api.history.v1.MarkerRecordedEventAttributes.DetailsEntry\x12(\n workflow_task_completed_event_id\x18\x03 \x01(\x03\x12.\n\x06header\x18\x04 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x31\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x1aP\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads:\x02\x38\x01\"\xa7\x02\n(WorkflowExecutionSignaledEventAttributes\x12\x13\n\x0bsignal_name\x18\x01 \x01(\t\x12/\n\x05input\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\x12.\n\x06header\x18\x04 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12#\n\x1bskip_generate_workflow_task\x18\x05 \x01(\x08\x12N\n\x1b\x65xternal_workflow_execution\x18\x06 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"\x81\x01\n*WorkflowExecutionTerminatedEventAttributes\x12\x0e\n\x06reason\x18\x01 \x01(\t\x12\x31\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\"\x98\x02\n>RequestCancelExternalWorkflowExecutionInitiatedEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x0f\n\x07\x63ontrol\x18\x04 \x01(\t\x12\x1b\n\x13\x63hild_workflow_only\x18\x05 \x01(\x08\x12\x0e\n\x06reason\x18\x06 \x01(\t\"\xd6\x02\n;RequestCancelExternalWorkflowExecutionFailedEventAttributes\x12P\n\x05\x63\x61use\x18\x01 \x01(\x0e\x32\x41.temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCause\x12(\n workflow_task_completed_event_id\x18\x02 \x01(\x03\x12\x11\n\tnamespace\x18\x03 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x04 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x0f\n\x07\x63ontrol\x18\x06 \x01(\t\"\xc5\x01\n7ExternalWorkflowExecutionCancelRequestedEventAttributes\x12\x1a\n\x12initiated_event_id\x18\x01 \x01(\x03\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x04 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"\xf7\x02\n7SignalExternalWorkflowExecutionInitiatedEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\t \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x13\n\x0bsignal_name\x18\x04 \x01(\t\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x0f\n\x07\x63ontrol\x18\x06 \x01(\t\x12\x1b\n\x13\x63hild_workflow_only\x18\x07 \x01(\x08\x12.\n\x06header\x18\x08 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\"\xcf\x02\n4SignalExternalWorkflowExecutionFailedEventAttributes\x12P\n\x05\x63\x61use\x18\x01 \x01(\x0e\x32\x41.temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCause\x12(\n workflow_task_completed_event_id\x18\x02 \x01(\x03\x12\x11\n\tnamespace\x18\x03 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x04 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x0f\n\x07\x63ontrol\x18\x06 \x01(\t\"\xcf\x01\n0ExternalWorkflowExecutionSignaledEventAttributes\x12\x1a\n\x12initiated_event_id\x18\x01 \x01(\x03\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x05 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x0f\n\x07\x63ontrol\x18\x04 \x01(\t\"\x9e\x01\n-UpsertWorkflowSearchAttributesEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x43\n\x11search_attributes\x18\x02 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\"\x8a\x01\n)WorkflowPropertiesModifiedEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x33\n\rupserted_memo\x18\x02 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"\xb2\x07\n3StartChildWorkflowExecutionInitiatedEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x12 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x45\n\x13parent_close_policy\x18\t \x01(\x0e\x32(.temporal.api.enums.v1.ParentClosePolicy\x12\x0f\n\x07\x63ontrol\x18\n \x01(\t\x12(\n workflow_task_completed_event_id\x18\x0b \x01(\x03\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12.\n\x06header\x18\x0f \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12*\n\x04memo\x18\x10 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x11 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x1e\n\x16use_compatible_version\x18\x13 \x01(\x08\"\xd2\x02\n0StartChildWorkflowExecutionFailedEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x08 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12L\n\x05\x63\x61use\x18\x04 \x01(\x0e\x32=.temporal.api.enums.v1.StartChildWorkflowExecutionFailedCause\x12\x0f\n\x07\x63ontrol\x18\x05 \x01(\t\x12\x1a\n\x12initiated_event_id\x18\x06 \x01(\x03\x12(\n workflow_task_completed_event_id\x18\x07 \x01(\x03\"\xa7\x02\n,ChildWorkflowExecutionStartedEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x06 \x01(\t\x12\x1a\n\x12initiated_event_id\x18\x02 \x01(\x03\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12.\n\x06header\x18\x05 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\"\xc5\x02\n.ChildWorkflowExecutionCompletedEventAttributes\x12\x30\n\x06result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x18\n\x10started_event_id\x18\x06 \x01(\x03\"\xfb\x02\n+ChildWorkflowExecutionFailedEventAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x08 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x18\n\x10started_event_id\x18\x06 \x01(\x03\x12\x36\n\x0bretry_state\x18\x07 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\"\xc5\x02\n-ChildWorkflowExecutionCanceledEventAttributes\x12\x31\n\x07\x64\x65tails\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x18\n\x10started_event_id\x18\x06 \x01(\x03\"\xca\x02\n-ChildWorkflowExecutionTimedOutEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x04 \x01(\x03\x12\x18\n\x10started_event_id\x18\x05 \x01(\x03\x12\x36\n\x0bretry_state\x18\x06 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\"\x94\x02\n/ChildWorkflowExecutionTerminatedEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x06 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x04 \x01(\x03\x12\x18\n\x10started_event_id\x18\x05 \x01(\x03\"\xc0\x02\n3WorkflowPropertiesModifiedExternallyEventAttributes\x12\x16\n\x0enew_task_queue\x18\x01 \x01(\t\x12<\n\x19new_workflow_task_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18new_workflow_run_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x41\n\x1enew_workflow_execution_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\rupserted_memo\x18\x05 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"\x90\x01\n3ActivityPropertiesModifiedExternallyEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12=\n\x10new_retry_policy\x18\x02 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\"\xdc\x01\n.WorkflowExecutionUpdateAcceptedEventAttributes\x12\x1c\n\x14protocol_instance_id\x18\x01 \x01(\t\x12#\n\x1b\x61\x63\x63\x65pted_request_message_id\x18\x02 \x01(\t\x12,\n$accepted_request_sequencing_event_id\x18\x03 \x01(\x03\x12\x39\n\x10\x61\x63\x63\x65pted_request\x18\x04 \x01(\x0b\x32\x1f.temporal.api.update.v1.Request\"\xaa\x01\n/WorkflowExecutionUpdateCompletedEventAttributes\x12*\n\x04meta\x18\x01 \x01(\x0b\x32\x1c.temporal.api.update.v1.Meta\x12\x19\n\x11\x61\x63\x63\x65pted_event_id\x18\x03 \x01(\x03\x12\x30\n\x07outcome\x18\x02 \x01(\x0b\x32\x1f.temporal.api.update.v1.Outcome\"\x8f\x02\n.WorkflowExecutionUpdateRejectedEventAttributes\x12\x1c\n\x14protocol_instance_id\x18\x01 \x01(\t\x12#\n\x1brejected_request_message_id\x18\x02 \x01(\t\x12,\n$rejected_request_sequencing_event_id\x18\x03 \x01(\x03\x12\x39\n\x10rejected_request\x18\x04 \x01(\x0b\x32\x1f.temporal.api.update.v1.Request\x12\x31\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xa6\x01\n/WorkflowExecutionUpdateRequestedEventAttributes\x12\x30\n\x07request\x18\x01 \x01(\x0b\x32\x1f.temporal.api.update.v1.Request\x12\x41\n\x06origin\x18\x02 \x01(\x0e\x32\x31.temporal.api.enums.v1.UpdateRequestedEventOrigin\"\xea\x30\n\x0cHistoryEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x03\x12.\n\nevent_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\nevent_type\x18\x03 \x01(\x0e\x32 .temporal.api.enums.v1.EventType\x12\x0f\n\x07version\x18\x04 \x01(\x03\x12\x0f\n\x07task_id\x18\x05 \x01(\x03\x12\x1a\n\x11worker_may_ignore\x18\xac\x02 \x01(\x08\x12w\n+workflow_execution_started_event_attributes\x18\x06 \x01(\x0b\x32@.temporal.api.history.v1.WorkflowExecutionStartedEventAttributesH\x00\x12{\n-workflow_execution_completed_event_attributes\x18\x07 \x01(\x0b\x32\x42.temporal.api.history.v1.WorkflowExecutionCompletedEventAttributesH\x00\x12u\n*workflow_execution_failed_event_attributes\x18\x08 \x01(\x0b\x32?.temporal.api.history.v1.WorkflowExecutionFailedEventAttributesH\x00\x12z\n-workflow_execution_timed_out_event_attributes\x18\t \x01(\x0b\x32\x41.temporal.api.history.v1.WorkflowExecutionTimedOutEventAttributesH\x00\x12q\n(workflow_task_scheduled_event_attributes\x18\n \x01(\x0b\x32=.temporal.api.history.v1.WorkflowTaskScheduledEventAttributesH\x00\x12m\n&workflow_task_started_event_attributes\x18\x0b \x01(\x0b\x32;.temporal.api.history.v1.WorkflowTaskStartedEventAttributesH\x00\x12q\n(workflow_task_completed_event_attributes\x18\x0c \x01(\x0b\x32=.temporal.api.history.v1.WorkflowTaskCompletedEventAttributesH\x00\x12p\n(workflow_task_timed_out_event_attributes\x18\r \x01(\x0b\x32<.temporal.api.history.v1.WorkflowTaskTimedOutEventAttributesH\x00\x12k\n%workflow_task_failed_event_attributes\x18\x0e \x01(\x0b\x32:.temporal.api.history.v1.WorkflowTaskFailedEventAttributesH\x00\x12q\n(activity_task_scheduled_event_attributes\x18\x0f \x01(\x0b\x32=.temporal.api.history.v1.ActivityTaskScheduledEventAttributesH\x00\x12m\n&activity_task_started_event_attributes\x18\x10 \x01(\x0b\x32;.temporal.api.history.v1.ActivityTaskStartedEventAttributesH\x00\x12q\n(activity_task_completed_event_attributes\x18\x11 \x01(\x0b\x32=.temporal.api.history.v1.ActivityTaskCompletedEventAttributesH\x00\x12k\n%activity_task_failed_event_attributes\x18\x12 \x01(\x0b\x32:.temporal.api.history.v1.ActivityTaskFailedEventAttributesH\x00\x12p\n(activity_task_timed_out_event_attributes\x18\x13 \x01(\x0b\x32<.temporal.api.history.v1.ActivityTaskTimedOutEventAttributesH\x00\x12^\n\x1etimer_started_event_attributes\x18\x14 \x01(\x0b\x32\x34.temporal.api.history.v1.TimerStartedEventAttributesH\x00\x12Z\n\x1ctimer_fired_event_attributes\x18\x15 \x01(\x0b\x32\x32.temporal.api.history.v1.TimerFiredEventAttributesH\x00\x12~\n/activity_task_cancel_requested_event_attributes\x18\x16 \x01(\x0b\x32\x43.temporal.api.history.v1.ActivityTaskCancelRequestedEventAttributesH\x00\x12o\n\'activity_task_canceled_event_attributes\x18\x17 \x01(\x0b\x32<.temporal.api.history.v1.ActivityTaskCanceledEventAttributesH\x00\x12`\n\x1ftimer_canceled_event_attributes\x18\x18 \x01(\x0b\x32\x35.temporal.api.history.v1.TimerCanceledEventAttributesH\x00\x12\x62\n marker_recorded_event_attributes\x18\x19 \x01(\x0b\x32\x36.temporal.api.history.v1.MarkerRecordedEventAttributesH\x00\x12y\n,workflow_execution_signaled_event_attributes\x18\x1a \x01(\x0b\x32\x41.temporal.api.history.v1.WorkflowExecutionSignaledEventAttributesH\x00\x12}\n.workflow_execution_terminated_event_attributes\x18\x1b \x01(\x0b\x32\x43.temporal.api.history.v1.WorkflowExecutionTerminatedEventAttributesH\x00\x12\x88\x01\n4workflow_execution_cancel_requested_event_attributes\x18\x1c \x01(\x0b\x32H.temporal.api.history.v1.WorkflowExecutionCancelRequestedEventAttributesH\x00\x12y\n,workflow_execution_canceled_event_attributes\x18\x1d \x01(\x0b\x32\x41.temporal.api.history.v1.WorkflowExecutionCanceledEventAttributesH\x00\x12\xa8\x01\nErequest_cancel_external_workflow_execution_initiated_event_attributes\x18\x1e \x01(\x0b\x32W.temporal.api.history.v1.RequestCancelExternalWorkflowExecutionInitiatedEventAttributesH\x00\x12\xa2\x01\nBrequest_cancel_external_workflow_execution_failed_event_attributes\x18\x1f \x01(\x0b\x32T.temporal.api.history.v1.RequestCancelExternalWorkflowExecutionFailedEventAttributesH\x00\x12\x99\x01\n=external_workflow_execution_cancel_requested_event_attributes\x18 \x01(\x0b\x32P.temporal.api.history.v1.ExternalWorkflowExecutionCancelRequestedEventAttributesH\x00\x12\x87\x01\n4workflow_execution_continued_as_new_event_attributes\x18! \x01(\x0b\x32G.temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributesH\x00\x12\x91\x01\n9start_child_workflow_execution_initiated_event_attributes\x18\" \x01(\x0b\x32L.temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributesH\x00\x12\x8b\x01\n6start_child_workflow_execution_failed_event_attributes\x18# \x01(\x0b\x32I.temporal.api.history.v1.StartChildWorkflowExecutionFailedEventAttributesH\x00\x12\x82\x01\n1child_workflow_execution_started_event_attributes\x18$ \x01(\x0b\x32\x45.temporal.api.history.v1.ChildWorkflowExecutionStartedEventAttributesH\x00\x12\x86\x01\n3child_workflow_execution_completed_event_attributes\x18% \x01(\x0b\x32G.temporal.api.history.v1.ChildWorkflowExecutionCompletedEventAttributesH\x00\x12\x80\x01\n0child_workflow_execution_failed_event_attributes\x18& \x01(\x0b\x32\x44.temporal.api.history.v1.ChildWorkflowExecutionFailedEventAttributesH\x00\x12\x84\x01\n2child_workflow_execution_canceled_event_attributes\x18\' \x01(\x0b\x32\x46.temporal.api.history.v1.ChildWorkflowExecutionCanceledEventAttributesH\x00\x12\x85\x01\n3child_workflow_execution_timed_out_event_attributes\x18( \x01(\x0b\x32\x46.temporal.api.history.v1.ChildWorkflowExecutionTimedOutEventAttributesH\x00\x12\x88\x01\n4child_workflow_execution_terminated_event_attributes\x18) \x01(\x0b\x32H.temporal.api.history.v1.ChildWorkflowExecutionTerminatedEventAttributesH\x00\x12\x99\x01\n=signal_external_workflow_execution_initiated_event_attributes\x18* \x01(\x0b\x32P.temporal.api.history.v1.SignalExternalWorkflowExecutionInitiatedEventAttributesH\x00\x12\x93\x01\n:signal_external_workflow_execution_failed_event_attributes\x18+ \x01(\x0b\x32M.temporal.api.history.v1.SignalExternalWorkflowExecutionFailedEventAttributesH\x00\x12\x8a\x01\n5external_workflow_execution_signaled_event_attributes\x18, \x01(\x0b\x32I.temporal.api.history.v1.ExternalWorkflowExecutionSignaledEventAttributesH\x00\x12\x84\x01\n2upsert_workflow_search_attributes_event_attributes\x18- \x01(\x0b\x32\x46.temporal.api.history.v1.UpsertWorkflowSearchAttributesEventAttributesH\x00\x12\x86\x01\n3workflow_execution_update_accepted_event_attributes\x18. \x01(\x0b\x32G.temporal.api.history.v1.WorkflowExecutionUpdateAcceptedEventAttributesH\x00\x12\x86\x01\n3workflow_execution_update_rejected_event_attributes\x18/ \x01(\x0b\x32G.temporal.api.history.v1.WorkflowExecutionUpdateRejectedEventAttributesH\x00\x12\x88\x01\n4workflow_execution_update_completed_event_attributes\x18\x30 \x01(\x0b\x32H.temporal.api.history.v1.WorkflowExecutionUpdateCompletedEventAttributesH\x00\x12\x90\x01\n8workflow_properties_modified_externally_event_attributes\x18\x31 \x01(\x0b\x32L.temporal.api.history.v1.WorkflowPropertiesModifiedExternallyEventAttributesH\x00\x12\x90\x01\n8activity_properties_modified_externally_event_attributes\x18\x32 \x01(\x0b\x32L.temporal.api.history.v1.ActivityPropertiesModifiedExternallyEventAttributesH\x00\x12{\n-workflow_properties_modified_event_attributes\x18\x33 \x01(\x0b\x32\x42.temporal.api.history.v1.WorkflowPropertiesModifiedEventAttributesH\x00\x12\x88\x01\n4workflow_execution_update_requested_event_attributes\x18\x34 \x01(\x0b\x32H.temporal.api.history.v1.WorkflowExecutionUpdateRequestedEventAttributesH\x00\x42\x0c\n\nattributes\"@\n\x07History\x12\x35\n\x06\x65vents\x18\x01 \x03(\x0b\x32%.temporal.api.history.v1.HistoryEventB\x8e\x01\n\x1aio.temporal.api.history.v1B\x0cMessageProtoP\x01Z%go.temporal.io/api/history/v1;history\xaa\x02\x19Temporalio.Api.History.V1\xea\x02\x1cTemporalio::Api::History::V1b\x06proto3" +descriptor_data = "\n%temporal/api/history/v1/message.proto\x12\x17temporal.api.history.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a&temporal/api/enums/v1/event_type.proto\x1a(temporal/api/enums/v1/failed_cause.proto\x1a\"temporal/api/enums/v1/update.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a\'temporal/api/taskqueue/v1/message.proto\x1a$temporal/api/update/v1/message.proto\x1a&temporal/api/workflow/v1/message.proto\x1a\x30temporal/api/sdk/v1/task_complete_metadata.proto\x1a\'temporal/api/sdk/v1/user_metadata.proto\"\xf9\x0c\n\'WorkflowExecutionStartedEventAttributes\x12;\n\rworkflow_type\x18\x01 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12!\n\x19parent_workflow_namespace\x18\x02 \x01(\t\x12$\n\x1cparent_workflow_namespace_id\x18\x1b \x01(\t\x12L\n\x19parent_workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12!\n\x19parent_initiated_event_id\x18\x04 \x01(\x03\x12\x38\n\ntask_queue\x18\x05 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x06 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\"\n\x1a\x63ontinued_execution_run_id\x18\n \x01(\t\x12@\n\tinitiator\x18\x0b \x01(\x0e\x32-.temporal.api.enums.v1.ContinueAsNewInitiator\x12;\n\x11\x63ontinued_failure\x18\x0c \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12@\n\x16last_completion_result\x18\r \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12!\n\x19original_execution_run_id\x18\x0e \x01(\t\x12\x10\n\x08identity\x18\x0f \x01(\t\x12\x1e\n\x16\x66irst_execution_run_id\x18\x10 \x01(\t\x12\x39\n\x0cretry_policy\x18\x11 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x0f\n\x07\x61ttempt\x18\x12 \x01(\x05\x12\x46\n\"workflow_execution_expiration_time\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rcron_schedule\x18\x14 \x01(\t\x12>\n\x1b\x66irst_workflow_task_backoff\x18\x15 \x01(\x0b\x32\x19.google.protobuf.Duration\x12*\n\x04memo\x18\x16 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x17 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x45\n\x16prev_auto_reset_points\x18\x18 \x01(\x0b\x32%.temporal.api.workflow.v1.ResetPoints\x12.\n\x06header\x18\x19 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12&\n\x1eparent_initiated_event_version\x18\x1a \x01(\x03\x12\x13\n\x0bworkflow_id\x18\x1c \x01(\t\x12H\n\x14source_version_stamp\x18\x1d \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\x12>\n\x14\x63ompletion_callbacks\x18\x1e \x03(\x0b\x32 .temporal.api.common.v1.Callback\x12J\n\x17root_workflow_execution\x18\x1f \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x1a\n\x12inherited_build_id\x18 \x01(\t\"\xa5\x01\n)WorkflowExecutionCompletedEventAttributes\x12\x30\n\x06result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12(\n workflow_task_completed_event_id\x18\x02 \x01(\x03\x12\x1c\n\x14new_execution_run_id\x18\x03 \x01(\t\"\xdb\x01\n&WorkflowExecutionFailedEventAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x36\n\x0bretry_state\x18\x02 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\x12(\n workflow_task_completed_event_id\x18\x03 \x01(\x03\x12\x1c\n\x14new_execution_run_id\x18\x04 \x01(\t\"\x80\x01\n(WorkflowExecutionTimedOutEventAttributes\x12\x36\n\x0bretry_state\x18\x01 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\x12\x1c\n\x14new_execution_run_id\x18\x02 \x01(\t\"\xc0\x06\n.WorkflowExecutionContinuedAsNewEventAttributes\x12\x1c\n\x14new_execution_run_id\x18\x01 \x01(\t\x12;\n\rworkflow_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x03 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x37\n\x14workflow_run_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n workflow_task_completed_event_id\x18\x07 \x01(\x03\x12\x39\n\x16\x62\x61\x63koff_start_interval\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12@\n\tinitiator\x18\t \x01(\x0e\x32-.temporal.api.enums.v1.ContinueAsNewInitiator\x12\x31\n\x07\x66\x61ilure\x18\n \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12@\n\x16last_completion_result\x18\x0b \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12.\n\x06header\x18\x0c \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12*\n\x04memo\x18\r \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0e \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x18\n\x10inherit_build_id\x18\x0f \x01(\x08\"\xac\x01\n$WorkflowTaskScheduledEventAttributes\x12\x38\n\ntask_queue\x18\x01 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12\x39\n\x16start_to_close_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0f\n\x07\x61ttempt\x18\x03 \x01(\x05\"\x8a\x02\n\"WorkflowTaskStartedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\x12\x1f\n\x17suggest_continue_as_new\x18\x04 \x01(\x08\x12\x1a\n\x12history_size_bytes\x18\x05 \x01(\x03\x12\x42\n\x0eworker_version\x18\x06 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\x12!\n\x19\x62uild_id_redirect_counter\x18\x07 \x01(\x03\"\xda\x02\n$WorkflowTaskCompletedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x17\n\x0f\x62inary_checksum\x18\x04 \x01(\t\x12\x42\n\x0eworker_version\x18\x05 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\x12H\n\x0csdk_metadata\x18\x06 \x01(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowTaskCompletedMetadata\x12\x43\n\x11metering_metadata\x18\r \x01(\x0b\x32(.temporal.api.common.v1.MeteringMetadata\"\x95\x01\n#WorkflowTaskTimedOutEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\x12\x38\n\x0ctimeout_type\x18\x03 \x01(\x0e\x32\".temporal.api.enums.v1.TimeoutType\"\xff\x02\n!WorkflowTaskFailedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\x12=\n\x05\x63\x61use\x18\x03 \x01(\x0e\x32..temporal.api.enums.v1.WorkflowTaskFailedCause\x12\x31\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x13\n\x0b\x62\x61se_run_id\x18\x06 \x01(\t\x12\x12\n\nnew_run_id\x18\x07 \x01(\t\x12\x1a\n\x12\x66ork_event_version\x18\x08 \x01(\x03\x12\x17\n\x0f\x62inary_checksum\x18\t \x01(\t\x12\x42\n\x0eworker_version\x18\n \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\x8a\x05\n$ActivityTaskScheduledEventAttributes\x12\x13\n\x0b\x61\x63tivity_id\x18\x01 \x01(\t\x12;\n\ractivity_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.ActivityType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12.\n\x06header\x18\x05 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12/\n\x05input\x18\x06 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12<\n\x19schedule_to_close_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n workflow_task_completed_event_id\x18\x0b \x01(\x03\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x1d\n\x15use_workflow_build_id\x18\r \x01(\x08J\x04\x08\x03\x10\x04\"\x96\x02\n\"ActivityTaskStartedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\x12\x0f\n\x07\x61ttempt\x18\x04 \x01(\x05\x12\x36\n\x0clast_failure\x18\x05 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x42\n\x0eworker_version\x18\x06 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\x12!\n\x19\x62uild_id_redirect_counter\x18\x07 \x01(\x03\"\xe4\x01\n$ActivityTaskCompletedEventAttributes\x12\x30\n\x06result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x1a\n\x12scheduled_event_id\x18\x02 \x01(\x03\x12\x18\n\x10started_event_id\x18\x03 \x01(\x03\x12\x10\n\x08identity\x18\x04 \x01(\t\x12\x42\n\x0eworker_version\x18\x05 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\x9a\x02\n!ActivityTaskFailedEventAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x1a\n\x12scheduled_event_id\x18\x02 \x01(\x03\x12\x18\n\x10started_event_id\x18\x03 \x01(\x03\x12\x10\n\x08identity\x18\x04 \x01(\t\x12\x36\n\x0bretry_state\x18\x05 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\x12\x42\n\x0eworker_version\x18\x06 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\xc6\x01\n#ActivityTaskTimedOutEventAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x1a\n\x12scheduled_event_id\x18\x02 \x01(\x03\x12\x18\n\x10started_event_id\x18\x03 \x01(\x03\x12\x36\n\x0bretry_state\x18\x04 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\"r\n*ActivityTaskCancelRequestedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12(\n workflow_task_completed_event_id\x18\x02 \x01(\x03\"\x8e\x02\n#ActivityTaskCanceledEventAttributes\x12\x31\n\x07\x64\x65tails\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12(\n latest_cancel_requested_event_id\x18\x02 \x01(\x03\x12\x1a\n\x12scheduled_event_id\x18\x03 \x01(\x03\x12\x18\n\x10started_event_id\x18\x04 \x01(\x03\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x42\n\x0eworker_version\x18\x06 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\x93\x01\n\x1bTimerStartedEventAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\x12\x38\n\x15start_to_fire_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n workflow_task_completed_event_id\x18\x03 \x01(\x03\"G\n\x19TimerFiredEventAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\"\x86\x01\n\x1cTimerCanceledEventAttributes\x12\x10\n\x08timer_id\x18\x01 \x01(\t\x12\x18\n\x10started_event_id\x18\x02 \x01(\x03\x12(\n workflow_task_completed_event_id\x18\x03 \x01(\x03\x12\x10\n\x08identity\x18\x04 \x01(\t\"\xc7\x01\n/WorkflowExecutionCancelRequestedEventAttributes\x12\r\n\x05\x63\x61use\x18\x01 \x01(\t\x12#\n\x1b\x65xternal_initiated_event_id\x18\x02 \x01(\x03\x12N\n\x1b\x65xternal_workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x10\n\x08identity\x18\x04 \x01(\t\"\x87\x01\n(WorkflowExecutionCanceledEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x31\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\"\xe9\x02\n\x1dMarkerRecordedEventAttributes\x12\x13\n\x0bmarker_name\x18\x01 \x01(\t\x12T\n\x07\x64\x65tails\x18\x02 \x03(\x0b\x32\x43.temporal.api.history.v1.MarkerRecordedEventAttributes.DetailsEntry\x12(\n workflow_task_completed_event_id\x18\x03 \x01(\x03\x12.\n\x06header\x18\x04 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x31\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x1aP\n\x0c\x44\x65tailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads:\x02\x38\x01\"\xa7\x02\n(WorkflowExecutionSignaledEventAttributes\x12\x13\n\x0bsignal_name\x18\x01 \x01(\t\x12/\n\x05input\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\x12.\n\x06header\x18\x04 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12#\n\x1bskip_generate_workflow_task\x18\x05 \x01(\x08\x12N\n\x1b\x65xternal_workflow_execution\x18\x06 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"\x81\x01\n*WorkflowExecutionTerminatedEventAttributes\x12\x0e\n\x06reason\x18\x01 \x01(\t\x12\x31\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\"\x98\x02\n>RequestCancelExternalWorkflowExecutionInitiatedEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x0f\n\x07\x63ontrol\x18\x04 \x01(\t\x12\x1b\n\x13\x63hild_workflow_only\x18\x05 \x01(\x08\x12\x0e\n\x06reason\x18\x06 \x01(\t\"\xd6\x02\n;RequestCancelExternalWorkflowExecutionFailedEventAttributes\x12P\n\x05\x63\x61use\x18\x01 \x01(\x0e\x32\x41.temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCause\x12(\n workflow_task_completed_event_id\x18\x02 \x01(\x03\x12\x11\n\tnamespace\x18\x03 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x04 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x0f\n\x07\x63ontrol\x18\x06 \x01(\t\"\xc5\x01\n7ExternalWorkflowExecutionCancelRequestedEventAttributes\x12\x1a\n\x12initiated_event_id\x18\x01 \x01(\x03\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x04 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"\xf7\x02\n7SignalExternalWorkflowExecutionInitiatedEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\t \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x13\n\x0bsignal_name\x18\x04 \x01(\t\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x0f\n\x07\x63ontrol\x18\x06 \x01(\t\x12\x1b\n\x13\x63hild_workflow_only\x18\x07 \x01(\x08\x12.\n\x06header\x18\x08 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\"\xcf\x02\n4SignalExternalWorkflowExecutionFailedEventAttributes\x12P\n\x05\x63\x61use\x18\x01 \x01(\x0e\x32\x41.temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCause\x12(\n workflow_task_completed_event_id\x18\x02 \x01(\x03\x12\x11\n\tnamespace\x18\x03 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x04 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x0f\n\x07\x63ontrol\x18\x06 \x01(\t\"\xcf\x01\n0ExternalWorkflowExecutionSignaledEventAttributes\x12\x1a\n\x12initiated_event_id\x18\x01 \x01(\x03\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x05 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x0f\n\x07\x63ontrol\x18\x04 \x01(\t\"\x9e\x01\n-UpsertWorkflowSearchAttributesEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x43\n\x11search_attributes\x18\x02 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\"\x8a\x01\n)WorkflowPropertiesModifiedEventAttributes\x12(\n workflow_task_completed_event_id\x18\x01 \x01(\x03\x12\x33\n\rupserted_memo\x18\x02 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"\xac\x07\n3StartChildWorkflowExecutionInitiatedEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x12 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x45\n\x13parent_close_policy\x18\t \x01(\x0e\x32(.temporal.api.enums.v1.ParentClosePolicy\x12\x0f\n\x07\x63ontrol\x18\n \x01(\t\x12(\n workflow_task_completed_event_id\x18\x0b \x01(\x03\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12.\n\x06header\x18\x0f \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12*\n\x04memo\x18\x10 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x11 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x18\n\x10inherit_build_id\x18\x13 \x01(\x08\"\xd2\x02\n0StartChildWorkflowExecutionFailedEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x08 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12L\n\x05\x63\x61use\x18\x04 \x01(\x0e\x32=.temporal.api.enums.v1.StartChildWorkflowExecutionFailedCause\x12\x0f\n\x07\x63ontrol\x18\x05 \x01(\t\x12\x1a\n\x12initiated_event_id\x18\x06 \x01(\x03\x12(\n workflow_task_completed_event_id\x18\x07 \x01(\x03\"\xa7\x02\n,ChildWorkflowExecutionStartedEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x06 \x01(\t\x12\x1a\n\x12initiated_event_id\x18\x02 \x01(\x03\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12.\n\x06header\x18\x05 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\"\xc5\x02\n.ChildWorkflowExecutionCompletedEventAttributes\x12\x30\n\x06result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x18\n\x10started_event_id\x18\x06 \x01(\x03\"\xfb\x02\n+ChildWorkflowExecutionFailedEventAttributes\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x08 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x18\n\x10started_event_id\x18\x06 \x01(\x03\x12\x36\n\x0bretry_state\x18\x07 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\"\xc5\x02\n-ChildWorkflowExecutionCanceledEventAttributes\x12\x31\n\x07\x64\x65tails\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x05 \x01(\x03\x12\x18\n\x10started_event_id\x18\x06 \x01(\x03\"\xca\x02\n-ChildWorkflowExecutionTimedOutEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x07 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x04 \x01(\x03\x12\x18\n\x10started_event_id\x18\x05 \x01(\x03\x12\x36\n\x0bretry_state\x18\x06 \x01(\x0e\x32!.temporal.api.enums.v1.RetryState\"\x94\x02\n/ChildWorkflowExecutionTerminatedEventAttributes\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x06 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x1a\n\x12initiated_event_id\x18\x04 \x01(\x03\x12\x18\n\x10started_event_id\x18\x05 \x01(\x03\"\xc0\x02\n3WorkflowPropertiesModifiedExternallyEventAttributes\x12\x16\n\x0enew_task_queue\x18\x01 \x01(\t\x12<\n\x19new_workflow_task_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18new_workflow_run_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x41\n\x1enew_workflow_execution_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\rupserted_memo\x18\x05 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"\x90\x01\n3ActivityPropertiesModifiedExternallyEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12=\n\x10new_retry_policy\x18\x02 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\"\xdc\x01\n.WorkflowExecutionUpdateAcceptedEventAttributes\x12\x1c\n\x14protocol_instance_id\x18\x01 \x01(\t\x12#\n\x1b\x61\x63\x63\x65pted_request_message_id\x18\x02 \x01(\t\x12,\n$accepted_request_sequencing_event_id\x18\x03 \x01(\x03\x12\x39\n\x10\x61\x63\x63\x65pted_request\x18\x04 \x01(\x0b\x32\x1f.temporal.api.update.v1.Request\"\xaa\x01\n/WorkflowExecutionUpdateCompletedEventAttributes\x12*\n\x04meta\x18\x01 \x01(\x0b\x32\x1c.temporal.api.update.v1.Meta\x12\x19\n\x11\x61\x63\x63\x65pted_event_id\x18\x03 \x01(\x03\x12\x30\n\x07outcome\x18\x02 \x01(\x0b\x32\x1f.temporal.api.update.v1.Outcome\"\x8f\x02\n.WorkflowExecutionUpdateRejectedEventAttributes\x12\x1c\n\x14protocol_instance_id\x18\x01 \x01(\t\x12#\n\x1brejected_request_message_id\x18\x02 \x01(\t\x12,\n$rejected_request_sequencing_event_id\x18\x03 \x01(\x03\x12\x39\n\x10rejected_request\x18\x04 \x01(\x0b\x32\x1f.temporal.api.update.v1.Request\x12\x31\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xa4\x01\n.WorkflowExecutionUpdateAdmittedEventAttributes\x12\x30\n\x07request\x18\x01 \x01(\x0b\x32\x1f.temporal.api.update.v1.Request\x12@\n\x06origin\x18\x02 \x01(\x0e\x32\x30.temporal.api.enums.v1.UpdateAdmittedEventOrigin\"\xa6\x03\n&NexusOperationScheduledEventAttributes\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x0f\n\x07service\x18\x02 \x01(\t\x12\x11\n\toperation\x18\x03 \x01(\t\x12.\n\x05input\x18\x04 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x66\n\x0cnexus_header\x18\x06 \x03(\x0b\x32P.temporal.api.history.v1.NexusOperationScheduledEventAttributes.NexusHeaderEntry\x12(\n workflow_task_completed_event_id\x18\x07 \x01(\x03\x12\x12\n\nrequest_id\x18\x08 \x01(\t\x1a\x32\n\x10NexusHeaderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"X\n$NexusOperationStartedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x14\n\x0coperation_id\x18\x03 \x01(\t\"u\n&NexusOperationCompletedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12/\n\x06result\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"t\n#NexusOperationFailedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x31\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"v\n%NexusOperationTimedOutEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x31\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"v\n%NexusOperationCanceledEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12\x31\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"t\n,NexusOperationCancelRequestedEventAttributes\x12\x1a\n\x12scheduled_event_id\x18\x01 \x01(\x03\x12(\n workflow_task_completed_event_id\x18\x02 \x01(\x03\"\xe5\x37\n\x0cHistoryEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x03\x12.\n\nevent_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\nevent_type\x18\x03 \x01(\x0e\x32 .temporal.api.enums.v1.EventType\x12\x0f\n\x07version\x18\x04 \x01(\x03\x12\x0f\n\x07task_id\x18\x05 \x01(\x03\x12\x1a\n\x11worker_may_ignore\x18\xac\x02 \x01(\x08\x12\x39\n\ruser_metadata\x18\xad\x02 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\x12w\n+workflow_execution_started_event_attributes\x18\x06 \x01(\x0b\x32@.temporal.api.history.v1.WorkflowExecutionStartedEventAttributesH\x00\x12{\n-workflow_execution_completed_event_attributes\x18\x07 \x01(\x0b\x32\x42.temporal.api.history.v1.WorkflowExecutionCompletedEventAttributesH\x00\x12u\n*workflow_execution_failed_event_attributes\x18\x08 \x01(\x0b\x32?.temporal.api.history.v1.WorkflowExecutionFailedEventAttributesH\x00\x12z\n-workflow_execution_timed_out_event_attributes\x18\t \x01(\x0b\x32\x41.temporal.api.history.v1.WorkflowExecutionTimedOutEventAttributesH\x00\x12q\n(workflow_task_scheduled_event_attributes\x18\n \x01(\x0b\x32=.temporal.api.history.v1.WorkflowTaskScheduledEventAttributesH\x00\x12m\n&workflow_task_started_event_attributes\x18\x0b \x01(\x0b\x32;.temporal.api.history.v1.WorkflowTaskStartedEventAttributesH\x00\x12q\n(workflow_task_completed_event_attributes\x18\x0c \x01(\x0b\x32=.temporal.api.history.v1.WorkflowTaskCompletedEventAttributesH\x00\x12p\n(workflow_task_timed_out_event_attributes\x18\r \x01(\x0b\x32<.temporal.api.history.v1.WorkflowTaskTimedOutEventAttributesH\x00\x12k\n%workflow_task_failed_event_attributes\x18\x0e \x01(\x0b\x32:.temporal.api.history.v1.WorkflowTaskFailedEventAttributesH\x00\x12q\n(activity_task_scheduled_event_attributes\x18\x0f \x01(\x0b\x32=.temporal.api.history.v1.ActivityTaskScheduledEventAttributesH\x00\x12m\n&activity_task_started_event_attributes\x18\x10 \x01(\x0b\x32;.temporal.api.history.v1.ActivityTaskStartedEventAttributesH\x00\x12q\n(activity_task_completed_event_attributes\x18\x11 \x01(\x0b\x32=.temporal.api.history.v1.ActivityTaskCompletedEventAttributesH\x00\x12k\n%activity_task_failed_event_attributes\x18\x12 \x01(\x0b\x32:.temporal.api.history.v1.ActivityTaskFailedEventAttributesH\x00\x12p\n(activity_task_timed_out_event_attributes\x18\x13 \x01(\x0b\x32<.temporal.api.history.v1.ActivityTaskTimedOutEventAttributesH\x00\x12^\n\x1etimer_started_event_attributes\x18\x14 \x01(\x0b\x32\x34.temporal.api.history.v1.TimerStartedEventAttributesH\x00\x12Z\n\x1ctimer_fired_event_attributes\x18\x15 \x01(\x0b\x32\x32.temporal.api.history.v1.TimerFiredEventAttributesH\x00\x12~\n/activity_task_cancel_requested_event_attributes\x18\x16 \x01(\x0b\x32\x43.temporal.api.history.v1.ActivityTaskCancelRequestedEventAttributesH\x00\x12o\n\'activity_task_canceled_event_attributes\x18\x17 \x01(\x0b\x32<.temporal.api.history.v1.ActivityTaskCanceledEventAttributesH\x00\x12`\n\x1ftimer_canceled_event_attributes\x18\x18 \x01(\x0b\x32\x35.temporal.api.history.v1.TimerCanceledEventAttributesH\x00\x12\x62\n marker_recorded_event_attributes\x18\x19 \x01(\x0b\x32\x36.temporal.api.history.v1.MarkerRecordedEventAttributesH\x00\x12y\n,workflow_execution_signaled_event_attributes\x18\x1a \x01(\x0b\x32\x41.temporal.api.history.v1.WorkflowExecutionSignaledEventAttributesH\x00\x12}\n.workflow_execution_terminated_event_attributes\x18\x1b \x01(\x0b\x32\x43.temporal.api.history.v1.WorkflowExecutionTerminatedEventAttributesH\x00\x12\x88\x01\n4workflow_execution_cancel_requested_event_attributes\x18\x1c \x01(\x0b\x32H.temporal.api.history.v1.WorkflowExecutionCancelRequestedEventAttributesH\x00\x12y\n,workflow_execution_canceled_event_attributes\x18\x1d \x01(\x0b\x32\x41.temporal.api.history.v1.WorkflowExecutionCanceledEventAttributesH\x00\x12\xa8\x01\nErequest_cancel_external_workflow_execution_initiated_event_attributes\x18\x1e \x01(\x0b\x32W.temporal.api.history.v1.RequestCancelExternalWorkflowExecutionInitiatedEventAttributesH\x00\x12\xa2\x01\nBrequest_cancel_external_workflow_execution_failed_event_attributes\x18\x1f \x01(\x0b\x32T.temporal.api.history.v1.RequestCancelExternalWorkflowExecutionFailedEventAttributesH\x00\x12\x99\x01\n=external_workflow_execution_cancel_requested_event_attributes\x18 \x01(\x0b\x32P.temporal.api.history.v1.ExternalWorkflowExecutionCancelRequestedEventAttributesH\x00\x12\x87\x01\n4workflow_execution_continued_as_new_event_attributes\x18! \x01(\x0b\x32G.temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributesH\x00\x12\x91\x01\n9start_child_workflow_execution_initiated_event_attributes\x18\" \x01(\x0b\x32L.temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributesH\x00\x12\x8b\x01\n6start_child_workflow_execution_failed_event_attributes\x18# \x01(\x0b\x32I.temporal.api.history.v1.StartChildWorkflowExecutionFailedEventAttributesH\x00\x12\x82\x01\n1child_workflow_execution_started_event_attributes\x18$ \x01(\x0b\x32\x45.temporal.api.history.v1.ChildWorkflowExecutionStartedEventAttributesH\x00\x12\x86\x01\n3child_workflow_execution_completed_event_attributes\x18% \x01(\x0b\x32G.temporal.api.history.v1.ChildWorkflowExecutionCompletedEventAttributesH\x00\x12\x80\x01\n0child_workflow_execution_failed_event_attributes\x18& \x01(\x0b\x32\x44.temporal.api.history.v1.ChildWorkflowExecutionFailedEventAttributesH\x00\x12\x84\x01\n2child_workflow_execution_canceled_event_attributes\x18\' \x01(\x0b\x32\x46.temporal.api.history.v1.ChildWorkflowExecutionCanceledEventAttributesH\x00\x12\x85\x01\n3child_workflow_execution_timed_out_event_attributes\x18( \x01(\x0b\x32\x46.temporal.api.history.v1.ChildWorkflowExecutionTimedOutEventAttributesH\x00\x12\x88\x01\n4child_workflow_execution_terminated_event_attributes\x18) \x01(\x0b\x32H.temporal.api.history.v1.ChildWorkflowExecutionTerminatedEventAttributesH\x00\x12\x99\x01\n=signal_external_workflow_execution_initiated_event_attributes\x18* \x01(\x0b\x32P.temporal.api.history.v1.SignalExternalWorkflowExecutionInitiatedEventAttributesH\x00\x12\x93\x01\n:signal_external_workflow_execution_failed_event_attributes\x18+ \x01(\x0b\x32M.temporal.api.history.v1.SignalExternalWorkflowExecutionFailedEventAttributesH\x00\x12\x8a\x01\n5external_workflow_execution_signaled_event_attributes\x18, \x01(\x0b\x32I.temporal.api.history.v1.ExternalWorkflowExecutionSignaledEventAttributesH\x00\x12\x84\x01\n2upsert_workflow_search_attributes_event_attributes\x18- \x01(\x0b\x32\x46.temporal.api.history.v1.UpsertWorkflowSearchAttributesEventAttributesH\x00\x12\x86\x01\n3workflow_execution_update_accepted_event_attributes\x18. \x01(\x0b\x32G.temporal.api.history.v1.WorkflowExecutionUpdateAcceptedEventAttributesH\x00\x12\x86\x01\n3workflow_execution_update_rejected_event_attributes\x18/ \x01(\x0b\x32G.temporal.api.history.v1.WorkflowExecutionUpdateRejectedEventAttributesH\x00\x12\x88\x01\n4workflow_execution_update_completed_event_attributes\x18\x30 \x01(\x0b\x32H.temporal.api.history.v1.WorkflowExecutionUpdateCompletedEventAttributesH\x00\x12\x90\x01\n8workflow_properties_modified_externally_event_attributes\x18\x31 \x01(\x0b\x32L.temporal.api.history.v1.WorkflowPropertiesModifiedExternallyEventAttributesH\x00\x12\x90\x01\n8activity_properties_modified_externally_event_attributes\x18\x32 \x01(\x0b\x32L.temporal.api.history.v1.ActivityPropertiesModifiedExternallyEventAttributesH\x00\x12{\n-workflow_properties_modified_event_attributes\x18\x33 \x01(\x0b\x32\x42.temporal.api.history.v1.WorkflowPropertiesModifiedEventAttributesH\x00\x12\x86\x01\n3workflow_execution_update_admitted_event_attributes\x18\x34 \x01(\x0b\x32G.temporal.api.history.v1.WorkflowExecutionUpdateAdmittedEventAttributesH\x00\x12u\n*nexus_operation_scheduled_event_attributes\x18\x35 \x01(\x0b\x32?.temporal.api.history.v1.NexusOperationScheduledEventAttributesH\x00\x12q\n(nexus_operation_started_event_attributes\x18\x36 \x01(\x0b\x32=.temporal.api.history.v1.NexusOperationStartedEventAttributesH\x00\x12u\n*nexus_operation_completed_event_attributes\x18\x37 \x01(\x0b\x32?.temporal.api.history.v1.NexusOperationCompletedEventAttributesH\x00\x12o\n\'nexus_operation_failed_event_attributes\x18\x38 \x01(\x0b\x32<.temporal.api.history.v1.NexusOperationFailedEventAttributesH\x00\x12s\n)nexus_operation_canceled_event_attributes\x18\x39 \x01(\x0b\x32>.temporal.api.history.v1.NexusOperationCanceledEventAttributesH\x00\x12t\n*nexus_operation_timed_out_event_attributes\x18: \x01(\x0b\x32>.temporal.api.history.v1.NexusOperationTimedOutEventAttributesH\x00\x12\x82\x01\n1nexus_operation_cancel_requested_event_attributes\x18; \x01(\x0b\x32\x45.temporal.api.history.v1.NexusOperationCancelRequestedEventAttributesH\x00\x42\x0c\n\nattributes\"@\n\x07History\x12\x35\n\x06\x65vents\x18\x01 \x03(\x0b\x32%.temporal.api.history.v1.HistoryEventB\x8e\x01\n\x1aio.temporal.api.history.v1B\x0cMessageProtoP\x01Z%go.temporal.io/api/history/v1;history\xaa\x02\x19Temporalio.Api.History.V1\xea\x02\x1cTemporalio::Api::History::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -73,7 +74,14 @@ module V1 WorkflowExecutionUpdateAcceptedEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.WorkflowExecutionUpdateAcceptedEventAttributes").msgclass WorkflowExecutionUpdateCompletedEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.WorkflowExecutionUpdateCompletedEventAttributes").msgclass WorkflowExecutionUpdateRejectedEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.WorkflowExecutionUpdateRejectedEventAttributes").msgclass - WorkflowExecutionUpdateRequestedEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.WorkflowExecutionUpdateRequestedEventAttributes").msgclass + WorkflowExecutionUpdateAdmittedEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.WorkflowExecutionUpdateAdmittedEventAttributes").msgclass + NexusOperationScheduledEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.NexusOperationScheduledEventAttributes").msgclass + NexusOperationStartedEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.NexusOperationStartedEventAttributes").msgclass + NexusOperationCompletedEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.NexusOperationCompletedEventAttributes").msgclass + NexusOperationFailedEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.NexusOperationFailedEventAttributes").msgclass + NexusOperationTimedOutEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.NexusOperationTimedOutEventAttributes").msgclass + NexusOperationCanceledEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.NexusOperationCanceledEventAttributes").msgclass + NexusOperationCancelRequestedEventAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.NexusOperationCancelRequestedEventAttributes").msgclass HistoryEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.HistoryEvent").msgclass History = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.history.v1.History").msgclass end diff --git a/temporalio/lib/temporalio/api/namespace/v1/message.rb b/temporalio/lib/temporalio/api/namespace/v1/message.rb index 61f1d9af..c907480e 100644 --- a/temporalio/lib/temporalio/api/namespace/v1/message.rb +++ b/temporalio/lib/temporalio/api/namespace/v1/message.rb @@ -9,7 +9,7 @@ require 'temporalio/api/enums/v1/namespace' -descriptor_data = "\n\'temporal/api/namespace/v1/message.proto\x12\x19temporal.api.namespace.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a%temporal/api/enums/v1/namespace.proto\"\x94\x02\n\rNamespaceInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32%.temporal.api.enums.v1.NamespaceState\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x13\n\x0bowner_email\x18\x04 \x01(\t\x12@\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x32.temporal.api.namespace.v1.NamespaceInfo.DataEntry\x12\n\n\x02id\x18\x06 \x01(\t\x12\x1a\n\x12supports_schedules\x18\x64 \x01(\x08\x1a+\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9e\x04\n\x0fNamespaceConfig\x12\x43\n workflow_execution_retention_ttl\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x0c\x62\x61\x64_binaries\x18\x02 \x01(\x0b\x32&.temporal.api.namespace.v1.BadBinaries\x12\x44\n\x16history_archival_state\x18\x03 \x01(\x0e\x32$.temporal.api.enums.v1.ArchivalState\x12\x1c\n\x14history_archival_uri\x18\x04 \x01(\t\x12G\n\x19visibility_archival_state\x18\x05 \x01(\x0e\x32$.temporal.api.enums.v1.ArchivalState\x12\x1f\n\x17visibility_archival_uri\x18\x06 \x01(\t\x12u\n\x1f\x63ustom_search_attribute_aliases\x18\x07 \x03(\x0b\x32L.temporal.api.namespace.v1.NamespaceConfig.CustomSearchAttributeAliasesEntry\x1a\x43\n!CustomSearchAttributeAliasesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xb0\x01\n\x0b\x42\x61\x64\x42inaries\x12\x46\n\x08\x62inaries\x18\x01 \x03(\x0b\x32\x34.temporal.api.namespace.v1.BadBinaries.BinariesEntry\x1aY\n\rBinariesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32(.temporal.api.namespace.v1.BadBinaryInfo:\x02\x38\x01\"b\n\rBadBinaryInfo\x12\x0e\n\x06reason\x18\x01 \x01(\t\x12\x10\n\x08operator\x18\x02 \x01(\t\x12/\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xea\x01\n\x13UpdateNamespaceInfo\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x13\n\x0bowner_email\x18\x02 \x01(\t\x12\x46\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x38.temporal.api.namespace.v1.UpdateNamespaceInfo.DataEntry\x12\x34\n\x05state\x18\x04 \x01(\x0e\x32%.temporal.api.enums.v1.NamespaceState\x1a+\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"*\n\x0fNamespaceFilter\x12\x17\n\x0finclude_deleted\x18\x01 \x01(\x08\x42\x98\x01\n\x1cio.temporal.api.namespace.v1B\x0cMessageProtoP\x01Z)go.temporal.io/api/namespace/v1;namespace\xaa\x02\x1bTemporalio.Api.Namespace.V1\xea\x02\x1eTemporalio::Api::Namespace::V1b\x06proto3" +descriptor_data = "\n\'temporal/api/namespace/v1/message.proto\x12\x19temporal.api.namespace.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a%temporal/api/enums/v1/namespace.proto\"\xba\x03\n\rNamespaceInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32%.temporal.api.enums.v1.NamespaceState\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x13\n\x0bowner_email\x18\x04 \x01(\t\x12@\n\x04\x64\x61ta\x18\x05 \x03(\x0b\x32\x32.temporal.api.namespace.v1.NamespaceInfo.DataEntry\x12\n\n\x02id\x18\x06 \x01(\t\x12K\n\x0c\x63\x61pabilities\x18\x07 \x01(\x0b\x32\x35.temporal.api.namespace.v1.NamespaceInfo.Capabilities\x12\x1a\n\x12supports_schedules\x18\x64 \x01(\x08\x1a+\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aW\n\x0c\x43\x61pabilities\x12\x1c\n\x14\x65\x61ger_workflow_start\x18\x01 \x01(\x08\x12\x13\n\x0bsync_update\x18\x02 \x01(\x08\x12\x14\n\x0c\x61sync_update\x18\x03 \x01(\x08\"\x9e\x04\n\x0fNamespaceConfig\x12\x43\n workflow_execution_retention_ttl\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x0c\x62\x61\x64_binaries\x18\x02 \x01(\x0b\x32&.temporal.api.namespace.v1.BadBinaries\x12\x44\n\x16history_archival_state\x18\x03 \x01(\x0e\x32$.temporal.api.enums.v1.ArchivalState\x12\x1c\n\x14history_archival_uri\x18\x04 \x01(\t\x12G\n\x19visibility_archival_state\x18\x05 \x01(\x0e\x32$.temporal.api.enums.v1.ArchivalState\x12\x1f\n\x17visibility_archival_uri\x18\x06 \x01(\t\x12u\n\x1f\x63ustom_search_attribute_aliases\x18\x07 \x03(\x0b\x32L.temporal.api.namespace.v1.NamespaceConfig.CustomSearchAttributeAliasesEntry\x1a\x43\n!CustomSearchAttributeAliasesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xb0\x01\n\x0b\x42\x61\x64\x42inaries\x12\x46\n\x08\x62inaries\x18\x01 \x03(\x0b\x32\x34.temporal.api.namespace.v1.BadBinaries.BinariesEntry\x1aY\n\rBinariesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32(.temporal.api.namespace.v1.BadBinaryInfo:\x02\x38\x01\"b\n\rBadBinaryInfo\x12\x0e\n\x06reason\x18\x01 \x01(\t\x12\x10\n\x08operator\x18\x02 \x01(\t\x12/\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xea\x01\n\x13UpdateNamespaceInfo\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x13\n\x0bowner_email\x18\x02 \x01(\t\x12\x46\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x38.temporal.api.namespace.v1.UpdateNamespaceInfo.DataEntry\x12\x34\n\x05state\x18\x04 \x01(\x0e\x32%.temporal.api.enums.v1.NamespaceState\x1a+\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"*\n\x0fNamespaceFilter\x12\x17\n\x0finclude_deleted\x18\x01 \x01(\x08\x42\x98\x01\n\x1cio.temporal.api.namespace.v1B\x0cMessageProtoP\x01Z)go.temporal.io/api/namespace/v1;namespace\xaa\x02\x1bTemporalio.Api.Namespace.V1\xea\x02\x1eTemporalio::Api::Namespace::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -19,6 +19,7 @@ module Api module Namespace module V1 NamespaceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.namespace.v1.NamespaceInfo").msgclass + NamespaceInfo::Capabilities = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.namespace.v1.NamespaceInfo.Capabilities").msgclass NamespaceConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.namespace.v1.NamespaceConfig").msgclass BadBinaries = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.namespace.v1.BadBinaries").msgclass BadBinaryInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.namespace.v1.BadBinaryInfo").msgclass diff --git a/temporalio/lib/temporalio/api/nexus/v1/message.rb b/temporalio/lib/temporalio/api/nexus/v1/message.rb new file mode 100644 index 00000000..f1348475 --- /dev/null +++ b/temporalio/lib/temporalio/api/nexus/v1/message.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/nexus/v1/message.proto + +require 'google/protobuf' + +require 'google/protobuf/timestamp_pb' +require 'temporalio/api/common/v1/message' +require 'temporalio/api/sdk/v1/user_metadata' + + +descriptor_data = "\n#temporal/api/nexus/v1/message.proto\x12\x15temporal.api.nexus.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a\'temporal/api/sdk/v1/user_metadata.proto\"\x9c\x01\n\x07\x46\x61ilure\x12\x0f\n\x07message\x18\x01 \x01(\t\x12>\n\x08metadata\x18\x02 \x03(\x0b\x32,.temporal.api.nexus.v1.Failure.MetadataEntry\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\x0c\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"S\n\x0cHandlerError\x12\x12\n\nerror_type\x18\x01 \x01(\t\x12/\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32\x1e.temporal.api.nexus.v1.Failure\"f\n\x1aUnsuccessfulOperationError\x12\x17\n\x0foperation_state\x18\x01 \x01(\t\x12/\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32\x1e.temporal.api.nexus.v1.Failure\"\xa5\x02\n\x15StartOperationRequest\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\x12\x10\n\x08\x63\x61llback\x18\x04 \x01(\t\x12\x30\n\x07payload\x18\x05 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12Y\n\x0f\x63\x61llback_header\x18\x06 \x03(\x0b\x32@.temporal.api.nexus.v1.StartOperationRequest.CallbackHeaderEntry\x1a\x35\n\x13\x43\x61llbackHeaderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"R\n\x16\x43\x61ncelOperationRequest\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12\x14\n\x0coperation_id\x18\x03 \x01(\t\"\xc7\x02\n\x07Request\x12:\n\x06header\x18\x01 \x03(\x0b\x32*.temporal.api.nexus.v1.Request.HeaderEntry\x12\x32\n\x0escheduled_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n\x0fstart_operation\x18\x03 \x01(\x0b\x32,.temporal.api.nexus.v1.StartOperationRequestH\x00\x12I\n\x10\x63\x61ncel_operation\x18\x04 \x01(\x0b\x32-.temporal.api.nexus.v1.CancelOperationRequestH\x00\x1a-\n\x0bHeaderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07variant\"\xe4\x02\n\x16StartOperationResponse\x12J\n\x0csync_success\x18\x01 \x01(\x0b\x32\x32.temporal.api.nexus.v1.StartOperationResponse.SyncH\x00\x12L\n\rasync_success\x18\x02 \x01(\x0b\x32\x33.temporal.api.nexus.v1.StartOperationResponse.AsyncH\x00\x12L\n\x0foperation_error\x18\x03 \x01(\x0b\x32\x31.temporal.api.nexus.v1.UnsuccessfulOperationErrorH\x00\x1a\x38\n\x04Sync\x12\x30\n\x07payload\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\x1a\x1d\n\x05\x41sync\x12\x14\n\x0coperation_id\x18\x01 \x01(\tB\t\n\x07variant\"\x19\n\x17\x43\x61ncelOperationResponse\"\xab\x01\n\x08Response\x12H\n\x0fstart_operation\x18\x01 \x01(\x0b\x32-.temporal.api.nexus.v1.StartOperationResponseH\x00\x12J\n\x10\x63\x61ncel_operation\x18\x02 \x01(\x0b\x32..temporal.api.nexus.v1.CancelOperationResponseH\x00\x42\t\n\x07variant\"\xd8\x01\n\x08\x45ndpoint\x12\x0f\n\x07version\x18\x01 \x01(\x03\x12\n\n\x02id\x18\x02 \x01(\t\x12\x31\n\x04spec\x18\x03 \x01(\x0b\x32#.temporal.api.nexus.v1.EndpointSpec\x12\x30\n\x0c\x63reated_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12last_modified_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nurl_prefix\x18\x06 \x01(\t\"\x88\x01\n\x0c\x45ndpointSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x33\n\x08metadata\x18\x02 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\x12\x35\n\x06target\x18\x03 \x01(\x0b\x32%.temporal.api.nexus.v1.EndpointTarget\"\xe9\x01\n\x0e\x45ndpointTarget\x12>\n\x06worker\x18\x01 \x01(\x0b\x32,.temporal.api.nexus.v1.EndpointTarget.WorkerH\x00\x12\x42\n\x08\x65xternal\x18\x02 \x01(\x0b\x32..temporal.api.nexus.v1.EndpointTarget.ExternalH\x00\x1a/\n\x06Worker\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x1a\x17\n\x08\x45xternal\x12\x0b\n\x03url\x18\x01 \x01(\tB\t\n\x07variantB\x84\x01\n\x18io.temporal.api.nexus.v1B\x0cMessageProtoP\x01Z!go.temporal.io/api/nexus/v1;nexus\xaa\x02\x17Temporalio.Api.Nexus.V1\xea\x02\x1aTemporalio::Api::Nexus::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Nexus + module V1 + Failure = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.Failure").msgclass + HandlerError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.HandlerError").msgclass + UnsuccessfulOperationError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.UnsuccessfulOperationError").msgclass + StartOperationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.StartOperationRequest").msgclass + CancelOperationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.CancelOperationRequest").msgclass + Request = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.Request").msgclass + StartOperationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.StartOperationResponse").msgclass + StartOperationResponse::Sync = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.StartOperationResponse.Sync").msgclass + StartOperationResponse::Async = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.StartOperationResponse.Async").msgclass + CancelOperationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.CancelOperationResponse").msgclass + Response = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.Response").msgclass + Endpoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.Endpoint").msgclass + EndpointSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.EndpointSpec").msgclass + EndpointTarget = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.EndpointTarget").msgclass + EndpointTarget::Worker = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.EndpointTarget.Worker").msgclass + EndpointTarget::External = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.nexus.v1.EndpointTarget.External").msgclass + end + end + end +end diff --git a/temporalio/lib/temporalio/api/operatorservice.rb b/temporalio/lib/temporalio/api/operatorservice.rb index 768e87b3..c7d3bac8 100644 --- a/temporalio/lib/temporalio/api/operatorservice.rb +++ b/temporalio/lib/temporalio/api/operatorservice.rb @@ -1,3 +1,3 @@ # frozen_string_literal: true -require 'temporalio/api/operatorservice/v1/service' +require 'temporalio/api/operatorservice/v1/request_response' diff --git a/temporalio/lib/temporalio/api/operatorservice/v1/request_response.rb b/temporalio/lib/temporalio/api/operatorservice/v1/request_response.rb index 65a9c484..33671026 100644 --- a/temporalio/lib/temporalio/api/operatorservice/v1/request_response.rb +++ b/temporalio/lib/temporalio/api/operatorservice/v1/request_response.rb @@ -5,9 +5,11 @@ require 'google/protobuf' require 'temporalio/api/enums/v1/common' +require 'temporalio/api/nexus/v1/message' +require 'google/protobuf/duration_pb' -descriptor_data = "\n6temporal/api/operatorservice/v1/request_response.proto\x12\x1ftemporal.api.operatorservice.v1\x1a\"temporal/api/enums/v1/common.proto\"\xff\x01\n\x1a\x41\x64\x64SearchAttributesRequest\x12l\n\x11search_attributes\x18\x01 \x03(\x0b\x32Q.temporal.api.operatorservice.v1.AddSearchAttributesRequest.SearchAttributesEntry\x12\x11\n\tnamespace\x18\x02 \x01(\t\x1a`\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1.IndexedValueType:\x02\x38\x01\"\x1d\n\x1b\x41\x64\x64SearchAttributesResponse\"M\n\x1dRemoveSearchAttributesRequest\x12\x19\n\x11search_attributes\x18\x01 \x03(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\" \n\x1eRemoveSearchAttributesResponse\"0\n\x1bListSearchAttributesRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\"\xe2\x04\n\x1cListSearchAttributesResponse\x12n\n\x11\x63ustom_attributes\x18\x01 \x03(\x0b\x32S.temporal.api.operatorservice.v1.ListSearchAttributesResponse.CustomAttributesEntry\x12n\n\x11system_attributes\x18\x02 \x03(\x0b\x32S.temporal.api.operatorservice.v1.ListSearchAttributesResponse.SystemAttributesEntry\x12h\n\x0estorage_schema\x18\x03 \x03(\x0b\x32P.temporal.api.operatorservice.v1.ListSearchAttributesResponse.StorageSchemaEntry\x1a`\n\x15\x43ustomAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1.IndexedValueType:\x02\x38\x01\x1a`\n\x15SystemAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1.IndexedValueType:\x02\x38\x01\x1a\x34\n\x12StorageSchemaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\x16\x44\x65leteNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x02 \x01(\t\"4\n\x17\x44\x65leteNamespaceResponse\x12\x19\n\x11\x64\x65leted_namespace\x18\x01 \x01(\t\"e\n\x1f\x41\x64\x64OrUpdateRemoteClusterRequest\x12\x18\n\x10\x66rontend_address\x18\x01 \x01(\t\x12(\n enable_remote_cluster_connection\x18\x02 \x01(\x08\"\"\n AddOrUpdateRemoteClusterResponse\"2\n\x1aRemoveRemoteClusterRequest\x12\x14\n\x0c\x63luster_name\x18\x01 \x01(\t\"\x1d\n\x1bRemoveRemoteClusterResponse\"A\n\x13ListClustersRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"s\n\x14ListClustersResponse\x12\x42\n\x08\x63lusters\x18\x01 \x03(\x0b\x32\x30.temporal.api.operatorservice.v1.ClusterMetadata\x12\x17\n\x0fnext_page_token\x18\x04 \x01(\x0c\"\xaa\x01\n\x0f\x43lusterMetadata\x12\x14\n\x0c\x63luster_name\x18\x01 \x01(\t\x12\x12\n\ncluster_id\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\t\x12 \n\x18initial_failover_version\x18\x04 \x01(\x03\x12\x1b\n\x13history_shard_count\x18\x05 \x01(\x05\x12\x1d\n\x15is_connection_enabled\x18\x06 \x01(\x08\x42\xbe\x01\n\"io.temporal.api.operatorservice.v1B\x14RequestResponseProtoP\x01Z5go.temporal.io/api/operatorservice/v1;operatorservice\xaa\x02!Temporalio.Api.OperatorService.V1\xea\x02$Temporalio::Api::OperatorService::V1b\x06proto3" +descriptor_data = "\n6temporal/api/operatorservice/v1/request_response.proto\x12\x1ftemporal.api.operatorservice.v1\x1a\"temporal/api/enums/v1/common.proto\x1a#temporal/api/nexus/v1/message.proto\x1a\x1egoogle/protobuf/duration.proto\"\xff\x01\n\x1a\x41\x64\x64SearchAttributesRequest\x12l\n\x11search_attributes\x18\x01 \x03(\x0b\x32Q.temporal.api.operatorservice.v1.AddSearchAttributesRequest.SearchAttributesEntry\x12\x11\n\tnamespace\x18\x02 \x01(\t\x1a`\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1.IndexedValueType:\x02\x38\x01\"\x1d\n\x1b\x41\x64\x64SearchAttributesResponse\"M\n\x1dRemoveSearchAttributesRequest\x12\x19\n\x11search_attributes\x18\x01 \x03(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\" \n\x1eRemoveSearchAttributesResponse\"0\n\x1bListSearchAttributesRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\"\xe2\x04\n\x1cListSearchAttributesResponse\x12n\n\x11\x63ustom_attributes\x18\x01 \x03(\x0b\x32S.temporal.api.operatorservice.v1.ListSearchAttributesResponse.CustomAttributesEntry\x12n\n\x11system_attributes\x18\x02 \x03(\x0b\x32S.temporal.api.operatorservice.v1.ListSearchAttributesResponse.SystemAttributesEntry\x12h\n\x0estorage_schema\x18\x03 \x03(\x0b\x32P.temporal.api.operatorservice.v1.ListSearchAttributesResponse.StorageSchemaEntry\x1a`\n\x15\x43ustomAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1.IndexedValueType:\x02\x38\x01\x1a`\n\x15SystemAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1.IndexedValueType:\x02\x38\x01\x1a\x34\n\x12StorageSchemaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"|\n\x16\x44\x65leteNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x02 \x01(\t\x12\x39\n\x16namespace_delete_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\"4\n\x17\x44\x65leteNamespaceResponse\x12\x19\n\x11\x64\x65leted_namespace\x18\x01 \x01(\t\"\x84\x01\n\x1f\x41\x64\x64OrUpdateRemoteClusterRequest\x12\x18\n\x10\x66rontend_address\x18\x01 \x01(\t\x12(\n enable_remote_cluster_connection\x18\x02 \x01(\x08\x12\x1d\n\x15\x66rontend_http_address\x18\x03 \x01(\t\"\"\n AddOrUpdateRemoteClusterResponse\"2\n\x1aRemoveRemoteClusterRequest\x12\x14\n\x0c\x63luster_name\x18\x01 \x01(\t\"\x1d\n\x1bRemoveRemoteClusterResponse\"A\n\x13ListClustersRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"s\n\x14ListClustersResponse\x12\x42\n\x08\x63lusters\x18\x01 \x03(\x0b\x32\x30.temporal.api.operatorservice.v1.ClusterMetadata\x12\x17\n\x0fnext_page_token\x18\x04 \x01(\x0c\"\xc0\x01\n\x0f\x43lusterMetadata\x12\x14\n\x0c\x63luster_name\x18\x01 \x01(\t\x12\x12\n\ncluster_id\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\t\x12\x14\n\x0chttp_address\x18\x07 \x01(\t\x12 \n\x18initial_failover_version\x18\x04 \x01(\x03\x12\x1b\n\x13history_shard_count\x18\x05 \x01(\x05\x12\x1d\n\x15is_connection_enabled\x18\x06 \x01(\x08\"%\n\x17GetNexusEndpointRequest\x12\n\n\x02id\x18\x01 \x01(\t\"M\n\x18GetNexusEndpointResponse\x12\x31\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32\x1f.temporal.api.nexus.v1.Endpoint\"O\n\x1a\x43reateNexusEndpointRequest\x12\x31\n\x04spec\x18\x01 \x01(\x0b\x32#.temporal.api.nexus.v1.EndpointSpec\"P\n\x1b\x43reateNexusEndpointResponse\x12\x31\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32\x1f.temporal.api.nexus.v1.Endpoint\"l\n\x1aUpdateNexusEndpointRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\x12\x31\n\x04spec\x18\x03 \x01(\x0b\x32#.temporal.api.nexus.v1.EndpointSpec\"P\n\x1bUpdateNexusEndpointResponse\x12\x31\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32\x1f.temporal.api.nexus.v1.Endpoint\"9\n\x1a\x44\x65leteNexusEndpointRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\"\x1d\n\x1b\x44\x65leteNexusEndpointResponse\"U\n\x19ListNexusEndpointsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\x12\x0c\n\x04name\x18\x03 \x01(\t\"i\n\x1aListNexusEndpointsResponse\x12\x17\n\x0fnext_page_token\x18\x01 \x01(\x0c\x12\x32\n\tendpoints\x18\x02 \x03(\x0b\x32\x1f.temporal.api.nexus.v1.EndpointB\xbe\x01\n\"io.temporal.api.operatorservice.v1B\x14RequestResponseProtoP\x01Z5go.temporal.io/api/operatorservice/v1;operatorservice\xaa\x02!Temporalio.Api.OperatorService.V1\xea\x02$Temporalio::Api::OperatorService::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -31,6 +33,16 @@ module V1 ListClustersRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.ListClustersRequest").msgclass ListClustersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.ListClustersResponse").msgclass ClusterMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.ClusterMetadata").msgclass + GetNexusEndpointRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.GetNexusEndpointRequest").msgclass + GetNexusEndpointResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.GetNexusEndpointResponse").msgclass + CreateNexusEndpointRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.CreateNexusEndpointRequest").msgclass + CreateNexusEndpointResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.CreateNexusEndpointResponse").msgclass + UpdateNexusEndpointRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.UpdateNexusEndpointRequest").msgclass + UpdateNexusEndpointResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.UpdateNexusEndpointResponse").msgclass + DeleteNexusEndpointRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.DeleteNexusEndpointRequest").msgclass + DeleteNexusEndpointResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.DeleteNexusEndpointResponse").msgclass + ListNexusEndpointsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.ListNexusEndpointsRequest").msgclass + ListNexusEndpointsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.operatorservice.v1.ListNexusEndpointsResponse").msgclass end end end diff --git a/temporalio/lib/temporalio/api/operatorservice/v1/service.rb b/temporalio/lib/temporalio/api/operatorservice/v1/service.rb index e071f220..61908076 100644 --- a/temporalio/lib/temporalio/api/operatorservice/v1/service.rb +++ b/temporalio/lib/temporalio/api/operatorservice/v1/service.rb @@ -8,7 +8,7 @@ require 'google/api/annotations_pb' -descriptor_data = "\n-temporal/api/operatorservice/v1/service.proto\x12\x1ftemporal.api.operatorservice.v1\x1a\x36temporal/api/operatorservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto2\xd5\x08\n\x0fOperatorService\x12\x92\x01\n\x13\x41\x64\x64SearchAttributes\x12;.temporal.api.operatorservice.v1.AddSearchAttributesRequest\x1a<.temporal.api.operatorservice.v1.AddSearchAttributesResponse\"\x00\x12\x9b\x01\n\x16RemoveSearchAttributes\x12>.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest\x1a?.temporal.api.operatorservice.v1.RemoveSearchAttributesResponse\"\x00\x12\xcd\x01\n\x14ListSearchAttributes\x12<.temporal.api.operatorservice.v1.ListSearchAttributesRequest\x1a=.temporal.api.operatorservice.v1.ListSearchAttributesResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/api/v1/namespaces/{namespace}/search-attributes\x12\x86\x01\n\x0f\x44\x65leteNamespace\x12\x37.temporal.api.operatorservice.v1.DeleteNamespaceRequest\x1a\x38.temporal.api.operatorservice.v1.DeleteNamespaceResponse\"\x00\x12\xa1\x01\n\x18\x41\x64\x64OrUpdateRemoteCluster\x12@.temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterRequest\x1a\x41.temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterResponse\"\x00\x12\x92\x01\n\x13RemoveRemoteCluster\x12;.temporal.api.operatorservice.v1.RemoveRemoteClusterRequest\x1a<.temporal.api.operatorservice.v1.RemoveRemoteClusterResponse\"\x00\x12}\n\x0cListClusters\x12\x34.temporal.api.operatorservice.v1.ListClustersRequest\x1a\x35.temporal.api.operatorservice.v1.ListClustersResponse\"\x00\x42\xb6\x01\n\"io.temporal.api.operatorservice.v1B\x0cServiceProtoP\x01Z5go.temporal.io/api/operatorservice/v1;operatorservice\xaa\x02!Temporalio.Api.OperatorService.V1\xea\x02$Temporalio::Api::OperatorService::V1b\x06proto3" +descriptor_data = "\n-temporal/api/operatorservice/v1/service.proto\x12\x1ftemporal.api.operatorservice.v1\x1a\x36temporal/api/operatorservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto2\xbf\x0f\n\x0fOperatorService\x12\x92\x01\n\x13\x41\x64\x64SearchAttributes\x12;.temporal.api.operatorservice.v1.AddSearchAttributesRequest\x1a<.temporal.api.operatorservice.v1.AddSearchAttributesResponse\"\x00\x12\x9b\x01\n\x16RemoveSearchAttributes\x12>.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest\x1a?.temporal.api.operatorservice.v1.RemoveSearchAttributesResponse\"\x00\x12\xc6\x01\n\x14ListSearchAttributes\x12<.temporal.api.operatorservice.v1.ListSearchAttributesRequest\x1a=.temporal.api.operatorservice.v1.ListSearchAttributesResponse\"1\x82\xd3\xe4\x93\x02+\x12)/namespaces/{namespace}/search-attributes\x12\x86\x01\n\x0f\x44\x65leteNamespace\x12\x37.temporal.api.operatorservice.v1.DeleteNamespaceRequest\x1a\x38.temporal.api.operatorservice.v1.DeleteNamespaceResponse\"\x00\x12\xa1\x01\n\x18\x41\x64\x64OrUpdateRemoteCluster\x12@.temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterRequest\x1a\x41.temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterResponse\"\x00\x12\x92\x01\n\x13RemoveRemoteCluster\x12;.temporal.api.operatorservice.v1.RemoveRemoteClusterRequest\x1a<.temporal.api.operatorservice.v1.RemoveRemoteClusterResponse\"\x00\x12}\n\x0cListClusters\x12\x34.temporal.api.operatorservice.v1.ListClustersRequest\x1a\x35.temporal.api.operatorservice.v1.ListClustersResponse\"\x00\x12\xa6\x01\n\x10GetNexusEndpoint\x12\x38.temporal.api.operatorservice.v1.GetNexusEndpointRequest\x1a\x39.temporal.api.operatorservice.v1.GetNexusEndpointResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/nexus/endpoints/{id}\x12\xad\x01\n\x13\x43reateNexusEndpoint\x12;.temporal.api.operatorservice.v1.CreateNexusEndpointRequest\x1a<.temporal.api.operatorservice.v1.CreateNexusEndpointResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/nexus/endpoints:\x01*\x12\xb9\x01\n\x13UpdateNexusEndpoint\x12;.temporal.api.operatorservice.v1.UpdateNexusEndpointRequest\x1a<.temporal.api.operatorservice.v1.UpdateNexusEndpointResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/nexus/endpoints/{id}/update:\x01*\x12\xaf\x01\n\x13\x44\x65leteNexusEndpoint\x12;.temporal.api.operatorservice.v1.DeleteNexusEndpointRequest\x1a<.temporal.api.operatorservice.v1.DeleteNexusEndpointResponse\"\x1d\x82\xd3\xe4\x93\x02\x17*\x15/nexus/endpoints/{id}\x12\xa7\x01\n\x12ListNexusEndpoints\x12:.temporal.api.operatorservice.v1.ListNexusEndpointsRequest\x1a;.temporal.api.operatorservice.v1.ListNexusEndpointsResponse\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/nexus/endpointsB\xb6\x01\n\"io.temporal.api.operatorservice.v1B\x0cServiceProtoP\x01Z5go.temporal.io/api/operatorservice/v1;operatorservice\xaa\x02!Temporalio.Api.OperatorService.V1\xea\x02$Temporalio::Api::OperatorService::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/temporalio/lib/temporalio/api/schedule/v1/message.rb b/temporalio/lib/temporalio/api/schedule/v1/message.rb index e78593f5..33bf72ed 100644 --- a/temporalio/lib/temporalio/api/schedule/v1/message.rb +++ b/temporalio/lib/temporalio/api/schedule/v1/message.rb @@ -11,7 +11,7 @@ require 'temporalio/api/workflow/v1/message' -descriptor_data = "\n&temporal/api/schedule/v1/message.proto\x12\x18temporal.api.schedule.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a$temporal/api/enums/v1/schedule.proto\x1a&temporal/api/workflow/v1/message.proto\"\x95\x01\n\x0c\x43\x61lendarSpec\x12\x0e\n\x06second\x18\x01 \x01(\t\x12\x0e\n\x06minute\x18\x02 \x01(\t\x12\x0c\n\x04hour\x18\x03 \x01(\t\x12\x14\n\x0c\x64\x61y_of_month\x18\x04 \x01(\t\x12\r\n\x05month\x18\x05 \x01(\t\x12\x0c\n\x04year\x18\x06 \x01(\t\x12\x13\n\x0b\x64\x61y_of_week\x18\x07 \x01(\t\x12\x0f\n\x07\x63omment\x18\x08 \x01(\t\"1\n\x05Range\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\x12\x0c\n\x04step\x18\x03 \x01(\x05\"\x86\x03\n\x16StructuredCalendarSpec\x12/\n\x06second\x18\x01 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12/\n\x06minute\x18\x02 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12-\n\x04hour\x18\x03 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12\x35\n\x0c\x64\x61y_of_month\x18\x04 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12.\n\x05month\x18\x05 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12-\n\x04year\x18\x06 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12\x34\n\x0b\x64\x61y_of_week\x18\x07 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12\x0f\n\x07\x63omment\x18\x08 \x01(\t\"e\n\x0cIntervalSpec\x12+\n\x08interval\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x05phase\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xba\x04\n\x0cScheduleSpec\x12M\n\x13structured_calendar\x18\x07 \x03(\x0b\x32\x30.temporal.api.schedule.v1.StructuredCalendarSpec\x12\x13\n\x0b\x63ron_string\x18\x08 \x03(\t\x12\x38\n\x08\x63\x61lendar\x18\x01 \x03(\x0b\x32&.temporal.api.schedule.v1.CalendarSpec\x12\x38\n\x08interval\x18\x02 \x03(\x0b\x32&.temporal.api.schedule.v1.IntervalSpec\x12\x44\n\x10\x65xclude_calendar\x18\x03 \x03(\x0b\x32&.temporal.api.schedule.v1.CalendarSpecB\x02\x18\x01\x12U\n\x1b\x65xclude_structured_calendar\x18\t \x03(\x0b\x32\x30.temporal.api.schedule.v1.StructuredCalendarSpec\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x06jitter\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rtimezone_name\x18\n \x01(\t\x12\x15\n\rtimezone_data\x18\x0b \x01(\x0c\"\xa5\x01\n\x10SchedulePolicies\x12\x44\n\x0eoverlap_policy\x18\x01 \x01(\x0e\x32,.temporal.api.enums.v1.ScheduleOverlapPolicy\x12\x31\n\x0e\x63\x61tchup_window\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x18\n\x10pause_on_failure\x18\x03 \x01(\x08\"h\n\x0eScheduleAction\x12L\n\x0estart_workflow\x18\x01 \x01(\x0b\x32\x32.temporal.api.workflow.v1.NewWorkflowExecutionInfoH\x00\x42\x08\n\x06\x61\x63tion\"\xc4\x01\n\x14ScheduleActionResult\x12\x31\n\rschedule_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x61\x63tual_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12H\n\x15start_workflow_result\x18\x0b \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"b\n\rScheduleState\x12\r\n\x05notes\x18\x01 \x01(\t\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x17\n\x0flimited_actions\x18\x03 \x01(\x08\x12\x19\n\x11remaining_actions\x18\x04 \x01(\x03\"a\n\x19TriggerImmediatelyRequest\x12\x44\n\x0eoverlap_policy\x18\x01 \x01(\x0e\x32,.temporal.api.enums.v1.ScheduleOverlapPolicy\"\xb5\x01\n\x0f\x42\x61\x63kfillRequest\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x44\n\x0eoverlap_policy\x18\x03 \x01(\x0e\x32,.temporal.api.enums.v1.ScheduleOverlapPolicy\"\xc6\x01\n\rSchedulePatch\x12P\n\x13trigger_immediately\x18\x01 \x01(\x0b\x32\x33.temporal.api.schedule.v1.TriggerImmediatelyRequest\x12\x43\n\x10\x62\x61\x63kfill_request\x18\x02 \x03(\x0b\x32).temporal.api.schedule.v1.BackfillRequest\x12\r\n\x05pause\x18\x03 \x01(\t\x12\x0f\n\x07unpause\x18\x04 \x01(\t\"\xd6\x03\n\x0cScheduleInfo\x12\x14\n\x0c\x61\x63tion_count\x18\x01 \x01(\x03\x12\x1d\n\x15missed_catchup_window\x18\x02 \x01(\x03\x12\x17\n\x0foverlap_skipped\x18\x03 \x01(\x03\x12\x16\n\x0e\x62uffer_dropped\x18\n \x01(\x03\x12\x13\n\x0b\x62uffer_size\x18\x0b \x01(\x03\x12\x44\n\x11running_workflows\x18\t \x03(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x46\n\x0erecent_actions\x18\x04 \x03(\x0b\x32..temporal.api.schedule.v1.ScheduleActionResult\x12\x37\n\x13\x66uture_action_times\x18\x05 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x16invalid_schedule_error\x18\x08 \x01(\tB\x02\x18\x01\"\xf0\x01\n\x08Schedule\x12\x34\n\x04spec\x18\x01 \x01(\x0b\x32&.temporal.api.schedule.v1.ScheduleSpec\x12\x38\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32(.temporal.api.schedule.v1.ScheduleAction\x12<\n\x08policies\x18\x03 \x01(\x0b\x32*.temporal.api.schedule.v1.SchedulePolicies\x12\x36\n\x05state\x18\x04 \x01(\x0b\x32\'.temporal.api.schedule.v1.ScheduleState\"\xa5\x02\n\x10ScheduleListInfo\x12\x34\n\x04spec\x18\x01 \x01(\x0b\x32&.temporal.api.schedule.v1.ScheduleSpec\x12;\n\rworkflow_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\r\n\x05notes\x18\x03 \x01(\t\x12\x0e\n\x06paused\x18\x04 \x01(\x08\x12\x46\n\x0erecent_actions\x18\x05 \x03(\x0b\x32..temporal.api.schedule.v1.ScheduleActionResult\x12\x37\n\x13\x66uture_action_times\x18\x06 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\"\xd3\x01\n\x11ScheduleListEntry\x12\x13\n\x0bschedule_id\x18\x01 \x01(\t\x12*\n\x04memo\x18\x02 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x03 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x38\n\x04info\x18\x04 \x01(\x0b\x32*.temporal.api.schedule.v1.ScheduleListInfoB\x93\x01\n\x1bio.temporal.api.schedule.v1B\x0cMessageProtoP\x01Z\'go.temporal.io/api/schedule/v1;schedule\xaa\x02\x1aTemporalio.Api.Schedule.V1\xea\x02\x1dTemporalio::Api::Schedule::V1b\x06proto3" +descriptor_data = "\n&temporal/api/schedule/v1/message.proto\x12\x18temporal.api.schedule.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a$temporal/api/enums/v1/schedule.proto\x1a&temporal/api/workflow/v1/message.proto\"\x95\x01\n\x0c\x43\x61lendarSpec\x12\x0e\n\x06second\x18\x01 \x01(\t\x12\x0e\n\x06minute\x18\x02 \x01(\t\x12\x0c\n\x04hour\x18\x03 \x01(\t\x12\x14\n\x0c\x64\x61y_of_month\x18\x04 \x01(\t\x12\r\n\x05month\x18\x05 \x01(\t\x12\x0c\n\x04year\x18\x06 \x01(\t\x12\x13\n\x0b\x64\x61y_of_week\x18\x07 \x01(\t\x12\x0f\n\x07\x63omment\x18\x08 \x01(\t\"1\n\x05Range\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\x12\x0c\n\x04step\x18\x03 \x01(\x05\"\x86\x03\n\x16StructuredCalendarSpec\x12/\n\x06second\x18\x01 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12/\n\x06minute\x18\x02 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12-\n\x04hour\x18\x03 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12\x35\n\x0c\x64\x61y_of_month\x18\x04 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12.\n\x05month\x18\x05 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12-\n\x04year\x18\x06 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12\x34\n\x0b\x64\x61y_of_week\x18\x07 \x03(\x0b\x32\x1f.temporal.api.schedule.v1.Range\x12\x0f\n\x07\x63omment\x18\x08 \x01(\t\"e\n\x0cIntervalSpec\x12+\n\x08interval\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x05phase\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xba\x04\n\x0cScheduleSpec\x12M\n\x13structured_calendar\x18\x07 \x03(\x0b\x32\x30.temporal.api.schedule.v1.StructuredCalendarSpec\x12\x13\n\x0b\x63ron_string\x18\x08 \x03(\t\x12\x38\n\x08\x63\x61lendar\x18\x01 \x03(\x0b\x32&.temporal.api.schedule.v1.CalendarSpec\x12\x38\n\x08interval\x18\x02 \x03(\x0b\x32&.temporal.api.schedule.v1.IntervalSpec\x12\x44\n\x10\x65xclude_calendar\x18\x03 \x03(\x0b\x32&.temporal.api.schedule.v1.CalendarSpecB\x02\x18\x01\x12U\n\x1b\x65xclude_structured_calendar\x18\t \x03(\x0b\x32\x30.temporal.api.schedule.v1.StructuredCalendarSpec\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x06jitter\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rtimezone_name\x18\n \x01(\t\x12\x15\n\rtimezone_data\x18\x0b \x01(\x0c\"\xc8\x01\n\x10SchedulePolicies\x12\x44\n\x0eoverlap_policy\x18\x01 \x01(\x0e\x32,.temporal.api.enums.v1.ScheduleOverlapPolicy\x12\x31\n\x0e\x63\x61tchup_window\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x18\n\x10pause_on_failure\x18\x03 \x01(\x08\x12!\n\x19keep_original_workflow_id\x18\x04 \x01(\x08\"h\n\x0eScheduleAction\x12L\n\x0estart_workflow\x18\x01 \x01(\x0b\x32\x32.temporal.api.workflow.v1.NewWorkflowExecutionInfoH\x00\x42\x08\n\x06\x61\x63tion\"\xc4\x01\n\x14ScheduleActionResult\x12\x31\n\rschedule_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x61\x63tual_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12H\n\x15start_workflow_result\x18\x0b \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"b\n\rScheduleState\x12\r\n\x05notes\x18\x01 \x01(\t\x12\x0e\n\x06paused\x18\x02 \x01(\x08\x12\x17\n\x0flimited_actions\x18\x03 \x01(\x08\x12\x19\n\x11remaining_actions\x18\x04 \x01(\x03\"a\n\x19TriggerImmediatelyRequest\x12\x44\n\x0eoverlap_policy\x18\x01 \x01(\x0e\x32,.temporal.api.enums.v1.ScheduleOverlapPolicy\"\xb5\x01\n\x0f\x42\x61\x63kfillRequest\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x44\n\x0eoverlap_policy\x18\x03 \x01(\x0e\x32,.temporal.api.enums.v1.ScheduleOverlapPolicy\"\xc6\x01\n\rSchedulePatch\x12P\n\x13trigger_immediately\x18\x01 \x01(\x0b\x32\x33.temporal.api.schedule.v1.TriggerImmediatelyRequest\x12\x43\n\x10\x62\x61\x63kfill_request\x18\x02 \x03(\x0b\x32).temporal.api.schedule.v1.BackfillRequest\x12\r\n\x05pause\x18\x03 \x01(\t\x12\x0f\n\x07unpause\x18\x04 \x01(\t\"\xd6\x03\n\x0cScheduleInfo\x12\x14\n\x0c\x61\x63tion_count\x18\x01 \x01(\x03\x12\x1d\n\x15missed_catchup_window\x18\x02 \x01(\x03\x12\x17\n\x0foverlap_skipped\x18\x03 \x01(\x03\x12\x16\n\x0e\x62uffer_dropped\x18\n \x01(\x03\x12\x13\n\x0b\x62uffer_size\x18\x0b \x01(\x03\x12\x44\n\x11running_workflows\x18\t \x03(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x46\n\x0erecent_actions\x18\x04 \x03(\x0b\x32..temporal.api.schedule.v1.ScheduleActionResult\x12\x37\n\x13\x66uture_action_times\x18\x05 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x16invalid_schedule_error\x18\x08 \x01(\tB\x02\x18\x01\"\xf0\x01\n\x08Schedule\x12\x34\n\x04spec\x18\x01 \x01(\x0b\x32&.temporal.api.schedule.v1.ScheduleSpec\x12\x38\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32(.temporal.api.schedule.v1.ScheduleAction\x12<\n\x08policies\x18\x03 \x01(\x0b\x32*.temporal.api.schedule.v1.SchedulePolicies\x12\x36\n\x05state\x18\x04 \x01(\x0b\x32\'.temporal.api.schedule.v1.ScheduleState\"\xa5\x02\n\x10ScheduleListInfo\x12\x34\n\x04spec\x18\x01 \x01(\x0b\x32&.temporal.api.schedule.v1.ScheduleSpec\x12;\n\rworkflow_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\r\n\x05notes\x18\x03 \x01(\t\x12\x0e\n\x06paused\x18\x04 \x01(\x08\x12\x46\n\x0erecent_actions\x18\x05 \x03(\x0b\x32..temporal.api.schedule.v1.ScheduleActionResult\x12\x37\n\x13\x66uture_action_times\x18\x06 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\"\xd3\x01\n\x11ScheduleListEntry\x12\x13\n\x0bschedule_id\x18\x01 \x01(\t\x12*\n\x04memo\x18\x02 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x03 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x38\n\x04info\x18\x04 \x01(\x0b\x32*.temporal.api.schedule.v1.ScheduleListInfoB\x93\x01\n\x1bio.temporal.api.schedule.v1B\x0cMessageProtoP\x01Z\'go.temporal.io/api/schedule/v1;schedule\xaa\x02\x1aTemporalio.Api.Schedule.V1\xea\x02\x1dTemporalio::Api::Schedule::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/temporalio/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb b/temporalio/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb new file mode 100644 index 00000000..e781f3e2 --- /dev/null +++ b/temporalio/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/sdk/v1/enhanced_stack_trace.proto + +require 'google/protobuf' + + +descriptor_data = "\n.temporal/api/sdk/v1/enhanced_stack_trace.proto\x12\x13temporal.api.sdk.v1\"\x9b\x02\n\x12\x45nhancedStackTrace\x12\x33\n\x03sdk\x18\x01 \x01(\x0b\x32&.temporal.api.sdk.v1.StackTraceSDKInfo\x12\x45\n\x07sources\x18\x02 \x03(\x0b\x32\x34.temporal.api.sdk.v1.EnhancedStackTrace.SourcesEntry\x12/\n\x06stacks\x18\x03 \x03(\x0b\x32\x1f.temporal.api.sdk.v1.StackTrace\x1aX\n\x0cSourcesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32(.temporal.api.sdk.v1.StackTraceFileSlice:\x02\x38\x01\"2\n\x11StackTraceSDKInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\";\n\x13StackTraceFileSlice\x12\x13\n\x0bline_offset\x18\x01 \x01(\r\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\"w\n\x16StackTraceFileLocation\x12\x11\n\tfile_path\x18\x01 \x01(\t\x12\x0c\n\x04line\x18\x02 \x01(\x05\x12\x0e\n\x06\x63olumn\x18\x03 \x01(\x05\x12\x15\n\rfunction_name\x18\x04 \x01(\t\x12\x15\n\rinternal_code\x18\x05 \x01(\x08\"L\n\nStackTrace\x12>\n\tlocations\x18\x01 \x03(\x0b\x32+.temporal.api.sdk.v1.StackTraceFileLocationB\x85\x01\n\x16io.temporal.api.sdk.v1B\x17\x45nhancedStackTraceProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Sdk + module V1 + EnhancedStackTrace = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.sdk.v1.EnhancedStackTrace").msgclass + StackTraceSDKInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.sdk.v1.StackTraceSDKInfo").msgclass + StackTraceFileSlice = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.sdk.v1.StackTraceFileSlice").msgclass + StackTraceFileLocation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.sdk.v1.StackTraceFileLocation").msgclass + StackTrace = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.sdk.v1.StackTrace").msgclass + end + end + end +end diff --git a/temporalio/lib/temporalio/api/sdk/v1/user_metadata.rb b/temporalio/lib/temporalio/api/sdk/v1/user_metadata.rb new file mode 100644 index 00000000..2ec399e2 --- /dev/null +++ b/temporalio/lib/temporalio/api/sdk/v1/user_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: temporal/api/sdk/v1/user_metadata.proto + +require 'google/protobuf' + +require 'temporalio/api/common/v1/message' + + +descriptor_data = "\n\'temporal/api/sdk/v1/user_metadata.proto\x12\x13temporal.api.sdk.v1\x1a$temporal/api/common/v1/message.proto\"r\n\x0cUserMetadata\x12\x30\n\x07summary\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x30\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.PayloadB\x7f\n\x16io.temporal.api.sdk.v1B\x11UserMetadataProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Temporalio + module Api + module Sdk + module V1 + UserMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.sdk.v1.UserMetadata").msgclass + end + end + end +end diff --git a/temporalio/lib/temporalio/api/sdk/v1/workflow_metadata.rb b/temporalio/lib/temporalio/api/sdk/v1/workflow_metadata.rb index 77e073b3..45f79029 100644 --- a/temporalio/lib/temporalio/api/sdk/v1/workflow_metadata.rb +++ b/temporalio/lib/temporalio/api/sdk/v1/workflow_metadata.rb @@ -5,7 +5,7 @@ require 'google/protobuf' -descriptor_data = "\n+temporal/api/sdk/v1/workflow_metadata.proto\x12\x13temporal.api.sdk.v1\"O\n\x10WorkflowMetadata\x12;\n\ndefinition\x18\x01 \x01(\x0b\x32\'.temporal.api.sdk.v1.WorkflowDefinition\"\xa6\x02\n\x12WorkflowDefinition\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12M\n\x11query_definitions\x18\x03 \x03(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowInteractionDefinition\x12N\n\x12signal_definitions\x18\x04 \x03(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowInteractionDefinition\x12N\n\x12update_definitions\x18\x05 \x03(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowInteractionDefinition\"B\n\x1dWorkflowInteractionDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x83\x01\n\x16io.temporal.api.sdk.v1B\x15WorkflowMetadataProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" +descriptor_data = "\n+temporal/api/sdk/v1/workflow_metadata.proto\x12\x13temporal.api.sdk.v1\"h\n\x10WorkflowMetadata\x12;\n\ndefinition\x18\x01 \x01(\x0b\x32\'.temporal.api.sdk.v1.WorkflowDefinition\x12\x17\n\x0f\x63urrent_details\x18\x02 \x01(\t\"\x91\x02\n\x12WorkflowDefinition\x12\x0c\n\x04type\x18\x01 \x01(\t\x12M\n\x11query_definitions\x18\x02 \x03(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowInteractionDefinition\x12N\n\x12signal_definitions\x18\x03 \x03(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowInteractionDefinition\x12N\n\x12update_definitions\x18\x04 \x03(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowInteractionDefinition\"B\n\x1dWorkflowInteractionDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x83\x01\n\x16io.temporal.api.sdk.v1B\x15WorkflowMetadataProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/temporalio/lib/temporalio/api/taskqueue/v1/message.rb b/temporalio/lib/temporalio/api/taskqueue/v1/message.rb index 0bec0280..95622ba7 100644 --- a/temporalio/lib/temporalio/api/taskqueue/v1/message.rb +++ b/temporalio/lib/temporalio/api/taskqueue/v1/message.rb @@ -11,7 +11,7 @@ require 'temporalio/api/common/v1/message' -descriptor_data = "\n\'temporal/api/taskqueue/v1/message.proto\x12\x19temporal.api.taskqueue.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a$temporal/api/common/v1/message.proto\"b\n\tTaskQueue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x32\n\x04kind\x18\x02 \x01(\x0e\x32$.temporal.api.enums.v1.TaskQueueKind\x12\x13\n\x0bnormal_name\x18\x03 \x01(\t\"O\n\x11TaskQueueMetadata\x12:\n\x14max_tasks_per_second\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\"\xac\x01\n\x0fTaskQueueStatus\x12\x1a\n\x12\x62\x61\x63klog_count_hint\x18\x01 \x01(\x03\x12\x12\n\nread_level\x18\x02 \x01(\x03\x12\x11\n\tack_level\x18\x03 \x01(\x03\x12\x17\n\x0frate_per_second\x18\x04 \x01(\x01\x12=\n\rtask_id_block\x18\x05 \x01(\x0b\x32&.temporal.api.taskqueue.v1.TaskIdBlock\"/\n\x0bTaskIdBlock\x12\x10\n\x08start_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x65nd_id\x18\x02 \x01(\x03\"B\n\x1aTaskQueuePartitionMetadata\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x17\n\x0fowner_host_name\x18\x02 \x01(\t\"\xc5\x01\n\nPollerInfo\x12\x34\n\x10last_access_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x17\n\x0frate_per_second\x18\x03 \x01(\x01\x12V\n\x1bworker_version_capabilities\x18\x04 \x01(\x0b\x32\x31.temporal.api.common.v1.WorkerVersionCapabilities\"\x9a\x01\n\x19StickyExecutionAttributes\x12?\n\x11worker_task_queue\x18\x01 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12<\n\x19schedule_to_start_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\")\n\x14\x43ompatibleVersionSet\x12\x11\n\tbuild_ids\x18\x01 \x03(\t\"j\n\x15TaskQueueReachability\x12\x12\n\ntask_queue\x18\x01 \x01(\t\x12=\n\x0creachability\x18\x02 \x03(\x0e\x32\'.temporal.api.enums.v1.TaskReachability\"z\n\x13\x42uildIdReachability\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\x12Q\n\x17task_queue_reachability\x18\x02 \x03(\x0b\x32\x30.temporal.api.taskqueue.v1.TaskQueueReachabilityB\x98\x01\n\x1cio.temporal.api.taskqueue.v1B\x0cMessageProtoP\x01Z)go.temporal.io/api/taskqueue/v1;taskqueue\xaa\x02\x1bTemporalio.Api.TaskQueue.V1\xea\x02\x1eTemporalio::Api::TaskQueue::V1b\x06proto3" +descriptor_data = "\n\'temporal/api/taskqueue/v1/message.proto\x12\x19temporal.api.taskqueue.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a$temporal/api/common/v1/message.proto\"b\n\tTaskQueue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x32\n\x04kind\x18\x02 \x01(\x0e\x32$.temporal.api.enums.v1.TaskQueueKind\x12\x13\n\x0bnormal_name\x18\x03 \x01(\t\"O\n\x11TaskQueueMetadata\x12:\n\x14max_tasks_per_second\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\"W\n\x19TaskQueueVersionSelection\x12\x11\n\tbuild_ids\x18\x01 \x03(\t\x12\x13\n\x0bunversioned\x18\x02 \x01(\x08\x12\x12\n\nall_active\x18\x03 \x01(\x08\"\x95\x02\n\x14TaskQueueVersionInfo\x12R\n\ntypes_info\x18\x01 \x03(\x0b\x32>.temporal.api.taskqueue.v1.TaskQueueVersionInfo.TypesInfoEntry\x12I\n\x11task_reachability\x18\x02 \x01(\x0e\x32..temporal.api.enums.v1.BuildIdTaskReachability\x1a^\n\x0eTypesInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12;\n\x05value\x18\x02 \x01(\x0b\x32,.temporal.api.taskqueue.v1.TaskQueueTypeInfo:\x02\x38\x01\"\x85\x01\n\x11TaskQueueTypeInfo\x12\x36\n\x07pollers\x18\x01 \x03(\x0b\x32%.temporal.api.taskqueue.v1.PollerInfo\x12\x38\n\x05stats\x18\x02 \x01(\x0b\x32).temporal.api.taskqueue.v1.TaskQueueStats\"\xa4\x01\n\x0eTaskQueueStats\x12!\n\x19\x61pproximate_backlog_count\x18\x01 \x01(\x03\x12:\n\x17\x61pproximate_backlog_age\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x16\n\x0etasks_add_rate\x18\x03 \x01(\x02\x12\x1b\n\x13tasks_dispatch_rate\x18\x04 \x01(\x02\"\xac\x01\n\x0fTaskQueueStatus\x12\x1a\n\x12\x62\x61\x63klog_count_hint\x18\x01 \x01(\x03\x12\x12\n\nread_level\x18\x02 \x01(\x03\x12\x11\n\tack_level\x18\x03 \x01(\x03\x12\x17\n\x0frate_per_second\x18\x04 \x01(\x01\x12=\n\rtask_id_block\x18\x05 \x01(\x0b\x32&.temporal.api.taskqueue.v1.TaskIdBlock\"/\n\x0bTaskIdBlock\x12\x10\n\x08start_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x65nd_id\x18\x02 \x01(\x03\"B\n\x1aTaskQueuePartitionMetadata\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x17\n\x0fowner_host_name\x18\x02 \x01(\t\"\xc5\x01\n\nPollerInfo\x12\x34\n\x10last_access_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x17\n\x0frate_per_second\x18\x03 \x01(\x01\x12V\n\x1bworker_version_capabilities\x18\x04 \x01(\x0b\x32\x31.temporal.api.common.v1.WorkerVersionCapabilities\"\x9a\x01\n\x19StickyExecutionAttributes\x12?\n\x11worker_task_queue\x18\x01 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12<\n\x19schedule_to_start_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\")\n\x14\x43ompatibleVersionSet\x12\x11\n\tbuild_ids\x18\x01 \x03(\t\"j\n\x15TaskQueueReachability\x12\x12\n\ntask_queue\x18\x01 \x01(\t\x12=\n\x0creachability\x18\x02 \x03(\x0e\x32\'.temporal.api.enums.v1.TaskReachability\"z\n\x13\x42uildIdReachability\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t\x12Q\n\x17task_queue_reachability\x18\x02 \x03(\x0b\x32\x30.temporal.api.taskqueue.v1.TaskQueueReachability\"+\n\x10RampByPercentage\x12\x17\n\x0framp_percentage\x18\x01 \x01(\x02\"\x80\x01\n\x15\x42uildIdAssignmentRule\x12\x17\n\x0ftarget_build_id\x18\x01 \x01(\t\x12\x46\n\x0fpercentage_ramp\x18\x03 \x01(\x0b\x32+.temporal.api.taskqueue.v1.RampByPercentageH\x00\x42\x06\n\x04ramp\"Q\n\x1d\x43ompatibleBuildIdRedirectRule\x12\x17\n\x0fsource_build_id\x18\x01 \x01(\t\x12\x17\n\x0ftarget_build_id\x18\x02 \x01(\t\"\x93\x01\n TimestampedBuildIdAssignmentRule\x12>\n\x04rule\x18\x01 \x01(\x0b\x32\x30.temporal.api.taskqueue.v1.BuildIdAssignmentRule\x12/\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa3\x01\n(TimestampedCompatibleBuildIdRedirectRule\x12\x46\n\x04rule\x18\x01 \x01(\x0b\x32\x38.temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule\x12/\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x98\x01\n\x1cio.temporal.api.taskqueue.v1B\x0cMessageProtoP\x01Z)go.temporal.io/api/taskqueue/v1;taskqueue\xaa\x02\x1bTemporalio.Api.TaskQueue.V1\xea\x02\x1eTemporalio::Api::TaskQueue::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -22,6 +22,10 @@ module TaskQueue module V1 TaskQueue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskQueue").msgclass TaskQueueMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskQueueMetadata").msgclass + TaskQueueVersionSelection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskQueueVersionSelection").msgclass + TaskQueueVersionInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskQueueVersionInfo").msgclass + TaskQueueTypeInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskQueueTypeInfo").msgclass + TaskQueueStats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskQueueStats").msgclass TaskQueueStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskQueueStatus").msgclass TaskIdBlock = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskIdBlock").msgclass TaskQueuePartitionMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskQueuePartitionMetadata").msgclass @@ -30,6 +34,11 @@ module V1 CompatibleVersionSet = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.CompatibleVersionSet").msgclass TaskQueueReachability = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TaskQueueReachability").msgclass BuildIdReachability = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.BuildIdReachability").msgclass + RampByPercentage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.RampByPercentage").msgclass + BuildIdAssignmentRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.BuildIdAssignmentRule").msgclass + CompatibleBuildIdRedirectRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule").msgclass + TimestampedBuildIdAssignmentRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRule").msgclass + TimestampedCompatibleBuildIdRedirectRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRule").msgclass end end end diff --git a/temporalio/lib/temporalio/api/workflow/v1/message.rb b/temporalio/lib/temporalio/api/workflow/v1/message.rb index 5b9ede07..08200773 100644 --- a/temporalio/lib/temporalio/api/workflow/v1/message.rb +++ b/temporalio/lib/temporalio/api/workflow/v1/message.rb @@ -5,14 +5,17 @@ require 'google/protobuf' require 'google/protobuf/duration_pb' +require 'google/protobuf/empty_pb' require 'google/protobuf/timestamp_pb' +require 'temporalio/api/enums/v1/common' require 'temporalio/api/enums/v1/workflow' require 'temporalio/api/common/v1/message' require 'temporalio/api/failure/v1/message' require 'temporalio/api/taskqueue/v1/message' +require 'temporalio/api/sdk/v1/user_metadata' -descriptor_data = "\n&temporal/api/workflow/v1/message.proto\x12\x18temporal.api.workflow.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a\'temporal/api/taskqueue/v1/message.proto\"\xb0\x06\n\x15WorkflowExecutionInfo\x12<\n\texecution\x18\x01 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x32\n\x04type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12.\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nclose_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x06status\x18\x05 \x01(\x0e\x32..temporal.api.enums.v1.WorkflowExecutionStatus\x12\x16\n\x0ehistory_length\x18\x06 \x01(\x03\x12\x1b\n\x13parent_namespace_id\x18\x07 \x01(\t\x12\x43\n\x10parent_execution\x18\x08 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x32\n\x0e\x65xecution_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12*\n\x04memo\x18\n \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0b \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12@\n\x11\x61uto_reset_points\x18\x0c \x01(\x0b\x32%.temporal.api.workflow.v1.ResetPoints\x12\x12\n\ntask_queue\x18\r \x01(\t\x12\x1e\n\x16state_transition_count\x18\x0e \x01(\x03\x12\x1a\n\x12history_size_bytes\x18\x0f \x01(\x03\x12T\n most_recent_worker_version_stamp\x18\x10 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"\x8d\x02\n\x17WorkflowExecutionConfig\x12\x38\n\ntask_queue\x18\x01 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12=\n\x1aworkflow_execution_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12@\n\x1d\x64\x65\x66\x61ult_workflow_task_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xba\x04\n\x13PendingActivityInfo\x12\x13\n\x0b\x61\x63tivity_id\x18\x01 \x01(\t\x12;\n\ractivity_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.ActivityType\x12:\n\x05state\x18\x03 \x01(\x0e\x32+.temporal.api.enums.v1.PendingActivityState\x12;\n\x11heartbeat_details\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x37\n\x13last_heartbeat_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11last_started_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x61ttempt\x18\x07 \x01(\x05\x12\x18\n\x10maximum_attempts\x18\x08 \x01(\x05\x12\x32\n\x0escheduled_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x65xpiration_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x0clast_failure\x18\x0b \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x1c\n\x14last_worker_identity\x18\x0c \x01(\t\"\xb9\x01\n\x19PendingChildExecutionInfo\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x1a\n\x12workflow_type_name\x18\x03 \x01(\t\x12\x14\n\x0cinitiated_id\x18\x04 \x01(\x03\x12\x45\n\x13parent_close_policy\x18\x05 \x01(\x0e\x32(.temporal.api.enums.v1.ParentClosePolicy\"\x8d\x02\n\x17PendingWorkflowTaskInfo\x12>\n\x05state\x18\x01 \x01(\x0e\x32/.temporal.api.enums.v1.PendingWorkflowTaskState\x12\x32\n\x0escheduled_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x17original_scheduled_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x61ttempt\x18\x05 \x01(\x05\"G\n\x0bResetPoints\x12\x38\n\x06points\x18\x01 \x03(\x0b\x32(.temporal.api.workflow.v1.ResetPointInfo\"\xeb\x01\n\x0eResetPointInfo\x12\x10\n\x08\x62uild_id\x18\x07 \x01(\t\x12\x17\n\x0f\x62inary_checksum\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12(\n first_workflow_task_completed_id\x18\x03 \x01(\x03\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x65xpire_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nresettable\x18\x06 \x01(\x08\"\xcc\x05\n\x18NewWorkflowExecutionInfo\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12;\n\rworkflow_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x03 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12N\n\x18workflow_id_reuse_policy\x18\x08 \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\n \x01(\t\x12*\n\x04memo\x18\x0b \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0c \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12.\n\x06header\x18\r \x01(\x0b\x32\x1e.temporal.api.common.v1.HeaderB\x93\x01\n\x1bio.temporal.api.workflow.v1B\x0cMessageProtoP\x01Z\'go.temporal.io/api/workflow/v1;workflow\xaa\x02\x1aTemporalio.Api.Workflow.V1\xea\x02\x1dTemporalio::Api::Workflow::V1b\x06proto3" +descriptor_data = "\n&temporal/api/workflow/v1/message.proto\x12\x18temporal.api.workflow.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"temporal/api/enums/v1/common.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a\'temporal/api/taskqueue/v1/message.proto\x1a\'temporal/api/sdk/v1/user_metadata.proto\"\xe1\x07\n\x15WorkflowExecutionInfo\x12<\n\texecution\x18\x01 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x32\n\x04type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12.\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nclose_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x06status\x18\x05 \x01(\x0e\x32..temporal.api.enums.v1.WorkflowExecutionStatus\x12\x16\n\x0ehistory_length\x18\x06 \x01(\x03\x12\x1b\n\x13parent_namespace_id\x18\x07 \x01(\t\x12\x43\n\x10parent_execution\x18\x08 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x32\n\x0e\x65xecution_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12*\n\x04memo\x18\n \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0b \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12@\n\x11\x61uto_reset_points\x18\x0c \x01(\x0b\x32%.temporal.api.workflow.v1.ResetPoints\x12\x12\n\ntask_queue\x18\r \x01(\t\x12\x1e\n\x16state_transition_count\x18\x0e \x01(\x03\x12\x1a\n\x12history_size_bytes\x18\x0f \x01(\x03\x12T\n most_recent_worker_version_stamp\x18\x10 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\x12\x35\n\x12\x65xecution_duration\x18\x11 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x41\n\x0eroot_execution\x18\x12 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x19\n\x11\x61ssigned_build_id\x18\x13 \x01(\t\x12\x1a\n\x12inherited_build_id\x18\x14 \x01(\t\"\xc7\x02\n\x17WorkflowExecutionConfig\x12\x38\n\ntask_queue\x18\x01 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12=\n\x1aworkflow_execution_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12@\n\x1d\x64\x65\x66\x61ult_workflow_task_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\ruser_metadata\x18\x05 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\"\x87\x06\n\x13PendingActivityInfo\x12\x13\n\x0b\x61\x63tivity_id\x18\x01 \x01(\t\x12;\n\ractivity_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.ActivityType\x12:\n\x05state\x18\x03 \x01(\x0e\x32+.temporal.api.enums.v1.PendingActivityState\x12;\n\x11heartbeat_details\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x37\n\x13last_heartbeat_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11last_started_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x61ttempt\x18\x07 \x01(\x05\x12\x18\n\x10maximum_attempts\x18\x08 \x01(\x05\x12\x32\n\x0escheduled_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x65xpiration_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x0clast_failure\x18\x0b \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x1c\n\x14last_worker_identity\x18\x0c \x01(\t\x12\x37\n\x15use_workflow_build_id\x18\r \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12.\n$last_independently_assigned_build_id\x18\x0e \x01(\tH\x00\x12M\n\x19last_worker_version_stamp\x18\x0f \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStampB\x13\n\x11\x61ssigned_build_id\"\xb9\x01\n\x19PendingChildExecutionInfo\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x1a\n\x12workflow_type_name\x18\x03 \x01(\t\x12\x14\n\x0cinitiated_id\x18\x04 \x01(\x03\x12\x45\n\x13parent_close_policy\x18\x05 \x01(\x0e\x32(.temporal.api.enums.v1.ParentClosePolicy\"\x8d\x02\n\x17PendingWorkflowTaskInfo\x12>\n\x05state\x18\x01 \x01(\x0e\x32/.temporal.api.enums.v1.PendingWorkflowTaskState\x12\x32\n\x0escheduled_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x17original_scheduled_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x61ttempt\x18\x05 \x01(\x05\"G\n\x0bResetPoints\x12\x38\n\x06points\x18\x01 \x03(\x0b\x32(.temporal.api.workflow.v1.ResetPointInfo\"\xeb\x01\n\x0eResetPointInfo\x12\x10\n\x08\x62uild_id\x18\x07 \x01(\t\x12\x17\n\x0f\x62inary_checksum\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12(\n first_workflow_task_completed_id\x18\x03 \x01(\x03\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x65xpire_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nresettable\x18\x06 \x01(\x08\"\x86\x06\n\x18NewWorkflowExecutionInfo\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12;\n\rworkflow_type\x18\x02 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x03 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12N\n\x18workflow_id_reuse_policy\x18\x08 \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\n \x01(\t\x12*\n\x04memo\x18\x0b \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0c \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12.\n\x06header\x18\r \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x38\n\ruser_metadata\x18\x0e \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\"\xba\x04\n\x0c\x43\x61llbackInfo\x12\x32\n\x08\x63\x61llback\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Callback\x12?\n\x07trigger\x18\x02 \x01(\x0b\x32..temporal.api.workflow.v1.CallbackInfo.Trigger\x12\x35\n\x11registration_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x05state\x18\x04 \x01(\x0e\x32$.temporal.api.enums.v1.CallbackState\x12\x0f\n\x07\x61ttempt\x18\x05 \x01(\x05\x12>\n\x1alast_attempt_complete_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x14last_attempt_failure\x18\x07 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12>\n\x1anext_attempt_schedule_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x10\n\x0eWorkflowClosed\x1a\x66\n\x07Trigger\x12P\n\x0fworkflow_closed\x18\x01 \x01(\x0b\x32\x35.temporal.api.workflow.v1.CallbackInfo.WorkflowClosedH\x00\x42\t\n\x07variant\"\xc1\x04\n\x19PendingNexusOperationInfo\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x0f\n\x07service\x18\x02 \x01(\t\x12\x11\n\toperation\x18\x03 \x01(\t\x12\x14\n\x0coperation_id\x18\x04 \x01(\t\x12<\n\x19schedule_to_close_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\x0escheduled_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\x05state\x18\x07 \x01(\x0e\x32\x31.temporal.api.enums.v1.PendingNexusOperationState\x12\x0f\n\x07\x61ttempt\x18\x08 \x01(\x05\x12>\n\x1alast_attempt_complete_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x14last_attempt_failure\x18\n \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12>\n\x1anext_attempt_schedule_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12S\n\x11\x63\x61ncellation_info\x18\x0c \x01(\x0b\x32\x38.temporal.api.workflow.v1.NexusOperationCancellationInfo\"\xec\x02\n\x1eNexusOperationCancellationInfo\x12\x32\n\x0erequested_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x45\n\x05state\x18\x02 \x01(\x0e\x32\x36.temporal.api.enums.v1.NexusOperationCancellationState\x12\x0f\n\x07\x61ttempt\x18\x03 \x01(\x05\x12>\n\x1alast_attempt_complete_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x14last_attempt_failure\x18\x05 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12>\n\x1anext_attempt_schedule_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x93\x01\n\x1bio.temporal.api.workflow.v1B\x0cMessageProtoP\x01Z\'go.temporal.io/api/workflow/v1;workflow\xaa\x02\x1aTemporalio.Api.Workflow.V1\xea\x02\x1dTemporalio::Api::Workflow::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -29,6 +32,11 @@ module V1 ResetPoints = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflow.v1.ResetPoints").msgclass ResetPointInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflow.v1.ResetPointInfo").msgclass NewWorkflowExecutionInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflow.v1.NewWorkflowExecutionInfo").msgclass + CallbackInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflow.v1.CallbackInfo").msgclass + CallbackInfo::WorkflowClosed = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflow.v1.CallbackInfo.WorkflowClosed").msgclass + CallbackInfo::Trigger = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflow.v1.CallbackInfo.Trigger").msgclass + PendingNexusOperationInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflow.v1.PendingNexusOperationInfo").msgclass + NexusOperationCancellationInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflow.v1.NexusOperationCancellationInfo").msgclass end end end diff --git a/temporalio/lib/temporalio/api/workflowservice.rb b/temporalio/lib/temporalio/api/workflowservice.rb index ca54754a..00f0b91b 100644 --- a/temporalio/lib/temporalio/api/workflowservice.rb +++ b/temporalio/lib/temporalio/api/workflowservice.rb @@ -1,3 +1,3 @@ # frozen_string_literal: true -require 'temporalio/api/workflowservice/v1/service' +require 'temporalio/api/workflowservice/v1/request_response' diff --git a/temporalio/lib/temporalio/api/workflowservice/v1/request_response.rb b/temporalio/lib/temporalio/api/workflowservice/v1/request_response.rb index 49a24115..7a5e4430 100644 --- a/temporalio/lib/temporalio/api/workflowservice/v1/request_response.rb +++ b/temporalio/lib/temporalio/api/workflowservice/v1/request_response.rb @@ -29,11 +29,13 @@ require 'temporalio/api/version/v1/message' require 'temporalio/api/batch/v1/message' require 'temporalio/api/sdk/v1/task_complete_metadata' +require 'temporalio/api/sdk/v1/user_metadata' +require 'temporalio/api/nexus/v1/message' require 'google/protobuf/duration_pb' require 'google/protobuf/timestamp_pb' -descriptor_data = "\n6temporal/api/workflowservice/v1/request_response.proto\x12\x1ftemporal.api.workflowservice.v1\x1a+temporal/api/enums/v1/batch_operation.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/api/enums/v1/namespace.proto\x1a(temporal/api/enums/v1/failed_cause.proto\x1a\"temporal/api/enums/v1/common.proto\x1a!temporal/api/enums/v1/query.proto\x1a!temporal/api/enums/v1/reset.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a\"temporal/api/enums/v1/update.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/history/v1/message.proto\x1a&temporal/api/workflow/v1/message.proto\x1a%temporal/api/command/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/filter/v1/message.proto\x1a&temporal/api/protocol/v1/message.proto\x1a\'temporal/api/namespace/v1/message.proto\x1a#temporal/api/query/v1/message.proto\x1a)temporal/api/replication/v1/message.proto\x1a&temporal/api/schedule/v1/message.proto\x1a\'temporal/api/taskqueue/v1/message.proto\x1a$temporal/api/update/v1/message.proto\x1a%temporal/api/version/v1/message.proto\x1a#temporal/api/batch/v1/message.proto\x1a\x30temporal/api/sdk/v1/task_complete_metadata.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x88\x05\n\x18RegisterNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x13\n\x0bowner_email\x18\x03 \x01(\t\x12\x46\n#workflow_execution_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x08\x63lusters\x18\x05 \x03(\x0b\x32\x35.temporal.api.replication.v1.ClusterReplicationConfig\x12\x1b\n\x13\x61\x63tive_cluster_name\x18\x06 \x01(\t\x12Q\n\x04\x64\x61ta\x18\x07 \x03(\x0b\x32\x43.temporal.api.workflowservice.v1.RegisterNamespaceRequest.DataEntry\x12\x16\n\x0esecurity_token\x18\x08 \x01(\t\x12\x1b\n\x13is_global_namespace\x18\t \x01(\x08\x12\x44\n\x16history_archival_state\x18\n \x01(\x0e\x32$.temporal.api.enums.v1.ArchivalState\x12\x1c\n\x14history_archival_uri\x18\x0b \x01(\t\x12G\n\x19visibility_archival_state\x18\x0c \x01(\x0e\x32$.temporal.api.enums.v1.ArchivalState\x12\x1f\n\x17visibility_archival_uri\x18\r \x01(\t\x1a+\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1b\n\x19RegisterNamespaceResponse\"\x89\x01\n\x15ListNamespacesRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\x12\x44\n\x10namespace_filter\x18\x03 \x01(\x0b\x32*.temporal.api.namespace.v1.NamespaceFilter\"\x81\x01\n\x16ListNamespacesResponse\x12N\n\nnamespaces\x18\x01 \x03(\x0b\x32:.temporal.api.workflowservice.v1.DescribeNamespaceResponse\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"9\n\x18\x44\x65scribeNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\"\xec\x02\n\x19\x44\x65scribeNamespaceResponse\x12@\n\x0enamespace_info\x18\x01 \x01(\x0b\x32(.temporal.api.namespace.v1.NamespaceInfo\x12:\n\x06\x63onfig\x18\x02 \x01(\x0b\x32*.temporal.api.namespace.v1.NamespaceConfig\x12S\n\x12replication_config\x18\x03 \x01(\x0b\x32\x37.temporal.api.replication.v1.NamespaceReplicationConfig\x12\x18\n\x10\x66\x61ilover_version\x18\x04 \x01(\x03\x12\x1b\n\x13is_global_namespace\x18\x05 \x01(\x08\x12\x45\n\x10\x66\x61ilover_history\x18\x06 \x03(\x0b\x32+.temporal.api.replication.v1.FailoverStatus\"\xcf\x02\n\x16UpdateNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x43\n\x0bupdate_info\x18\x02 \x01(\x0b\x32..temporal.api.namespace.v1.UpdateNamespaceInfo\x12:\n\x06\x63onfig\x18\x03 \x01(\x0b\x32*.temporal.api.namespace.v1.NamespaceConfig\x12S\n\x12replication_config\x18\x04 \x01(\x0b\x32\x37.temporal.api.replication.v1.NamespaceReplicationConfig\x12\x16\n\x0esecurity_token\x18\x05 \x01(\t\x12\x19\n\x11\x64\x65lete_bad_binary\x18\x06 \x01(\t\x12\x19\n\x11promote_namespace\x18\x07 \x01(\x08\"\xa3\x02\n\x17UpdateNamespaceResponse\x12@\n\x0enamespace_info\x18\x01 \x01(\x0b\x32(.temporal.api.namespace.v1.NamespaceInfo\x12:\n\x06\x63onfig\x18\x02 \x01(\x0b\x32*.temporal.api.namespace.v1.NamespaceConfig\x12S\n\x12replication_config\x18\x03 \x01(\x0b\x32\x37.temporal.api.replication.v1.NamespaceReplicationConfig\x12\x18\n\x10\x66\x61ilover_version\x18\x04 \x01(\x03\x12\x1b\n\x13is_global_namespace\x18\x05 \x01(\x08\"F\n\x19\x44\x65precateNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x16\n\x0esecurity_token\x18\x02 \x01(\t\"\x1c\n\x1a\x44\x65precateNamespaceResponse\"\xe3\x07\n\x1dStartWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08identity\x18\t \x01(\t\x12\x12\n\nrequest_id\x18\n \x01(\t\x12N\n\x18workflow_id_reuse_policy\x18\x0b \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\r \x01(\t\x12*\n\x04memo\x18\x0e \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0f \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12.\n\x06header\x18\x10 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x1f\n\x17request_eager_execution\x18\x11 \x01(\x08\x12;\n\x11\x63ontinued_failure\x18\x12 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12@\n\x16last_completion_result\x18\x13 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x37\n\x14workflow_start_delay\x18\x14 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x8d\x01\n\x1eStartWorkflowExecutionResponse\x12\x0e\n\x06run_id\x18\x01 \x01(\t\x12[\n\x13\x65\x61ger_workflow_task\x18\x02 \x01(\x0b\x32>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse\"\xaa\x02\n\"GetWorkflowExecutionHistoryRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x19\n\x11maximum_page_size\x18\x03 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x04 \x01(\x0c\x12\x16\n\x0ewait_new_event\x18\x05 \x01(\x08\x12P\n\x19history_event_filter_type\x18\x06 \x01(\x0e\x32-.temporal.api.enums.v1.HistoryEventFilterType\x12\x15\n\rskip_archival\x18\x07 \x01(\x08\"\xba\x01\n#GetWorkflowExecutionHistoryResponse\x12\x31\n\x07history\x18\x01 \x01(\x0b\x32 .temporal.api.history.v1.History\x12\x35\n\x0braw_history\x18\x02 \x03(\x0b\x32 .temporal.api.common.v1.DataBlob\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\x10\n\x08\x61rchived\x18\x04 \x01(\x08\"\xb0\x01\n)GetWorkflowExecutionHistoryReverseRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x19\n\x11maximum_page_size\x18\x03 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x04 \x01(\x0c\"x\n*GetWorkflowExecutionHistoryReverseResponse\x12\x31\n\x07history\x18\x01 \x01(\x0b\x32 .temporal.api.history.v1.History\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\"\xee\x01\n\x1cPollWorkflowTaskQueueRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x17\n\x0f\x62inary_checksum\x18\x04 \x01(\t\x12V\n\x1bworker_version_capabilities\x18\x05 \x01(\x0b\x32\x31.temporal.api.common.v1.WorkerVersionCapabilities\"\xbe\x06\n\x1dPollWorkflowTaskQueueResponse\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12!\n\x19previous_started_event_id\x18\x04 \x01(\x03\x12\x18\n\x10started_event_id\x18\x05 \x01(\x03\x12\x0f\n\x07\x61ttempt\x18\x06 \x01(\x05\x12\x1a\n\x12\x62\x61\x63klog_count_hint\x18\x07 \x01(\x03\x12\x31\n\x07history\x18\x08 \x01(\x0b\x32 .temporal.api.history.v1.History\x12\x17\n\x0fnext_page_token\x18\t \x01(\x0c\x12\x33\n\x05query\x18\n \x01(\x0b\x32$.temporal.api.query.v1.WorkflowQuery\x12K\n\x1dworkflow_execution_task_queue\x18\x0b \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12\x32\n\x0escheduled_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\\\n\x07queries\x18\x0e \x03(\x0b\x32K.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.QueriesEntry\x12\x33\n\x08messages\x18\x0f \x03(\x0b\x32!.temporal.api.protocol.v1.Message\x1aT\n\x0cQueriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.temporal.api.query.v1.WorkflowQuery:\x02\x38\x01\"\xa4\x06\n#RespondWorkflowTaskCompletedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x32\n\x08\x63ommands\x18\x02 \x03(\x0b\x32 .temporal.api.command.v1.Command\x12\x10\n\x08identity\x18\x03 \x01(\t\x12O\n\x11sticky_attributes\x18\x04 \x01(\x0b\x32\x34.temporal.api.taskqueue.v1.StickyExecutionAttributes\x12 \n\x18return_new_workflow_task\x18\x05 \x01(\x08\x12&\n\x1e\x66orce_create_new_workflow_task\x18\x06 \x01(\x08\x12\x17\n\x0f\x62inary_checksum\x18\x07 \x01(\t\x12m\n\rquery_results\x18\x08 \x03(\x0b\x32V.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.QueryResultsEntry\x12\x11\n\tnamespace\x18\t \x01(\t\x12H\n\x14worker_version_stamp\x18\n \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\x12\x33\n\x08messages\x18\x0b \x03(\x0b\x32!.temporal.api.protocol.v1.Message\x12H\n\x0csdk_metadata\x18\x0c \x01(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowTaskCompletedMetadata\x12\x43\n\x11metering_metadata\x18\r \x01(\x0b\x32(.temporal.api.common.v1.MeteringMetadata\x1a_\n\x11QueryResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.temporal.api.query.v1.WorkflowQueryResult:\x02\x38\x01\"\xf5\x01\n$RespondWorkflowTaskCompletedResponse\x12U\n\rworkflow_task\x18\x01 \x01(\x0b\x32>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse\x12V\n\x0e\x61\x63tivity_tasks\x18\x02 \x03(\x0b\x32>.temporal.api.workflowservice.v1.PollActivityTaskQueueResponse\x12\x1e\n\x16reset_history_event_id\x18\x03 \x01(\x03\"\xdf\x02\n RespondWorkflowTaskFailedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12=\n\x05\x63\x61use\x18\x02 \x01(\x0e\x32..temporal.api.enums.v1.WorkflowTaskFailedCause\x12\x31\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x10\n\x08identity\x18\x04 \x01(\t\x12\x17\n\x0f\x62inary_checksum\x18\x05 \x01(\t\x12\x11\n\tnamespace\x18\x06 \x01(\t\x12\x33\n\x08messages\x18\x07 \x03(\x0b\x32!.temporal.api.protocol.v1.Message\x12\x42\n\x0eworker_version\x18\x08 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"#\n!RespondWorkflowTaskFailedResponse\"\xa0\x02\n\x1cPollActivityTaskQueueRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12\x10\n\x08identity\x18\x03 \x01(\t\x12I\n\x13task_queue_metadata\x18\x04 \x01(\x0b\x32,.temporal.api.taskqueue.v1.TaskQueueMetadata\x12V\n\x1bworker_version_capabilities\x18\x05 \x01(\x0b\x32\x31.temporal.api.common.v1.WorkerVersionCapabilities\"\xe8\x06\n\x1dPollActivityTaskQueueResponse\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x1a\n\x12workflow_namespace\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x45\n\x12workflow_execution\x18\x04 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\ractivity_type\x18\x05 \x01(\x0b\x32$.temporal.api.common.v1.ActivityType\x12\x13\n\x0b\x61\x63tivity_id\x18\x06 \x01(\t\x12.\n\x06header\x18\x07 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12/\n\x05input\x18\x08 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12;\n\x11heartbeat_details\x18\t \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x32\n\x0escheduled_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x42\n\x1e\x63urrent_attempt_scheduled_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x61ttempt\x18\r \x01(\x05\x12<\n\x19schedule_to_close_timeout\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x0f \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\x10 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x11 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\"\x90\x01\n\"RecordActivityTaskHeartbeatRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x31\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\t\"?\n#RecordActivityTaskHeartbeatResponse\x12\x18\n\x10\x63\x61ncel_requested\x18\x01 \x01(\x08\"\xba\x01\n&RecordActivityTaskHeartbeatByIdRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x31\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x06 \x01(\t\"C\n\'RecordActivityTaskHeartbeatByIdResponse\x12\x18\n\x10\x63\x61ncel_requested\x18\x01 \x01(\x08\"\xd4\x01\n#RespondActivityTaskCompletedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x30\n\x06result\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\t\x12\x42\n\x0eworker_version\x18\x05 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"&\n$RespondActivityTaskCompletedResponse\"\xba\x01\n\'RespondActivityTaskCompletedByIdRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x30\n\x06result\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x06 \x01(\t\"*\n(RespondActivityTaskCompletedByIdResponse\"\x94\x02\n RespondActivityTaskFailedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x31\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\t\x12@\n\x16last_heartbeat_details\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x42\n\x0eworker_version\x18\x06 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"W\n!RespondActivityTaskFailedResponse\x12\x32\n\x08\x66\x61ilures\x18\x01 \x03(\x0b\x32 .temporal.api.failure.v1.Failure\"\xfa\x01\n$RespondActivityTaskFailedByIdRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x31\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x10\n\x08identity\x18\x06 \x01(\t\x12@\n\x16last_heartbeat_details\x18\x07 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\"[\n%RespondActivityTaskFailedByIdResponse\x12\x32\n\x08\x66\x61ilures\x18\x01 \x03(\x0b\x32 .temporal.api.failure.v1.Failure\"\xd4\x01\n\"RespondActivityTaskCanceledRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x31\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\t\x12\x42\n\x0eworker_version\x18\x05 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"%\n#RespondActivityTaskCanceledResponse\"\xba\x01\n&RespondActivityTaskCanceledByIdRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x31\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x06 \x01(\t\")\n\'RespondActivityTaskCanceledByIdResponse\"\xd7\x01\n%RequestCancelWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x12\n\nrequest_id\x18\x04 \x01(\t\x12\x1e\n\x16\x66irst_execution_run_id\x18\x05 \x01(\t\x12\x0e\n\x06reason\x18\x06 \x01(\t\"(\n&RequestCancelWorkflowExecutionResponse\"\xcc\x02\n\x1eSignalWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12/\n\x05input\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x12\n\nrequest_id\x18\x06 \x01(\t\x12\x0f\n\x07\x63ontrol\x18\x07 \x01(\t\x12.\n\x06header\x18\x08 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12#\n\x1bskip_generate_workflow_task\x18\t \x01(\x08\"!\n\x1fSignalWorkflowExecutionResponse\"\xd0\x07\n\'SignalWithStartWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08identity\x18\t \x01(\t\x12\x12\n\nrequest_id\x18\n \x01(\t\x12N\n\x18workflow_id_reuse_policy\x18\x0b \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x13\n\x0bsignal_name\x18\x0c \x01(\t\x12\x36\n\x0csignal_input\x18\r \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x0f\n\x07\x63ontrol\x18\x0e \x01(\t\x12\x39\n\x0cretry_policy\x18\x0f \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x10 \x01(\t\x12*\n\x04memo\x18\x11 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x12 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12.\n\x06header\x18\x13 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x37\n\x14workflow_start_delay\x18\x14 \x01(\x0b\x32\x19.google.protobuf.Duration\x12#\n\x1bskip_generate_workflow_task\x18\x15 \x01(\x08\":\n(SignalWithStartWorkflowExecutionResponse\x12\x0e\n\x06run_id\x18\x01 \x01(\t\"\xde\x02\n\x1dResetWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12%\n\x1dworkflow_task_finish_event_id\x18\x04 \x01(\x03\x12\x12\n\nrequest_id\x18\x05 \x01(\t\x12\x43\n\x12reset_reapply_type\x18\x06 \x01(\x0e\x32\'.temporal.api.enums.v1.ResetReapplyType\x12S\n\x1breset_reapply_exclude_types\x18\x07 \x03(\x0e\x32..temporal.api.enums.v1.ResetReapplyExcludeType\"0\n\x1eResetWorkflowExecutionResponse\x12\x0e\n\x06run_id\x18\x01 \x01(\t\"\xf2\x01\n!TerminateWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x31\n\x07\x64\x65tails\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x1e\n\x16\x66irst_execution_run_id\x18\x06 \x01(\t\"$\n\"TerminateWorkflowExecutionResponse\"z\n\x1e\x44\x65leteWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"!\n\x1f\x44\x65leteWorkflowExecutionResponse\"\xc9\x02\n!ListOpenWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x19\n\x11maximum_page_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\x42\n\x11start_time_filter\x18\x04 \x01(\x0b\x32\'.temporal.api.filter.v1.StartTimeFilter\x12K\n\x10\x65xecution_filter\x18\x05 \x01(\x0b\x32/.temporal.api.filter.v1.WorkflowExecutionFilterH\x00\x12\x41\n\x0btype_filter\x18\x06 \x01(\x0b\x32*.temporal.api.filter.v1.WorkflowTypeFilterH\x00\x42\t\n\x07\x66ilters\"\x82\x01\n\"ListOpenWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"\x8a\x03\n#ListClosedWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x19\n\x11maximum_page_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\x42\n\x11start_time_filter\x18\x04 \x01(\x0b\x32\'.temporal.api.filter.v1.StartTimeFilter\x12K\n\x10\x65xecution_filter\x18\x05 \x01(\x0b\x32/.temporal.api.filter.v1.WorkflowExecutionFilterH\x00\x12\x41\n\x0btype_filter\x18\x06 \x01(\x0b\x32*.temporal.api.filter.v1.WorkflowTypeFilterH\x00\x12=\n\rstatus_filter\x18\x07 \x01(\x0b\x32$.temporal.api.filter.v1.StatusFilterH\x00\x42\t\n\x07\x66ilters\"\x84\x01\n$ListClosedWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"m\n\x1dListWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\r\n\x05query\x18\x04 \x01(\t\"~\n\x1eListWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"u\n%ListArchivedWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\r\n\x05query\x18\x04 \x01(\t\"\x86\x01\n&ListArchivedWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"m\n\x1dScanWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\r\n\x05query\x18\x04 \x01(\t\"~\n\x1eScanWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"B\n\x1e\x43ountWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\r\n\x05query\x18\x02 \x01(\t\"\xed\x01\n\x1f\x43ountWorkflowExecutionsResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x61\n\x06groups\x18\x02 \x03(\x0b\x32Q.temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse.AggregationGroup\x1aX\n\x10\x41ggregationGroup\x12\x35\n\x0cgroup_values\x18\x01 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\"\x1c\n\x1aGetSearchAttributesRequest\"\xc9\x01\n\x1bGetSearchAttributesResponse\x12T\n\x04keys\x18\x01 \x03(\x0b\x32\x46.temporal.api.workflowservice.v1.GetSearchAttributesResponse.KeysEntry\x1aT\n\tKeysEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1.IndexedValueType:\x02\x38\x01\"\xde\x01\n RespondQueryTaskCompletedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12>\n\x0e\x63ompleted_type\x18\x02 \x01(\x0e\x32&.temporal.api.enums.v1.QueryResultType\x12\x36\n\x0cquery_result\x18\x03 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x15\n\rerror_message\x18\x04 \x01(\t\x12\x11\n\tnamespace\x18\x06 \x01(\tJ\x04\x08\x05\x10\x06\"#\n!RespondQueryTaskCompletedResponse\"n\n\x1bResetStickyTaskQueueRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"\x1e\n\x1cResetStickyTaskQueueResponse\"\xe9\x01\n\x14QueryWorkflowRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x33\n\x05query\x18\x03 \x01(\x0b\x32$.temporal.api.query.v1.WorkflowQuery\x12K\n\x16query_reject_condition\x18\x04 \x01(\x0e\x32+.temporal.api.enums.v1.QueryRejectCondition\"\x8d\x01\n\x15QueryWorkflowResponse\x12\x36\n\x0cquery_result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12<\n\x0equery_rejected\x18\x02 \x01(\x0b\x32$.temporal.api.query.v1.QueryRejected\"s\n DescribeWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"\xae\x03\n!DescribeWorkflowExecutionResponse\x12K\n\x10\x65xecution_config\x18\x01 \x01(\x0b\x32\x31.temporal.api.workflow.v1.WorkflowExecutionConfig\x12P\n\x17workflow_execution_info\x18\x02 \x01(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12I\n\x12pending_activities\x18\x03 \x03(\x0b\x32-.temporal.api.workflow.v1.PendingActivityInfo\x12M\n\x10pending_children\x18\x04 \x03(\x0b\x32\x33.temporal.api.workflow.v1.PendingChildExecutionInfo\x12P\n\x15pending_workflow_task\x18\x05 \x01(\x0b\x32\x31.temporal.api.workflow.v1.PendingWorkflowTaskInfo\"\xc9\x01\n\x18\x44\x65scribeTaskQueueRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12=\n\x0ftask_queue_type\x18\x03 \x01(\x0e\x32$.temporal.api.enums.v1.TaskQueueType\x12!\n\x19include_task_queue_status\x18\x04 \x01(\x08\"\x9a\x01\n\x19\x44\x65scribeTaskQueueResponse\x12\x36\n\x07pollers\x18\x01 \x03(\x0b\x32%.temporal.api.taskqueue.v1.PollerInfo\x12\x45\n\x11task_queue_status\x18\x02 \x01(\x0b\x32*.temporal.api.taskqueue.v1.TaskQueueStatus\"\x17\n\x15GetClusterInfoRequest\"\x8b\x03\n\x16GetClusterInfoResponse\x12h\n\x11supported_clients\x18\x01 \x03(\x0b\x32M.temporal.api.workflowservice.v1.GetClusterInfoResponse.SupportedClientsEntry\x12\x16\n\x0eserver_version\x18\x02 \x01(\t\x12\x12\n\ncluster_id\x18\x03 \x01(\t\x12:\n\x0cversion_info\x18\x04 \x01(\x0b\x32$.temporal.api.version.v1.VersionInfo\x12\x14\n\x0c\x63luster_name\x18\x05 \x01(\t\x12\x1b\n\x13history_shard_count\x18\x06 \x01(\x05\x12\x19\n\x11persistence_store\x18\x07 \x01(\t\x12\x18\n\x10visibility_store\x18\x08 \x01(\t\x1a\x37\n\x15SupportedClientsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x16\n\x14GetSystemInfoRequest\"\xe5\x03\n\x15GetSystemInfoResponse\x12\x16\n\x0eserver_version\x18\x01 \x01(\t\x12Y\n\x0c\x63\x61pabilities\x18\x02 \x01(\x0b\x32\x43.temporal.api.workflowservice.v1.GetSystemInfoResponse.Capabilities\x1a\xd8\x02\n\x0c\x43\x61pabilities\x12\x1f\n\x17signal_and_query_header\x18\x01 \x01(\x08\x12&\n\x1einternal_error_differentiation\x18\x02 \x01(\x08\x12*\n\"activity_failure_include_heartbeat\x18\x03 \x01(\x08\x12\x1a\n\x12supports_schedules\x18\x04 \x01(\x08\x12\"\n\x1a\x65ncoded_failure_attributes\x18\x05 \x01(\x08\x12!\n\x19\x62uild_id_based_versioning\x18\x06 \x01(\x08\x12\x13\n\x0bupsert_memo\x18\x07 \x01(\x08\x12\x1c\n\x14\x65\x61ger_workflow_start\x18\x08 \x01(\x08\x12\x14\n\x0csdk_metadata\x18\t \x01(\x08\x12\'\n\x1f\x63ount_group_by_execution_status\x18\n \x01(\x08\"m\n\x1eListTaskQueuePartitionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\"\xdf\x01\n\x1fListTaskQueuePartitionsResponse\x12]\n\x1e\x61\x63tivity_task_queue_partitions\x18\x01 \x03(\x0b\x32\x35.temporal.api.taskqueue.v1.TaskQueuePartitionMetadata\x12]\n\x1eworkflow_task_queue_partitions\x18\x02 \x03(\x0b\x32\x35.temporal.api.taskqueue.v1.TaskQueuePartitionMetadata\"\xcc\x02\n\x15\x43reateScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12\x34\n\x08schedule\x18\x03 \x01(\x0b\x32\".temporal.api.schedule.v1.Schedule\x12>\n\rinitial_patch\x18\x04 \x01(\x0b\x32\'.temporal.api.schedule.v1.SchedulePatch\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x12\n\nrequest_id\x18\x06 \x01(\t\x12*\n\x04memo\x18\x07 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x08 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\"0\n\x16\x43reateScheduleResponse\x12\x16\n\x0e\x63onflict_token\x18\x01 \x01(\x0c\"A\n\x17\x44\x65scribeScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\"\x8f\x02\n\x18\x44\x65scribeScheduleResponse\x12\x34\n\x08schedule\x18\x01 \x01(\x0b\x32\".temporal.api.schedule.v1.Schedule\x12\x34\n\x04info\x18\x02 \x01(\x0b\x32&.temporal.api.schedule.v1.ScheduleInfo\x12*\n\x04memo\x18\x03 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x04 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x16\n\x0e\x63onflict_token\x18\x05 \x01(\x0c\"\xb3\x01\n\x15UpdateScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12\x34\n\x08schedule\x18\x03 \x01(\x0b\x32\".temporal.api.schedule.v1.Schedule\x12\x16\n\x0e\x63onflict_token\x18\x04 \x01(\x0c\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x12\n\nrequest_id\x18\x06 \x01(\t\"\x18\n\x16UpdateScheduleResponse\"\x9c\x01\n\x14PatchScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12\x36\n\x05patch\x18\x03 \x01(\x0b\x32\'.temporal.api.schedule.v1.SchedulePatch\x12\x10\n\x08identity\x18\x04 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x17\n\x15PatchScheduleResponse\"\xa8\x01\n ListScheduleMatchingTimesRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12.\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"S\n!ListScheduleMatchingTimesResponse\x12.\n\nstart_time\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\"Q\n\x15\x44\x65leteScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12\x10\n\x08identity\x18\x03 \x01(\t\"\x18\n\x16\x44\x65leteScheduleResponse\"]\n\x14ListSchedulesRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x19\n\x11maximum_page_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\"p\n\x15ListSchedulesResponse\x12>\n\tschedules\x18\x01 \x03(\x0b\x32+.temporal.api.schedule.v1.ScheduleListEntry\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"\x86\x05\n\'UpdateWorkerBuildIdCompatibilityRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12-\n#add_new_build_id_in_new_default_set\x18\x03 \x01(\tH\x00\x12\x87\x01\n\x1b\x61\x64\x64_new_compatible_build_id\x18\x04 \x01(\x0b\x32`.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.AddNewCompatibleVersionH\x00\x12!\n\x17promote_set_by_build_id\x18\x05 \x01(\tH\x00\x12%\n\x1bpromote_build_id_within_set\x18\x06 \x01(\tH\x00\x12h\n\nmerge_sets\x18\x07 \x01(\x0b\x32R.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.MergeSetsH\x00\x1ao\n\x17\x41\x64\x64NewCompatibleVersion\x12\x14\n\x0cnew_build_id\x18\x01 \x01(\t\x12$\n\x1c\x65xisting_compatible_build_id\x18\x02 \x01(\t\x12\x18\n\x10make_set_default\x18\x03 \x01(\x08\x1aI\n\tMergeSets\x12\x1c\n\x14primary_set_build_id\x18\x01 \x01(\t\x12\x1e\n\x16secondary_set_build_id\x18\x02 \x01(\tB\x0b\n\toperation\"@\n(UpdateWorkerBuildIdCompatibilityResponseJ\x04\x08\x01\x10\x02R\x0eversion_set_id\"_\n$GetWorkerBuildIdCompatibilityRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x10\n\x08max_sets\x18\x03 \x01(\x05\"t\n%GetWorkerBuildIdCompatibilityResponse\x12K\n\x12major_version_sets\x18\x01 \x03(\x0b\x32/.temporal.api.taskqueue.v1.CompatibleVersionSet\"\x9c\x01\n GetWorkerTaskReachabilityRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tbuild_ids\x18\x02 \x03(\t\x12\x13\n\x0btask_queues\x18\x03 \x03(\t\x12=\n\x0creachability\x18\x04 \x01(\x0e\x32\'.temporal.api.enums.v1.TaskReachability\"r\n!GetWorkerTaskReachabilityResponse\x12M\n\x15\x62uild_id_reachability\x18\x01 \x03(\x0b\x32..temporal.api.taskqueue.v1.BuildIdReachability\"\x85\x02\n\x1eUpdateWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x1e\n\x16\x66irst_execution_run_id\x18\x03 \x01(\t\x12\x37\n\x0bwait_policy\x18\x04 \x01(\x0b\x32\".temporal.api.update.v1.WaitPolicy\x12\x30\n\x07request\x18\x05 \x01(\x0b\x32\x1f.temporal.api.update.v1.Request\"\xd7\x01\n\x1fUpdateWorkflowExecutionResponse\x12\x35\n\nupdate_ref\x18\x01 \x01(\x0b\x32!.temporal.api.update.v1.UpdateRef\x12\x30\n\x07outcome\x18\x02 \x01(\x0b\x32\x1f.temporal.api.update.v1.Outcome\x12K\n\x05stage\x18\x03 \x01(\x0e\x32<.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage\"\xdd\x04\n\x1aStartBatchOperationRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x18\n\x10visibility_query\x18\x02 \x01(\t\x12\x0e\n\x06job_id\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\t\x12=\n\nexecutions\x18\x05 \x03(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12!\n\x19max_operations_per_second\x18\x06 \x01(\x02\x12Q\n\x15termination_operation\x18\n \x01(\x0b\x32\x30.temporal.api.batch.v1.BatchOperationTerminationH\x00\x12G\n\x10signal_operation\x18\x0b \x01(\x0b\x32+.temporal.api.batch.v1.BatchOperationSignalH\x00\x12S\n\x16\x63\x61ncellation_operation\x18\x0c \x01(\x0b\x32\x31.temporal.api.batch.v1.BatchOperationCancellationH\x00\x12K\n\x12\x64\x65letion_operation\x18\r \x01(\x0b\x32-.temporal.api.batch.v1.BatchOperationDeletionH\x00\x12\x45\n\x0freset_operation\x18\x0e \x01(\x0b\x32*.temporal.api.batch.v1.BatchOperationResetH\x00\x42\x0b\n\toperation\"\x1d\n\x1bStartBatchOperationResponse\"`\n\x19StopBatchOperationRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0e\n\x06job_id\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x10\n\x08identity\x18\x04 \x01(\t\"\x1c\n\x1aStopBatchOperationResponse\"B\n\x1d\x44\x65scribeBatchOperationRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0e\n\x06job_id\x18\x02 \x01(\t\"\x92\x03\n\x1e\x44\x65scribeBatchOperationResponse\x12\x41\n\x0eoperation_type\x18\x01 \x01(\x0e\x32).temporal.api.enums.v1.BatchOperationType\x12\x0e\n\x06job_id\x18\x02 \x01(\t\x12\x39\n\x05state\x18\x03 \x01(\x0e\x32*.temporal.api.enums.v1.BatchOperationState\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nclose_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15total_operation_count\x18\x06 \x01(\x03\x12 \n\x18\x63omplete_operation_count\x18\x07 \x01(\x03\x12\x1f\n\x17\x66\x61ilure_operation_count\x18\x08 \x01(\x03\x12\x10\n\x08identity\x18\t \x01(\t\x12\x0e\n\x06reason\x18\n \x01(\t\"[\n\x1aListBatchOperationsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\"y\n\x1bListBatchOperationsResponse\x12\x41\n\x0eoperation_info\x18\x01 \x03(\x0b\x32).temporal.api.batch.v1.BatchOperationInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"\xb9\x01\n\"PollWorkflowExecutionUpdateRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x35\n\nupdate_ref\x18\x02 \x01(\x0b\x32!.temporal.api.update.v1.UpdateRef\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x37\n\x0bwait_policy\x18\x04 \x01(\x0b\x32\".temporal.api.update.v1.WaitPolicy\"\xdb\x01\n#PollWorkflowExecutionUpdateResponse\x12\x30\n\x07outcome\x18\x01 \x01(\x0b\x32\x1f.temporal.api.update.v1.Outcome\x12K\n\x05stage\x18\x02 \x01(\x0e\x32<.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage\x12\x35\n\nupdate_ref\x18\x03 \x01(\x0b\x32!.temporal.api.update.v1.UpdateRefB\xbe\x01\n\"io.temporal.api.workflowservice.v1B\x14RequestResponseProtoP\x01Z5go.temporal.io/api/workflowservice/v1;workflowservice\xaa\x02!Temporalio.Api.WorkflowService.V1\xea\x02$Temporalio::Api::WorkflowService::V1b\x06proto3" +descriptor_data = "\n6temporal/api/workflowservice/v1/request_response.proto\x12\x1ftemporal.api.workflowservice.v1\x1a+temporal/api/enums/v1/batch_operation.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/api/enums/v1/namespace.proto\x1a(temporal/api/enums/v1/failed_cause.proto\x1a\"temporal/api/enums/v1/common.proto\x1a!temporal/api/enums/v1/query.proto\x1a!temporal/api/enums/v1/reset.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a\"temporal/api/enums/v1/update.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/history/v1/message.proto\x1a&temporal/api/workflow/v1/message.proto\x1a%temporal/api/command/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/filter/v1/message.proto\x1a&temporal/api/protocol/v1/message.proto\x1a\'temporal/api/namespace/v1/message.proto\x1a#temporal/api/query/v1/message.proto\x1a)temporal/api/replication/v1/message.proto\x1a&temporal/api/schedule/v1/message.proto\x1a\'temporal/api/taskqueue/v1/message.proto\x1a$temporal/api/update/v1/message.proto\x1a%temporal/api/version/v1/message.proto\x1a#temporal/api/batch/v1/message.proto\x1a\x30temporal/api/sdk/v1/task_complete_metadata.proto\x1a\'temporal/api/sdk/v1/user_metadata.proto\x1a#temporal/api/nexus/v1/message.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x88\x05\n\x18RegisterNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x13\n\x0bowner_email\x18\x03 \x01(\t\x12\x46\n#workflow_execution_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x08\x63lusters\x18\x05 \x03(\x0b\x32\x35.temporal.api.replication.v1.ClusterReplicationConfig\x12\x1b\n\x13\x61\x63tive_cluster_name\x18\x06 \x01(\t\x12Q\n\x04\x64\x61ta\x18\x07 \x03(\x0b\x32\x43.temporal.api.workflowservice.v1.RegisterNamespaceRequest.DataEntry\x12\x16\n\x0esecurity_token\x18\x08 \x01(\t\x12\x1b\n\x13is_global_namespace\x18\t \x01(\x08\x12\x44\n\x16history_archival_state\x18\n \x01(\x0e\x32$.temporal.api.enums.v1.ArchivalState\x12\x1c\n\x14history_archival_uri\x18\x0b \x01(\t\x12G\n\x19visibility_archival_state\x18\x0c \x01(\x0e\x32$.temporal.api.enums.v1.ArchivalState\x12\x1f\n\x17visibility_archival_uri\x18\r \x01(\t\x1a+\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1b\n\x19RegisterNamespaceResponse\"\x89\x01\n\x15ListNamespacesRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\x12\x44\n\x10namespace_filter\x18\x03 \x01(\x0b\x32*.temporal.api.namespace.v1.NamespaceFilter\"\x81\x01\n\x16ListNamespacesResponse\x12N\n\nnamespaces\x18\x01 \x03(\x0b\x32:.temporal.api.workflowservice.v1.DescribeNamespaceResponse\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"9\n\x18\x44\x65scribeNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\"\xec\x02\n\x19\x44\x65scribeNamespaceResponse\x12@\n\x0enamespace_info\x18\x01 \x01(\x0b\x32(.temporal.api.namespace.v1.NamespaceInfo\x12:\n\x06\x63onfig\x18\x02 \x01(\x0b\x32*.temporal.api.namespace.v1.NamespaceConfig\x12S\n\x12replication_config\x18\x03 \x01(\x0b\x32\x37.temporal.api.replication.v1.NamespaceReplicationConfig\x12\x18\n\x10\x66\x61ilover_version\x18\x04 \x01(\x03\x12\x1b\n\x13is_global_namespace\x18\x05 \x01(\x08\x12\x45\n\x10\x66\x61ilover_history\x18\x06 \x03(\x0b\x32+.temporal.api.replication.v1.FailoverStatus\"\xcf\x02\n\x16UpdateNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x43\n\x0bupdate_info\x18\x02 \x01(\x0b\x32..temporal.api.namespace.v1.UpdateNamespaceInfo\x12:\n\x06\x63onfig\x18\x03 \x01(\x0b\x32*.temporal.api.namespace.v1.NamespaceConfig\x12S\n\x12replication_config\x18\x04 \x01(\x0b\x32\x37.temporal.api.replication.v1.NamespaceReplicationConfig\x12\x16\n\x0esecurity_token\x18\x05 \x01(\t\x12\x19\n\x11\x64\x65lete_bad_binary\x18\x06 \x01(\t\x12\x19\n\x11promote_namespace\x18\x07 \x01(\x08\"\xa3\x02\n\x17UpdateNamespaceResponse\x12@\n\x0enamespace_info\x18\x01 \x01(\x0b\x32(.temporal.api.namespace.v1.NamespaceInfo\x12:\n\x06\x63onfig\x18\x02 \x01(\x0b\x32*.temporal.api.namespace.v1.NamespaceConfig\x12S\n\x12replication_config\x18\x03 \x01(\x0b\x32\x37.temporal.api.replication.v1.NamespaceReplicationConfig\x12\x18\n\x10\x66\x61ilover_version\x18\x04 \x01(\x03\x12\x1b\n\x13is_global_namespace\x18\x05 \x01(\x08\"F\n\x19\x44\x65precateNamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x16\n\x0esecurity_token\x18\x02 \x01(\t\"\x1c\n\x1a\x44\x65precateNamespaceResponse\"\xb3\t\n\x1dStartWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08identity\x18\t \x01(\t\x12\x12\n\nrequest_id\x18\n \x01(\t\x12N\n\x18workflow_id_reuse_policy\x18\x0b \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12T\n\x1bworkflow_id_conflict_policy\x18\x16 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\r \x01(\t\x12*\n\x04memo\x18\x0e \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x0f \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12.\n\x06header\x18\x10 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x1f\n\x17request_eager_execution\x18\x11 \x01(\x08\x12;\n\x11\x63ontinued_failure\x18\x12 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12@\n\x16last_completion_result\x18\x13 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x37\n\x14workflow_start_delay\x18\x14 \x01(\x0b\x32\x19.google.protobuf.Duration\x12>\n\x14\x63ompletion_callbacks\x18\x15 \x03(\x0b\x32 .temporal.api.common.v1.Callback\x12\x38\n\ruser_metadata\x18\x17 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\"\x9e\x01\n\x1eStartWorkflowExecutionResponse\x12\x0e\n\x06run_id\x18\x01 \x01(\t\x12\x0f\n\x07started\x18\x03 \x01(\x08\x12[\n\x13\x65\x61ger_workflow_task\x18\x02 \x01(\x0b\x32>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse\"\xaa\x02\n\"GetWorkflowExecutionHistoryRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x19\n\x11maximum_page_size\x18\x03 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x04 \x01(\x0c\x12\x16\n\x0ewait_new_event\x18\x05 \x01(\x08\x12P\n\x19history_event_filter_type\x18\x06 \x01(\x0e\x32-.temporal.api.enums.v1.HistoryEventFilterType\x12\x15\n\rskip_archival\x18\x07 \x01(\x08\"\xba\x01\n#GetWorkflowExecutionHistoryResponse\x12\x31\n\x07history\x18\x01 \x01(\x0b\x32 .temporal.api.history.v1.History\x12\x35\n\x0braw_history\x18\x02 \x03(\x0b\x32 .temporal.api.common.v1.DataBlob\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\x10\n\x08\x61rchived\x18\x04 \x01(\x08\"\xb0\x01\n)GetWorkflowExecutionHistoryReverseRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x19\n\x11maximum_page_size\x18\x03 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x04 \x01(\x0c\"x\n*GetWorkflowExecutionHistoryReverseResponse\x12\x31\n\x07history\x18\x01 \x01(\x0b\x32 .temporal.api.history.v1.History\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\"\xee\x01\n\x1cPollWorkflowTaskQueueRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x17\n\x0f\x62inary_checksum\x18\x04 \x01(\t\x12V\n\x1bworker_version_capabilities\x18\x05 \x01(\x0b\x32\x31.temporal.api.common.v1.WorkerVersionCapabilities\"\xbe\x06\n\x1dPollWorkflowTaskQueueResponse\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12!\n\x19previous_started_event_id\x18\x04 \x01(\x03\x12\x18\n\x10started_event_id\x18\x05 \x01(\x03\x12\x0f\n\x07\x61ttempt\x18\x06 \x01(\x05\x12\x1a\n\x12\x62\x61\x63klog_count_hint\x18\x07 \x01(\x03\x12\x31\n\x07history\x18\x08 \x01(\x0b\x32 .temporal.api.history.v1.History\x12\x17\n\x0fnext_page_token\x18\t \x01(\x0c\x12\x33\n\x05query\x18\n \x01(\x0b\x32$.temporal.api.query.v1.WorkflowQuery\x12K\n\x1dworkflow_execution_task_queue\x18\x0b \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12\x32\n\x0escheduled_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\\\n\x07queries\x18\x0e \x03(\x0b\x32K.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.QueriesEntry\x12\x33\n\x08messages\x18\x0f \x03(\x0b\x32!.temporal.api.protocol.v1.Message\x1aT\n\x0cQueriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.temporal.api.query.v1.WorkflowQuery:\x02\x38\x01\"\xa4\x06\n#RespondWorkflowTaskCompletedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x32\n\x08\x63ommands\x18\x02 \x03(\x0b\x32 .temporal.api.command.v1.Command\x12\x10\n\x08identity\x18\x03 \x01(\t\x12O\n\x11sticky_attributes\x18\x04 \x01(\x0b\x32\x34.temporal.api.taskqueue.v1.StickyExecutionAttributes\x12 \n\x18return_new_workflow_task\x18\x05 \x01(\x08\x12&\n\x1e\x66orce_create_new_workflow_task\x18\x06 \x01(\x08\x12\x17\n\x0f\x62inary_checksum\x18\x07 \x01(\t\x12m\n\rquery_results\x18\x08 \x03(\x0b\x32V.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.QueryResultsEntry\x12\x11\n\tnamespace\x18\t \x01(\t\x12H\n\x14worker_version_stamp\x18\n \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\x12\x33\n\x08messages\x18\x0b \x03(\x0b\x32!.temporal.api.protocol.v1.Message\x12H\n\x0csdk_metadata\x18\x0c \x01(\x0b\x32\x32.temporal.api.sdk.v1.WorkflowTaskCompletedMetadata\x12\x43\n\x11metering_metadata\x18\r \x01(\x0b\x32(.temporal.api.common.v1.MeteringMetadata\x1a_\n\x11QueryResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.temporal.api.query.v1.WorkflowQueryResult:\x02\x38\x01\"\xf5\x01\n$RespondWorkflowTaskCompletedResponse\x12U\n\rworkflow_task\x18\x01 \x01(\x0b\x32>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse\x12V\n\x0e\x61\x63tivity_tasks\x18\x02 \x03(\x0b\x32>.temporal.api.workflowservice.v1.PollActivityTaskQueueResponse\x12\x1e\n\x16reset_history_event_id\x18\x03 \x01(\x03\"\xdf\x02\n RespondWorkflowTaskFailedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12=\n\x05\x63\x61use\x18\x02 \x01(\x0e\x32..temporal.api.enums.v1.WorkflowTaskFailedCause\x12\x31\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x10\n\x08identity\x18\x04 \x01(\t\x12\x17\n\x0f\x62inary_checksum\x18\x05 \x01(\t\x12\x11\n\tnamespace\x18\x06 \x01(\t\x12\x33\n\x08messages\x18\x07 \x03(\x0b\x32!.temporal.api.protocol.v1.Message\x12\x42\n\x0eworker_version\x18\x08 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"#\n!RespondWorkflowTaskFailedResponse\"\xa0\x02\n\x1cPollActivityTaskQueueRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12\x10\n\x08identity\x18\x03 \x01(\t\x12I\n\x13task_queue_metadata\x18\x04 \x01(\x0b\x32,.temporal.api.taskqueue.v1.TaskQueueMetadata\x12V\n\x1bworker_version_capabilities\x18\x05 \x01(\x0b\x32\x31.temporal.api.common.v1.WorkerVersionCapabilities\"\xe8\x06\n\x1dPollActivityTaskQueueResponse\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x1a\n\x12workflow_namespace\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x45\n\x12workflow_execution\x18\x04 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12;\n\ractivity_type\x18\x05 \x01(\x0b\x32$.temporal.api.common.v1.ActivityType\x12\x13\n\x0b\x61\x63tivity_id\x18\x06 \x01(\t\x12.\n\x06header\x18\x07 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12/\n\x05input\x18\x08 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12;\n\x11heartbeat_details\x18\t \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x32\n\x0escheduled_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x42\n\x1e\x63urrent_attempt_scheduled_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x61ttempt\x18\r \x01(\x05\x12<\n\x19schedule_to_close_timeout\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x0f \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\x10 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x11 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\"\x90\x01\n\"RecordActivityTaskHeartbeatRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x31\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\t\"?\n#RecordActivityTaskHeartbeatResponse\x12\x18\n\x10\x63\x61ncel_requested\x18\x01 \x01(\x08\"\xba\x01\n&RecordActivityTaskHeartbeatByIdRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x31\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x06 \x01(\t\"C\n\'RecordActivityTaskHeartbeatByIdResponse\x12\x18\n\x10\x63\x61ncel_requested\x18\x01 \x01(\x08\"\xd4\x01\n#RespondActivityTaskCompletedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x30\n\x06result\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\t\x12\x42\n\x0eworker_version\x18\x05 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"&\n$RespondActivityTaskCompletedResponse\"\xba\x01\n\'RespondActivityTaskCompletedByIdRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x30\n\x06result\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x06 \x01(\t\"*\n(RespondActivityTaskCompletedByIdResponse\"\x94\x02\n RespondActivityTaskFailedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x31\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\t\x12@\n\x16last_heartbeat_details\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x42\n\x0eworker_version\x18\x06 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"W\n!RespondActivityTaskFailedResponse\x12\x32\n\x08\x66\x61ilures\x18\x01 \x03(\x0b\x32 .temporal.api.failure.v1.Failure\"\xfa\x01\n$RespondActivityTaskFailedByIdRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x31\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x10\n\x08identity\x18\x06 \x01(\t\x12@\n\x16last_heartbeat_details\x18\x07 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\"[\n%RespondActivityTaskFailedByIdResponse\x12\x32\n\x08\x66\x61ilures\x18\x01 \x03(\x0b\x32 .temporal.api.failure.v1.Failure\"\xd4\x01\n\"RespondActivityTaskCanceledRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12\x31\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\t\x12\x42\n\x0eworker_version\x18\x05 \x01(\x0b\x32*.temporal.api.common.v1.WorkerVersionStamp\"%\n#RespondActivityTaskCanceledResponse\"\xba\x01\n&RespondActivityTaskCanceledByIdRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x31\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x06 \x01(\t\")\n\'RespondActivityTaskCanceledByIdResponse\"\xd7\x01\n%RequestCancelWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x12\n\nrequest_id\x18\x04 \x01(\t\x12\x1e\n\x16\x66irst_execution_run_id\x18\x05 \x01(\t\x12\x0e\n\x06reason\x18\x06 \x01(\t\"(\n&RequestCancelWorkflowExecutionResponse\"\xcc\x02\n\x1eSignalWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12/\n\x05input\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x12\n\nrequest_id\x18\x06 \x01(\t\x12\x0f\n\x07\x63ontrol\x18\x07 \x01(\t\x12.\n\x06header\x18\x08 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12#\n\x1bskip_generate_workflow_task\x18\t \x01(\x08\"!\n\x1fSignalWorkflowExecutionResponse\"\xe0\x08\n\'SignalWithStartWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12;\n\rworkflow_type\x18\x03 \x01(\x0b\x32$.temporal.api.common.v1.WorkflowType\x12\x38\n\ntask_queue\x18\x04 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12/\n\x05input\x18\x05 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12=\n\x1aworkflow_execution_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08identity\x18\t \x01(\t\x12\x12\n\nrequest_id\x18\n \x01(\t\x12N\n\x18workflow_id_reuse_policy\x18\x0b \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12T\n\x1bworkflow_id_conflict_policy\x18\x16 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x13\n\x0bsignal_name\x18\x0c \x01(\t\x12\x36\n\x0csignal_input\x18\r \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x0f\n\x07\x63ontrol\x18\x0e \x01(\t\x12\x39\n\x0cretry_policy\x18\x0f \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x10 \x01(\t\x12*\n\x04memo\x18\x11 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x12 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12.\n\x06header\x18\x13 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x37\n\x14workflow_start_delay\x18\x14 \x01(\x0b\x32\x19.google.protobuf.Duration\x12#\n\x1bskip_generate_workflow_task\x18\x15 \x01(\x08\x12\x38\n\ruser_metadata\x18\x17 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\"K\n(SignalWithStartWorkflowExecutionResponse\x12\x0e\n\x06run_id\x18\x01 \x01(\t\x12\x0f\n\x07started\x18\x02 \x01(\x08\"\xde\x02\n\x1dResetWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12%\n\x1dworkflow_task_finish_event_id\x18\x04 \x01(\x03\x12\x12\n\nrequest_id\x18\x05 \x01(\t\x12\x43\n\x12reset_reapply_type\x18\x06 \x01(\x0e\x32\'.temporal.api.enums.v1.ResetReapplyType\x12S\n\x1breset_reapply_exclude_types\x18\x07 \x03(\x0e\x32..temporal.api.enums.v1.ResetReapplyExcludeType\"0\n\x1eResetWorkflowExecutionResponse\x12\x0e\n\x06run_id\x18\x01 \x01(\t\"\xf2\x01\n!TerminateWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x31\n\x07\x64\x65tails\x18\x04 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x1e\n\x16\x66irst_execution_run_id\x18\x06 \x01(\t\"$\n\"TerminateWorkflowExecutionResponse\"z\n\x1e\x44\x65leteWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"!\n\x1f\x44\x65leteWorkflowExecutionResponse\"\xc9\x02\n!ListOpenWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x19\n\x11maximum_page_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\x42\n\x11start_time_filter\x18\x04 \x01(\x0b\x32\'.temporal.api.filter.v1.StartTimeFilter\x12K\n\x10\x65xecution_filter\x18\x05 \x01(\x0b\x32/.temporal.api.filter.v1.WorkflowExecutionFilterH\x00\x12\x41\n\x0btype_filter\x18\x06 \x01(\x0b\x32*.temporal.api.filter.v1.WorkflowTypeFilterH\x00\x42\t\n\x07\x66ilters\"\x82\x01\n\"ListOpenWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"\x8a\x03\n#ListClosedWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x19\n\x11maximum_page_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\x42\n\x11start_time_filter\x18\x04 \x01(\x0b\x32\'.temporal.api.filter.v1.StartTimeFilter\x12K\n\x10\x65xecution_filter\x18\x05 \x01(\x0b\x32/.temporal.api.filter.v1.WorkflowExecutionFilterH\x00\x12\x41\n\x0btype_filter\x18\x06 \x01(\x0b\x32*.temporal.api.filter.v1.WorkflowTypeFilterH\x00\x12=\n\rstatus_filter\x18\x07 \x01(\x0b\x32$.temporal.api.filter.v1.StatusFilterH\x00\x42\t\n\x07\x66ilters\"\x84\x01\n$ListClosedWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"m\n\x1dListWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\r\n\x05query\x18\x04 \x01(\t\"~\n\x1eListWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"u\n%ListArchivedWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\r\n\x05query\x18\x04 \x01(\t\"\x86\x01\n&ListArchivedWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"m\n\x1dScanWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\r\n\x05query\x18\x04 \x01(\t\"~\n\x1eScanWorkflowExecutionsResponse\x12\x43\n\nexecutions\x18\x01 \x03(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"B\n\x1e\x43ountWorkflowExecutionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\r\n\x05query\x18\x02 \x01(\t\"\xed\x01\n\x1f\x43ountWorkflowExecutionsResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x61\n\x06groups\x18\x02 \x03(\x0b\x32Q.temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse.AggregationGroup\x1aX\n\x10\x41ggregationGroup\x12\x35\n\x0cgroup_values\x18\x01 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\"\x1c\n\x1aGetSearchAttributesRequest\"\xc9\x01\n\x1bGetSearchAttributesResponse\x12T\n\x04keys\x18\x01 \x03(\x0b\x32\x46.temporal.api.workflowservice.v1.GetSearchAttributesResponse.KeysEntry\x1aT\n\tKeysEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1.IndexedValueType:\x02\x38\x01\"\xde\x01\n RespondQueryTaskCompletedRequest\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12>\n\x0e\x63ompleted_type\x18\x02 \x01(\x0e\x32&.temporal.api.enums.v1.QueryResultType\x12\x36\n\x0cquery_result\x18\x03 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x15\n\rerror_message\x18\x04 \x01(\t\x12\x11\n\tnamespace\x18\x06 \x01(\tJ\x04\x08\x05\x10\x06\"#\n!RespondQueryTaskCompletedResponse\"n\n\x1bResetStickyTaskQueueRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"\x1e\n\x1cResetStickyTaskQueueResponse\"\xe9\x01\n\x14QueryWorkflowRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x33\n\x05query\x18\x03 \x01(\x0b\x32$.temporal.api.query.v1.WorkflowQuery\x12K\n\x16query_reject_condition\x18\x04 \x01(\x0e\x32+.temporal.api.enums.v1.QueryRejectCondition\"\x8d\x01\n\x15QueryWorkflowResponse\x12\x36\n\x0cquery_result\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12<\n\x0equery_rejected\x18\x02 \x01(\x0b\x32$.temporal.api.query.v1.QueryRejected\"s\n DescribeWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12<\n\texecution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\"\xc0\x04\n!DescribeWorkflowExecutionResponse\x12K\n\x10\x65xecution_config\x18\x01 \x01(\x0b\x32\x31.temporal.api.workflow.v1.WorkflowExecutionConfig\x12P\n\x17workflow_execution_info\x18\x02 \x01(\x0b\x32/.temporal.api.workflow.v1.WorkflowExecutionInfo\x12I\n\x12pending_activities\x18\x03 \x03(\x0b\x32-.temporal.api.workflow.v1.PendingActivityInfo\x12M\n\x10pending_children\x18\x04 \x03(\x0b\x32\x33.temporal.api.workflow.v1.PendingChildExecutionInfo\x12P\n\x15pending_workflow_task\x18\x05 \x01(\x0b\x32\x31.temporal.api.workflow.v1.PendingWorkflowTaskInfo\x12\x39\n\tcallbacks\x18\x06 \x03(\x0b\x32&.temporal.api.workflow.v1.CallbackInfo\x12U\n\x18pending_nexus_operations\x18\x07 \x03(\x0b\x32\x33.temporal.api.workflow.v1.PendingNexusOperationInfo\"\xe1\x03\n\x18\x44\x65scribeTaskQueueRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12=\n\x0ftask_queue_type\x18\x03 \x01(\x0e\x32$.temporal.api.enums.v1.TaskQueueType\x12!\n\x19include_task_queue_status\x18\x04 \x01(\x08\x12>\n\x08\x61pi_mode\x18\x05 \x01(\x0e\x32,.temporal.api.enums.v1.DescribeTaskQueueMode\x12\x46\n\x08versions\x18\x06 \x01(\x0b\x32\x34.temporal.api.taskqueue.v1.TaskQueueVersionSelection\x12>\n\x10task_queue_types\x18\x07 \x03(\x0e\x32$.temporal.api.enums.v1.TaskQueueType\x12\x14\n\x0creport_stats\x18\x08 \x01(\x08\x12\x16\n\x0ereport_pollers\x18\t \x01(\x08\x12 \n\x18report_task_reachability\x18\n \x01(\x08\"\xe5\x02\n\x19\x44\x65scribeTaskQueueResponse\x12\x36\n\x07pollers\x18\x01 \x03(\x0b\x32%.temporal.api.taskqueue.v1.PollerInfo\x12\x45\n\x11task_queue_status\x18\x02 \x01(\x0b\x32*.temporal.api.taskqueue.v1.TaskQueueStatus\x12\x63\n\rversions_info\x18\x03 \x03(\x0b\x32L.temporal.api.workflowservice.v1.DescribeTaskQueueResponse.VersionsInfoEntry\x1a\x64\n\x11VersionsInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12>\n\x05value\x18\x02 \x01(\x0b\x32/.temporal.api.taskqueue.v1.TaskQueueVersionInfo:\x02\x38\x01\"\x17\n\x15GetClusterInfoRequest\"\x8b\x03\n\x16GetClusterInfoResponse\x12h\n\x11supported_clients\x18\x01 \x03(\x0b\x32M.temporal.api.workflowservice.v1.GetClusterInfoResponse.SupportedClientsEntry\x12\x16\n\x0eserver_version\x18\x02 \x01(\t\x12\x12\n\ncluster_id\x18\x03 \x01(\t\x12:\n\x0cversion_info\x18\x04 \x01(\x0b\x32$.temporal.api.version.v1.VersionInfo\x12\x14\n\x0c\x63luster_name\x18\x05 \x01(\t\x12\x1b\n\x13history_shard_count\x18\x06 \x01(\x05\x12\x19\n\x11persistence_store\x18\x07 \x01(\t\x12\x18\n\x10visibility_store\x18\x08 \x01(\t\x1a\x37\n\x15SupportedClientsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x16\n\x14GetSystemInfoRequest\"\xe5\x03\n\x15GetSystemInfoResponse\x12\x16\n\x0eserver_version\x18\x01 \x01(\t\x12Y\n\x0c\x63\x61pabilities\x18\x02 \x01(\x0b\x32\x43.temporal.api.workflowservice.v1.GetSystemInfoResponse.Capabilities\x1a\xd8\x02\n\x0c\x43\x61pabilities\x12\x1f\n\x17signal_and_query_header\x18\x01 \x01(\x08\x12&\n\x1einternal_error_differentiation\x18\x02 \x01(\x08\x12*\n\"activity_failure_include_heartbeat\x18\x03 \x01(\x08\x12\x1a\n\x12supports_schedules\x18\x04 \x01(\x08\x12\"\n\x1a\x65ncoded_failure_attributes\x18\x05 \x01(\x08\x12!\n\x19\x62uild_id_based_versioning\x18\x06 \x01(\x08\x12\x13\n\x0bupsert_memo\x18\x07 \x01(\x08\x12\x1c\n\x14\x65\x61ger_workflow_start\x18\x08 \x01(\x08\x12\x14\n\x0csdk_metadata\x18\t \x01(\x08\x12\'\n\x1f\x63ount_group_by_execution_status\x18\n \x01(\x08\"m\n\x1eListTaskQueuePartitionsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\ntask_queue\x18\x02 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\"\xdf\x01\n\x1fListTaskQueuePartitionsResponse\x12]\n\x1e\x61\x63tivity_task_queue_partitions\x18\x01 \x03(\x0b\x32\x35.temporal.api.taskqueue.v1.TaskQueuePartitionMetadata\x12]\n\x1eworkflow_task_queue_partitions\x18\x02 \x03(\x0b\x32\x35.temporal.api.taskqueue.v1.TaskQueuePartitionMetadata\"\xcc\x02\n\x15\x43reateScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12\x34\n\x08schedule\x18\x03 \x01(\x0b\x32\".temporal.api.schedule.v1.Schedule\x12>\n\rinitial_patch\x18\x04 \x01(\x0b\x32\'.temporal.api.schedule.v1.SchedulePatch\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x12\n\nrequest_id\x18\x06 \x01(\t\x12*\n\x04memo\x18\x07 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x08 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\"0\n\x16\x43reateScheduleResponse\x12\x16\n\x0e\x63onflict_token\x18\x01 \x01(\x0c\"A\n\x17\x44\x65scribeScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\"\x8f\x02\n\x18\x44\x65scribeScheduleResponse\x12\x34\n\x08schedule\x18\x01 \x01(\x0b\x32\".temporal.api.schedule.v1.Schedule\x12\x34\n\x04info\x18\x02 \x01(\x0b\x32&.temporal.api.schedule.v1.ScheduleInfo\x12*\n\x04memo\x18\x03 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x04 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x16\n\x0e\x63onflict_token\x18\x05 \x01(\x0c\"\xf8\x01\n\x15UpdateScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12\x34\n\x08schedule\x18\x03 \x01(\x0b\x32\".temporal.api.schedule.v1.Schedule\x12\x16\n\x0e\x63onflict_token\x18\x04 \x01(\x0c\x12\x10\n\x08identity\x18\x05 \x01(\t\x12\x12\n\nrequest_id\x18\x06 \x01(\t\x12\x43\n\x11search_attributes\x18\x07 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\"\x18\n\x16UpdateScheduleResponse\"\x9c\x01\n\x14PatchScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12\x36\n\x05patch\x18\x03 \x01(\x0b\x32\'.temporal.api.schedule.v1.SchedulePatch\x12\x10\n\x08identity\x18\x04 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x17\n\x15PatchScheduleResponse\"\xa8\x01\n ListScheduleMatchingTimesRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12.\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"S\n!ListScheduleMatchingTimesResponse\x12.\n\nstart_time\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\"Q\n\x15\x44\x65leteScheduleRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bschedule_id\x18\x02 \x01(\t\x12\x10\n\x08identity\x18\x03 \x01(\t\"\x18\n\x16\x44\x65leteScheduleResponse\"l\n\x14ListSchedulesRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x19\n\x11maximum_page_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\x12\r\n\x05query\x18\x04 \x01(\t\"p\n\x15ListSchedulesResponse\x12>\n\tschedules\x18\x01 \x03(\x0b\x32+.temporal.api.schedule.v1.ScheduleListEntry\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"\x86\x05\n\'UpdateWorkerBuildIdCompatibilityRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12-\n#add_new_build_id_in_new_default_set\x18\x03 \x01(\tH\x00\x12\x87\x01\n\x1b\x61\x64\x64_new_compatible_build_id\x18\x04 \x01(\x0b\x32`.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.AddNewCompatibleVersionH\x00\x12!\n\x17promote_set_by_build_id\x18\x05 \x01(\tH\x00\x12%\n\x1bpromote_build_id_within_set\x18\x06 \x01(\tH\x00\x12h\n\nmerge_sets\x18\x07 \x01(\x0b\x32R.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.MergeSetsH\x00\x1ao\n\x17\x41\x64\x64NewCompatibleVersion\x12\x14\n\x0cnew_build_id\x18\x01 \x01(\t\x12$\n\x1c\x65xisting_compatible_build_id\x18\x02 \x01(\t\x12\x18\n\x10make_set_default\x18\x03 \x01(\x08\x1aI\n\tMergeSets\x12\x1c\n\x14primary_set_build_id\x18\x01 \x01(\t\x12\x1e\n\x16secondary_set_build_id\x18\x02 \x01(\tB\x0b\n\toperation\"@\n(UpdateWorkerBuildIdCompatibilityResponseJ\x04\x08\x01\x10\x02R\x0eversion_set_id\"_\n$GetWorkerBuildIdCompatibilityRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x10\n\x08max_sets\x18\x03 \x01(\x05\"t\n%GetWorkerBuildIdCompatibilityResponse\x12K\n\x12major_version_sets\x18\x01 \x03(\x0b\x32/.temporal.api.taskqueue.v1.CompatibleVersionSet\"\xb5\r\n\"UpdateWorkerVersioningRulesRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x16\n\x0e\x63onflict_token\x18\x03 \x01(\x0c\x12\x81\x01\n\x16insert_assignment_rule\x18\x04 \x01(\x0b\x32_.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.InsertBuildIdAssignmentRuleH\x00\x12\x83\x01\n\x17replace_assignment_rule\x18\x05 \x01(\x0b\x32`.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceBuildIdAssignmentRuleH\x00\x12\x81\x01\n\x16\x64\x65lete_assignment_rule\x18\x06 \x01(\x0b\x32_.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteBuildIdAssignmentRuleH\x00\x12\x8c\x01\n\x1c\x61\x64\x64_compatible_redirect_rule\x18\x07 \x01(\x0b\x32\x64.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.AddCompatibleBuildIdRedirectRuleH\x00\x12\x94\x01\n replace_compatible_redirect_rule\x18\x08 \x01(\x0b\x32h.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceCompatibleBuildIdRedirectRuleH\x00\x12\x92\x01\n\x1f\x64\x65lete_compatible_redirect_rule\x18\t \x01(\x0b\x32g.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteCompatibleBuildIdRedirectRuleH\x00\x12l\n\x0f\x63ommit_build_id\x18\n \x01(\x0b\x32Q.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.CommitBuildIdH\x00\x1aq\n\x1bInsertBuildIdAssignmentRule\x12\x12\n\nrule_index\x18\x01 \x01(\x05\x12>\n\x04rule\x18\x02 \x01(\x0b\x32\x30.temporal.api.taskqueue.v1.BuildIdAssignmentRule\x1a\x81\x01\n\x1cReplaceBuildIdAssignmentRule\x12\x12\n\nrule_index\x18\x01 \x01(\x05\x12>\n\x04rule\x18\x02 \x01(\x0b\x32\x30.temporal.api.taskqueue.v1.BuildIdAssignmentRule\x12\r\n\x05\x66orce\x18\x03 \x01(\x08\x1a@\n\x1b\x44\x65leteBuildIdAssignmentRule\x12\x12\n\nrule_index\x18\x01 \x01(\x05\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\x1aj\n AddCompatibleBuildIdRedirectRule\x12\x46\n\x04rule\x18\x01 \x01(\x0b\x32\x38.temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule\x1an\n$ReplaceCompatibleBuildIdRedirectRule\x12\x46\n\x04rule\x18\x01 \x01(\x0b\x32\x38.temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule\x1a>\n#DeleteCompatibleBuildIdRedirectRule\x12\x17\n\x0fsource_build_id\x18\x01 \x01(\t\x1a\x37\n\rCommitBuildId\x12\x17\n\x0ftarget_build_id\x18\x01 \x01(\t\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\x42\x0b\n\toperation\"\xfc\x01\n#UpdateWorkerVersioningRulesResponse\x12U\n\x10\x61ssignment_rules\x18\x01 \x03(\x0b\x32;.temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRule\x12\x66\n\x19\x63ompatible_redirect_rules\x18\x02 \x03(\x0b\x32\x43.temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRule\x12\x16\n\x0e\x63onflict_token\x18\x03 \x01(\x0c\"H\n\x1fGetWorkerVersioningRulesRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\"\xf9\x01\n GetWorkerVersioningRulesResponse\x12U\n\x10\x61ssignment_rules\x18\x01 \x03(\x0b\x32;.temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRule\x12\x66\n\x19\x63ompatible_redirect_rules\x18\x02 \x03(\x0b\x32\x43.temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRule\x12\x16\n\x0e\x63onflict_token\x18\x03 \x01(\x0c\"\x9c\x01\n GetWorkerTaskReachabilityRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tbuild_ids\x18\x02 \x03(\t\x12\x13\n\x0btask_queues\x18\x03 \x03(\t\x12=\n\x0creachability\x18\x04 \x01(\x0e\x32\'.temporal.api.enums.v1.TaskReachability\"r\n!GetWorkerTaskReachabilityResponse\x12M\n\x15\x62uild_id_reachability\x18\x01 \x03(\x0b\x32..temporal.api.taskqueue.v1.BuildIdReachability\"\x85\x02\n\x1eUpdateWorkflowExecutionRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x45\n\x12workflow_execution\x18\x02 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x1e\n\x16\x66irst_execution_run_id\x18\x03 \x01(\t\x12\x37\n\x0bwait_policy\x18\x04 \x01(\x0b\x32\".temporal.api.update.v1.WaitPolicy\x12\x30\n\x07request\x18\x05 \x01(\x0b\x32\x1f.temporal.api.update.v1.Request\"\xd7\x01\n\x1fUpdateWorkflowExecutionResponse\x12\x35\n\nupdate_ref\x18\x01 \x01(\x0b\x32!.temporal.api.update.v1.UpdateRef\x12\x30\n\x07outcome\x18\x02 \x01(\x0b\x32\x1f.temporal.api.update.v1.Outcome\x12K\n\x05stage\x18\x03 \x01(\x0e\x32<.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage\"\xdd\x04\n\x1aStartBatchOperationRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x18\n\x10visibility_query\x18\x02 \x01(\t\x12\x0e\n\x06job_id\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\t\x12=\n\nexecutions\x18\x05 \x03(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12!\n\x19max_operations_per_second\x18\x06 \x01(\x02\x12Q\n\x15termination_operation\x18\n \x01(\x0b\x32\x30.temporal.api.batch.v1.BatchOperationTerminationH\x00\x12G\n\x10signal_operation\x18\x0b \x01(\x0b\x32+.temporal.api.batch.v1.BatchOperationSignalH\x00\x12S\n\x16\x63\x61ncellation_operation\x18\x0c \x01(\x0b\x32\x31.temporal.api.batch.v1.BatchOperationCancellationH\x00\x12K\n\x12\x64\x65letion_operation\x18\r \x01(\x0b\x32-.temporal.api.batch.v1.BatchOperationDeletionH\x00\x12\x45\n\x0freset_operation\x18\x0e \x01(\x0b\x32*.temporal.api.batch.v1.BatchOperationResetH\x00\x42\x0b\n\toperation\"\x1d\n\x1bStartBatchOperationResponse\"`\n\x19StopBatchOperationRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0e\n\x06job_id\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x10\n\x08identity\x18\x04 \x01(\t\"\x1c\n\x1aStopBatchOperationResponse\"B\n\x1d\x44\x65scribeBatchOperationRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0e\n\x06job_id\x18\x02 \x01(\t\"\x92\x03\n\x1e\x44\x65scribeBatchOperationResponse\x12\x41\n\x0eoperation_type\x18\x01 \x01(\x0e\x32).temporal.api.enums.v1.BatchOperationType\x12\x0e\n\x06job_id\x18\x02 \x01(\t\x12\x39\n\x05state\x18\x03 \x01(\x0e\x32*.temporal.api.enums.v1.BatchOperationState\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nclose_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15total_operation_count\x18\x06 \x01(\x03\x12 \n\x18\x63omplete_operation_count\x18\x07 \x01(\x03\x12\x1f\n\x17\x66\x61ilure_operation_count\x18\x08 \x01(\x03\x12\x10\n\x08identity\x18\t \x01(\t\x12\x0e\n\x06reason\x18\n \x01(\t\"[\n\x1aListBatchOperationsRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\x0c\"y\n\x1bListBatchOperationsResponse\x12\x41\n\x0eoperation_info\x18\x01 \x03(\x0b\x32).temporal.api.batch.v1.BatchOperationInfo\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\x0c\"\xb9\x01\n\"PollWorkflowExecutionUpdateRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x35\n\nupdate_ref\x18\x02 \x01(\x0b\x32!.temporal.api.update.v1.UpdateRef\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x37\n\x0bwait_policy\x18\x04 \x01(\x0b\x32\".temporal.api.update.v1.WaitPolicy\"\xdb\x01\n#PollWorkflowExecutionUpdateResponse\x12\x30\n\x07outcome\x18\x01 \x01(\x0b\x32\x1f.temporal.api.update.v1.Outcome\x12K\n\x05stage\x18\x02 \x01(\x0e\x32<.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage\x12\x35\n\nupdate_ref\x18\x03 \x01(\x0b\x32!.temporal.api.update.v1.UpdateRef\"\xd2\x01\n\x19PollNexusTaskQueueRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x38\n\ntask_queue\x18\x03 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12V\n\x1bworker_version_capabilities\x18\x04 \x01(\x0b\x32\x31.temporal.api.common.v1.WorkerVersionCapabilities\"a\n\x1aPollNexusTaskQueueResponse\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12/\n\x07request\x18\x02 \x01(\x0b\x32\x1e.temporal.api.nexus.v1.Request\"\x8e\x01\n RespondNexusTaskCompletedRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntask_token\x18\x03 \x01(\x0c\x12\x31\n\x08response\x18\x04 \x01(\x0b\x32\x1f.temporal.api.nexus.v1.Response\"#\n!RespondNexusTaskCompletedResponse\"\x8c\x01\n\x1dRespondNexusTaskFailedRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntask_token\x18\x03 \x01(\x0c\x12\x32\n\x05\x65rror\x18\x04 \x01(\x0b\x32#.temporal.api.nexus.v1.HandlerError\" \n\x1eRespondNexusTaskFailedResponse\"\xdf\x02\n\x1c\x45xecuteMultiOperationRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12[\n\noperations\x18\x02 \x03(\x0b\x32G.temporal.api.workflowservice.v1.ExecuteMultiOperationRequest.Operation\x1a\xce\x01\n\tOperation\x12X\n\x0estart_workflow\x18\x01 \x01(\x0b\x32>.temporal.api.workflowservice.v1.StartWorkflowExecutionRequestH\x00\x12Z\n\x0fupdate_workflow\x18\x02 \x01(\x0b\x32?.temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequestH\x00\x42\x0b\n\toperation\"\xcc\x02\n\x1d\x45xecuteMultiOperationResponse\x12Z\n\tresponses\x18\x01 \x03(\x0b\x32G.temporal.api.workflowservice.v1.ExecuteMultiOperationResponse.Response\x1a\xce\x01\n\x08Response\x12Y\n\x0estart_workflow\x18\x01 \x01(\x0b\x32?.temporal.api.workflowservice.v1.StartWorkflowExecutionResponseH\x00\x12[\n\x0fupdate_workflow\x18\x02 \x01(\x0b\x32@.temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponseH\x00\x42\n\n\x08responseB\xbe\x01\n\"io.temporal.api.workflowservice.v1B\x14RequestResponseProtoP\x01Z5go.temporal.io/api/workflowservice/v1;workflowservice\xaa\x02!Temporalio.Api.WorkflowService.V1\xea\x02$Temporalio::Api::WorkflowService::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -146,6 +148,17 @@ module V1 UpdateWorkerBuildIdCompatibilityResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityResponse").msgclass GetWorkerBuildIdCompatibilityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest").msgclass GetWorkerBuildIdCompatibilityResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse").msgclass + UpdateWorkerVersioningRulesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest").msgclass + UpdateWorkerVersioningRulesRequest::InsertBuildIdAssignmentRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.InsertBuildIdAssignmentRule").msgclass + UpdateWorkerVersioningRulesRequest::ReplaceBuildIdAssignmentRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceBuildIdAssignmentRule").msgclass + UpdateWorkerVersioningRulesRequest::DeleteBuildIdAssignmentRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteBuildIdAssignmentRule").msgclass + UpdateWorkerVersioningRulesRequest::AddCompatibleBuildIdRedirectRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.AddCompatibleBuildIdRedirectRule").msgclass + UpdateWorkerVersioningRulesRequest::ReplaceCompatibleBuildIdRedirectRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceCompatibleBuildIdRedirectRule").msgclass + UpdateWorkerVersioningRulesRequest::DeleteCompatibleBuildIdRedirectRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteCompatibleBuildIdRedirectRule").msgclass + UpdateWorkerVersioningRulesRequest::CommitBuildId = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.CommitBuildId").msgclass + UpdateWorkerVersioningRulesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse").msgclass + GetWorkerVersioningRulesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.GetWorkerVersioningRulesRequest").msgclass + GetWorkerVersioningRulesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse").msgclass GetWorkerTaskReachabilityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest").msgclass GetWorkerTaskReachabilityResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse").msgclass UpdateWorkflowExecutionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest").msgclass @@ -160,6 +173,16 @@ module V1 ListBatchOperationsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.ListBatchOperationsResponse").msgclass PollWorkflowExecutionUpdateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest").msgclass PollWorkflowExecutionUpdateResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse").msgclass + PollNexusTaskQueueRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.PollNexusTaskQueueRequest").msgclass + PollNexusTaskQueueResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.PollNexusTaskQueueResponse").msgclass + RespondNexusTaskCompletedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest").msgclass + RespondNexusTaskCompletedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.RespondNexusTaskCompletedResponse").msgclass + RespondNexusTaskFailedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest").msgclass + RespondNexusTaskFailedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.RespondNexusTaskFailedResponse").msgclass + ExecuteMultiOperationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.ExecuteMultiOperationRequest").msgclass + ExecuteMultiOperationRequest::Operation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.ExecuteMultiOperationRequest.Operation").msgclass + ExecuteMultiOperationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.ExecuteMultiOperationResponse").msgclass + ExecuteMultiOperationResponse::Response = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.workflowservice.v1.ExecuteMultiOperationResponse.Response").msgclass end end end diff --git a/temporalio/lib/temporalio/api/workflowservice/v1/service.rb b/temporalio/lib/temporalio/api/workflowservice/v1/service.rb index fb9e2d48..8bbd2a11 100644 --- a/temporalio/lib/temporalio/api/workflowservice/v1/service.rb +++ b/temporalio/lib/temporalio/api/workflowservice/v1/service.rb @@ -8,7 +8,7 @@ require 'google/api/annotations_pb' -descriptor_data = "\n-temporal/api/workflowservice/v1/service.proto\x12\x1ftemporal.api.workflowservice.v1\x1a\x36temporal/api/workflowservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto2\x8a]\n\x0fWorkflowService\x12\xa9\x01\n\x11RegisterNamespace\x12\x39.temporal.api.workflowservice.v1.RegisterNamespaceRequest\x1a:.temporal.api.workflowservice.v1.RegisterNamespaceResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\"\x12/api/v1/namespaces:\x01*\x12\xb2\x01\n\x11\x44\x65scribeNamespace\x12\x39.temporal.api.workflowservice.v1.DescribeNamespaceRequest\x1a:.temporal.api.workflowservice.v1.DescribeNamespaceResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/api/v1/namespaces/{namespace}\x12\x9d\x01\n\x0eListNamespaces\x12\x36.temporal.api.workflowservice.v1.ListNamespacesRequest\x1a\x37.temporal.api.workflowservice.v1.ListNamespacesResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/api/v1/namespaces\x12\xb6\x01\n\x0fUpdateNamespace\x12\x37.temporal.api.workflowservice.v1.UpdateNamespaceRequest\x1a\x38.temporal.api.workflowservice.v1.UpdateNamespaceResponse\"0\x82\xd3\xe4\x93\x02*\"%/api/v1/namespaces/{namespace}/update:\x01*\x12\x8f\x01\n\x12\x44\x65precateNamespace\x12:.temporal.api.workflowservice.v1.DeprecateNamespaceRequest\x1a;.temporal.api.workflowservice.v1.DeprecateNamespaceResponse\"\x00\x12\xdc\x01\n\x16StartWorkflowExecution\x12>.temporal.api.workflowservice.v1.StartWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.StartWorkflowExecutionResponse\"A\x82\xd3\xe4\x93\x02;\"6/api/v1/namespaces/{namespace}/workflows/{workflow_id}:\x01*\x12\xfa\x01\n\x1bGetWorkflowExecutionHistory\x12\x43.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest\x1a\x44.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse\"P\x82\xd3\xe4\x93\x02J\x12H/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history\x12\x97\x02\n\"GetWorkflowExecutionHistoryReverse\x12J.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseRequest\x1aK.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseResponse\"X\x82\xd3\xe4\x93\x02R\x12P/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse\x12\x98\x01\n\x15PollWorkflowTaskQueue\x12=.temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse\"\x00\x12\xad\x01\n\x1cRespondWorkflowTaskCompleted\x12\x44.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest\x1a\x45.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse\"\x00\x12\xa4\x01\n\x19RespondWorkflowTaskFailed\x12\x41.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedResponse\"\x00\x12\x98\x01\n\x15PollActivityTaskQueue\x12=.temporal.api.workflowservice.v1.PollActivityTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollActivityTaskQueueResponse\"\x00\x12\xe8\x01\n\x1bRecordActivityTaskHeartbeat\x12\x43.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatRequest\x1a\x44.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatResponse\">\x82\xd3\xe4\x93\x02\x38\"3/api/v1/namespaces/{namespace}/activities/heartbeat:\x01*\x12\xfa\x01\n\x1fRecordActivityTaskHeartbeatById\x12G.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest\x1aH.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdResponse\"D\x82\xd3\xe4\x93\x02>\"9/api/v1/namespaces/{namespace}/activities/heartbeat-by-id:\x01*\x12\xea\x01\n\x1cRespondActivityTaskCompleted\x12\x44.temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest\x1a\x45.temporal.api.workflowservice.v1.RespondActivityTaskCompletedResponse\"=\x82\xd3\xe4\x93\x02\x37\"2/api/v1/namespaces/{namespace}/activities/complete:\x01*\x12\xfc\x01\n RespondActivityTaskCompletedById\x12H.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest\x1aI.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdResponse\"C\x82\xd3\xe4\x93\x02=\"8/api/v1/namespaces/{namespace}/activities/complete-by-id:\x01*\x12\xdd\x01\n\x19RespondActivityTaskFailed\x12\x41.temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondActivityTaskFailedResponse\"9\x82\xd3\xe4\x93\x02\x33\"./api/v1/namespaces/{namespace}/activities/fail:\x01*\x12\xef\x01\n\x1dRespondActivityTaskFailedById\x12\x45.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest\x1a\x46.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdResponse\"?\x82\xd3\xe4\x93\x02\x39\"4/api/v1/namespaces/{namespace}/activities/fail-by-id:\x01*\x12\xe5\x01\n\x1bRespondActivityTaskCanceled\x12\x43.temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest\x1a\x44.temporal.api.workflowservice.v1.RespondActivityTaskCanceledResponse\";\x82\xd3\xe4\x93\x02\x35\"0/api/v1/namespaces/{namespace}/activities/cancel:\x01*\x12\xf7\x01\n\x1fRespondActivityTaskCanceledById\x12G.temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest\x1aH.temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdResponse\"A\x82\xd3\xe4\x93\x02;\"6/api/v1/namespaces/{namespace}/activities/cancel-by-id:\x01*\x12\x8e\x02\n\x1eRequestCancelWorkflowExecution\x12\x46.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest\x1aG.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionResponse\"[\x82\xd3\xe4\x93\x02U\"P/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel:\x01*\x12\x87\x02\n\x17SignalWorkflowExecution\x12?.temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.SignalWorkflowExecutionResponse\"i\x82\xd3\xe4\x93\x02\x63\"^/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}:\x01*\x12\x9a\x02\n SignalWithStartWorkflowExecution\x12H.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest\x1aI.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse\"a\x82\xd3\xe4\x93\x02[\"V/api/v1/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}:\x01*\x12\xf5\x01\n\x16ResetWorkflowExecution\x12>.temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.ResetWorkflowExecutionResponse\"Z\x82\xd3\xe4\x93\x02T\"O/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset:\x01*\x12\x85\x02\n\x1aTerminateWorkflowExecution\x12\x42.temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest\x1a\x43.temporal.api.workflowservice.v1.TerminateWorkflowExecutionResponse\"^\x82\xd3\xe4\x93\x02X\"S/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate:\x01*\x12\x9e\x01\n\x17\x44\x65leteWorkflowExecution\x12?.temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.DeleteWorkflowExecutionResponse\"\x00\x12\xa7\x01\n\x1aListOpenWorkflowExecutions\x12\x42.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest\x1a\x43.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsResponse\"\x00\x12\xad\x01\n\x1cListClosedWorkflowExecutions\x12\x44.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest\x1a\x45.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsResponse\"\x00\x12\xcb\x01\n\x16ListWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ListWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ListWorkflowExecutionsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/api/v1/namespaces/{namespace}/workflows\x12\xec\x01\n\x1eListArchivedWorkflowExecutions\x12\x46.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsRequest\x1aG.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/api/v1/namespaces/{namespace}/archived-workflows\x12\x9b\x01\n\x16ScanWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ScanWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ScanWorkflowExecutionsResponse\"\x00\x12\xd3\x01\n\x17\x43ountWorkflowExecutions\x12?.temporal.api.workflowservice.v1.CountWorkflowExecutionsRequest\x1a@.temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/api/v1/namespaces/{namespace}/workflow-count\x12\x92\x01\n\x13GetSearchAttributes\x12;.temporal.api.workflowservice.v1.GetSearchAttributesRequest\x1a<.temporal.api.workflowservice.v1.GetSearchAttributesResponse\"\x00\x12\xa4\x01\n\x19RespondQueryTaskCompleted\x12\x41.temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondQueryTaskCompletedResponse\"\x00\x12\x95\x01\n\x14ResetStickyTaskQueue\x12<.temporal.api.workflowservice.v1.ResetStickyTaskQueueRequest\x1a=.temporal.api.workflowservice.v1.ResetStickyTaskQueueResponse\"\x00\x12\xe4\x01\n\rQueryWorkflow\x12\x35.temporal.api.workflowservice.v1.QueryWorkflowRequest\x1a\x36.temporal.api.workflowservice.v1.QueryWorkflowResponse\"d\x82\xd3\xe4\x93\x02^\"Y/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}:\x01*\x12\xec\x01\n\x19\x44\x65scribeWorkflowExecution\x12\x41.temporal.api.workflowservice.v1.DescribeWorkflowExecutionRequest\x1a\x42.temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse\"H\x82\xd3\xe4\x93\x02\x42\x12@/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}\x12\xd0\x01\n\x11\x44\x65scribeTaskQueue\x12\x39.temporal.api.workflowservice.v1.DescribeTaskQueueRequest\x1a:.temporal.api.workflowservice.v1.DescribeTaskQueueResponse\"D\x82\xd3\xe4\x93\x02>\x12\x82\xd3\xe4\x93\x02\x38\x12\x36/api/v1/namespaces/{namespace}/schedules/{schedule_id}\x12\xcb\x01\n\x0eUpdateSchedule\x12\x36.temporal.api.workflowservice.v1.UpdateScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.UpdateScheduleResponse\"H\x82\xd3\xe4\x93\x02\x42\"=/api/v1/namespaces/{namespace}/schedules/{schedule_id}/update:\x01*\x12\xc7\x01\n\rPatchSchedule\x12\x35.temporal.api.workflowservice.v1.PatchScheduleRequest\x1a\x36.temporal.api.workflowservice.v1.PatchScheduleResponse\"G\x82\xd3\xe4\x93\x02\x41\"\x82\xd3\xe4\x93\x02\x38*6/api/v1/namespaces/{namespace}/schedules/{schedule_id}\x12\xb0\x01\n\rListSchedules\x12\x35.temporal.api.workflowservice.v1.ListSchedulesRequest\x1a\x36.temporal.api.workflowservice.v1.ListSchedulesResponse\"0\x82\xd3\xe4\x93\x02*\x12(/api/v1/namespaces/{namespace}/schedules\x12\xb9\x01\n UpdateWorkerBuildIdCompatibility\x12H.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest\x1aI.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityResponse\"\x00\x12\x8d\x02\n\x1dGetWorkerBuildIdCompatibility\x12\x45.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest\x1a\x46.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse\"]\x82\xd3\xe4\x93\x02W\x12U/api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility\x12\xe3\x01\n\x19GetWorkerTaskReachability\x12\x41.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest\x1a\x42.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/api/v1/namespaces/{namespace}/worker-task-reachability\x12\x8e\x02\n\x17UpdateWorkflowExecution\x12?.temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse\"p\x82\xd3\xe4\x93\x02j\"e/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}:\x01*\x12\xaa\x01\n\x1bPollWorkflowExecutionUpdate\x12\x43.temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest\x1a\x44.temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse\"\x00\x12\xd5\x01\n\x13StartBatchOperation\x12;.temporal.api.workflowservice.v1.StartBatchOperationRequest\x1a<.temporal.api.workflowservice.v1.StartBatchOperationResponse\"C\x82\xd3\xe4\x93\x02=\"8/api/v1/namespaces/{namespace}/batch-operations/{job_id}:\x01*\x12\xd7\x01\n\x12StopBatchOperation\x12:.temporal.api.workflowservice.v1.StopBatchOperationRequest\x1a;.temporal.api.workflowservice.v1.StopBatchOperationResponse\"H\x82\xd3\xe4\x93\x02\x42\"=/api/v1/namespaces/{namespace}/batch-operations/{job_id}/stop:\x01*\x12\xdb\x01\n\x16\x44\x65scribeBatchOperation\x12>.temporal.api.workflowservice.v1.DescribeBatchOperationRequest\x1a?.temporal.api.workflowservice.v1.DescribeBatchOperationResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/api/v1/namespaces/{namespace}/batch-operations/{job_id}\x12\xc9\x01\n\x13ListBatchOperations\x12;.temporal.api.workflowservice.v1.ListBatchOperationsRequest\x1a<.temporal.api.workflowservice.v1.ListBatchOperationsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//api/v1/namespaces/{namespace}/batch-operationsB\xb6\x01\n\"io.temporal.api.workflowservice.v1B\x0cServiceProtoP\x01Z5go.temporal.io/api/workflowservice/v1;workflowservice\xaa\x02!Temporalio.Api.WorkflowService.V1\xea\x02$Temporalio::Api::WorkflowService::V1b\x06proto3" +descriptor_data = "\n-temporal/api/workflowservice/v1/service.proto\x12\x1ftemporal.api.workflowservice.v1\x1a\x36temporal/api/workflowservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto2\xbb\x63\n\x0fWorkflowService\x12\xa2\x01\n\x11RegisterNamespace\x12\x39.temporal.api.workflowservice.v1.RegisterNamespaceRequest\x1a:.temporal.api.workflowservice.v1.RegisterNamespaceResponse\"\x16\x82\xd3\xe4\x93\x02\x10\"\x0b/namespaces:\x01*\x12\xab\x01\n\x11\x44\x65scribeNamespace\x12\x39.temporal.api.workflowservice.v1.DescribeNamespaceRequest\x1a:.temporal.api.workflowservice.v1.DescribeNamespaceResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/namespaces/{namespace}\x12\x96\x01\n\x0eListNamespaces\x12\x36.temporal.api.workflowservice.v1.ListNamespacesRequest\x1a\x37.temporal.api.workflowservice.v1.ListNamespacesResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/namespaces\x12\xaf\x01\n\x0fUpdateNamespace\x12\x37.temporal.api.workflowservice.v1.UpdateNamespaceRequest\x1a\x38.temporal.api.workflowservice.v1.UpdateNamespaceResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/namespaces/{namespace}/update:\x01*\x12\x8f\x01\n\x12\x44\x65precateNamespace\x12:.temporal.api.workflowservice.v1.DeprecateNamespaceRequest\x1a;.temporal.api.workflowservice.v1.DeprecateNamespaceResponse\"\x00\x12\xd5\x01\n\x16StartWorkflowExecution\x12>.temporal.api.workflowservice.v1.StartWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.StartWorkflowExecutionResponse\":\x82\xd3\xe4\x93\x02\x34\"//namespaces/{namespace}/workflows/{workflow_id}:\x01*\x12\xdc\x01\n\x15\x45xecuteMultiOperation\x12=.temporal.api.workflowservice.v1.ExecuteMultiOperationRequest\x1a>.temporal.api.workflowservice.v1.ExecuteMultiOperationResponse\"D\x82\xd3\xe4\x93\x02>\"9/namespaces/{namespace}/workflows/execute-multi-operation:\x01*\x12\xf3\x01\n\x1bGetWorkflowExecutionHistory\x12\x43.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest\x1a\x44.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/namespaces/{namespace}/workflows/{execution.workflow_id}/history\x12\x90\x02\n\"GetWorkflowExecutionHistoryReverse\x12J.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseRequest\x1aK.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseResponse\"Q\x82\xd3\xe4\x93\x02K\x12I/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse\x12\x98\x01\n\x15PollWorkflowTaskQueue\x12=.temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse\"\x00\x12\xad\x01\n\x1cRespondWorkflowTaskCompleted\x12\x44.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest\x1a\x45.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse\"\x00\x12\xa4\x01\n\x19RespondWorkflowTaskFailed\x12\x41.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedResponse\"\x00\x12\x98\x01\n\x15PollActivityTaskQueue\x12=.temporal.api.workflowservice.v1.PollActivityTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollActivityTaskQueueResponse\"\x00\x12\xe1\x01\n\x1bRecordActivityTaskHeartbeat\x12\x43.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatRequest\x1a\x44.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatResponse\"7\x82\xd3\xe4\x93\x02\x31\",/namespaces/{namespace}/activities/heartbeat:\x01*\x12\xf3\x01\n\x1fRecordActivityTaskHeartbeatById\x12G.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest\x1aH.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdResponse\"=\x82\xd3\xe4\x93\x02\x37\"2/namespaces/{namespace}/activities/heartbeat-by-id:\x01*\x12\xe3\x01\n\x1cRespondActivityTaskCompleted\x12\x44.temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest\x1a\x45.temporal.api.workflowservice.v1.RespondActivityTaskCompletedResponse\"6\x82\xd3\xe4\x93\x02\x30\"+/namespaces/{namespace}/activities/complete:\x01*\x12\xf5\x01\n RespondActivityTaskCompletedById\x12H.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest\x1aI.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdResponse\"<\x82\xd3\xe4\x93\x02\x36\"1/namespaces/{namespace}/activities/complete-by-id:\x01*\x12\xd6\x01\n\x19RespondActivityTaskFailed\x12\x41.temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondActivityTaskFailedResponse\"2\x82\xd3\xe4\x93\x02,\"\'/namespaces/{namespace}/activities/fail:\x01*\x12\xe8\x01\n\x1dRespondActivityTaskFailedById\x12\x45.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest\x1a\x46.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdResponse\"8\x82\xd3\xe4\x93\x02\x32\"-/namespaces/{namespace}/activities/fail-by-id:\x01*\x12\xde\x01\n\x1bRespondActivityTaskCanceled\x12\x43.temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest\x1a\x44.temporal.api.workflowservice.v1.RespondActivityTaskCanceledResponse\"4\x82\xd3\xe4\x93\x02.\")/namespaces/{namespace}/activities/cancel:\x01*\x12\xf0\x01\n\x1fRespondActivityTaskCanceledById\x12G.temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest\x1aH.temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdResponse\":\x82\xd3\xe4\x93\x02\x34\"//namespaces/{namespace}/activities/cancel-by-id:\x01*\x12\x87\x02\n\x1eRequestCancelWorkflowExecution\x12\x46.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest\x1aG.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionResponse\"T\x82\xd3\xe4\x93\x02N\"I/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel:\x01*\x12\x80\x02\n\x17SignalWorkflowExecution\x12?.temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.SignalWorkflowExecutionResponse\"b\x82\xd3\xe4\x93\x02\\\"W/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}:\x01*\x12\x93\x02\n SignalWithStartWorkflowExecution\x12H.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest\x1aI.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse\"Z\x82\xd3\xe4\x93\x02T\"O/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}:\x01*\x12\xee\x01\n\x16ResetWorkflowExecution\x12>.temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.ResetWorkflowExecutionResponse\"S\x82\xd3\xe4\x93\x02M\"H/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset:\x01*\x12\xfe\x01\n\x1aTerminateWorkflowExecution\x12\x42.temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest\x1a\x43.temporal.api.workflowservice.v1.TerminateWorkflowExecutionResponse\"W\x82\xd3\xe4\x93\x02Q\"L/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate:\x01*\x12\x9e\x01\n\x17\x44\x65leteWorkflowExecution\x12?.temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.DeleteWorkflowExecutionResponse\"\x00\x12\xa7\x01\n\x1aListOpenWorkflowExecutions\x12\x42.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest\x1a\x43.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsResponse\"\x00\x12\xad\x01\n\x1cListClosedWorkflowExecutions\x12\x44.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest\x1a\x45.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsResponse\"\x00\x12\xc4\x01\n\x16ListWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ListWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ListWorkflowExecutionsResponse\")\x82\xd3\xe4\x93\x02#\x12!/namespaces/{namespace}/workflows\x12\xe5\x01\n\x1eListArchivedWorkflowExecutions\x12\x46.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsRequest\x1aG.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/namespaces/{namespace}/archived-workflows\x12\x9b\x01\n\x16ScanWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ScanWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ScanWorkflowExecutionsResponse\"\x00\x12\xcc\x01\n\x17\x43ountWorkflowExecutions\x12?.temporal.api.workflowservice.v1.CountWorkflowExecutionsRequest\x1a@.temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse\".\x82\xd3\xe4\x93\x02(\x12&/namespaces/{namespace}/workflow-count\x12\x92\x01\n\x13GetSearchAttributes\x12;.temporal.api.workflowservice.v1.GetSearchAttributesRequest\x1a<.temporal.api.workflowservice.v1.GetSearchAttributesResponse\"\x00\x12\xa4\x01\n\x19RespondQueryTaskCompleted\x12\x41.temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondQueryTaskCompletedResponse\"\x00\x12\x95\x01\n\x14ResetStickyTaskQueue\x12<.temporal.api.workflowservice.v1.ResetStickyTaskQueueRequest\x1a=.temporal.api.workflowservice.v1.ResetStickyTaskQueueResponse\"\x00\x12\xdd\x01\n\rQueryWorkflow\x12\x35.temporal.api.workflowservice.v1.QueryWorkflowRequest\x1a\x36.temporal.api.workflowservice.v1.QueryWorkflowResponse\"]\x82\xd3\xe4\x93\x02W\"R/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}:\x01*\x12\xe5\x01\n\x19\x44\x65scribeWorkflowExecution\x12\x41.temporal.api.workflowservice.v1.DescribeWorkflowExecutionRequest\x1a\x42.temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/namespaces/{namespace}/workflows/{execution.workflow_id}\x12\xc9\x01\n\x11\x44\x65scribeTaskQueue\x12\x39.temporal.api.workflowservice.v1.DescribeTaskQueueRequest\x1a:.temporal.api.workflowservice.v1.DescribeTaskQueueResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/namespaces/{namespace}/task-queues/{task_queue.name}\x12\x98\x01\n\x0eGetClusterInfo\x12\x36.temporal.api.workflowservice.v1.GetClusterInfoRequest\x1a\x37.temporal.api.workflowservice.v1.GetClusterInfoResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/cluster-info\x12\x94\x01\n\rGetSystemInfo\x12\x35.temporal.api.workflowservice.v1.GetSystemInfoRequest\x1a\x36.temporal.api.workflowservice.v1.GetSystemInfoResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/system-info\x12\x9e\x01\n\x17ListTaskQueuePartitions\x12?.temporal.api.workflowservice.v1.ListTaskQueuePartitionsRequest\x1a@.temporal.api.workflowservice.v1.ListTaskQueuePartitionsResponse\"\x00\x12\xbd\x01\n\x0e\x43reateSchedule\x12\x36.temporal.api.workflowservice.v1.CreateScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.CreateScheduleResponse\":\x82\xd3\xe4\x93\x02\x34\"//namespaces/{namespace}/schedules/{schedule_id}:\x01*\x12\xc0\x01\n\x10\x44\x65scribeSchedule\x12\x38.temporal.api.workflowservice.v1.DescribeScheduleRequest\x1a\x39.temporal.api.workflowservice.v1.DescribeScheduleResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//namespaces/{namespace}/schedules/{schedule_id}\x12\xc4\x01\n\x0eUpdateSchedule\x12\x36.temporal.api.workflowservice.v1.UpdateScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.UpdateScheduleResponse\"A\x82\xd3\xe4\x93\x02;\"6/namespaces/{namespace}/schedules/{schedule_id}/update:\x01*\x12\xc0\x01\n\rPatchSchedule\x12\x35.temporal.api.workflowservice.v1.PatchScheduleRequest\x1a\x36.temporal.api.workflowservice.v1.PatchScheduleResponse\"@\x82\xd3\xe4\x93\x02:\"5/namespaces/{namespace}/schedules/{schedule_id}/patch:\x01*\x12\xea\x01\n\x19ListScheduleMatchingTimes\x12\x41.temporal.api.workflowservice.v1.ListScheduleMatchingTimesRequest\x1a\x42.temporal.api.workflowservice.v1.ListScheduleMatchingTimesResponse\"F\x82\xd3\xe4\x93\x02@\x12>/namespaces/{namespace}/schedules/{schedule_id}/matching-times\x12\xba\x01\n\x0e\x44\x65leteSchedule\x12\x36.temporal.api.workflowservice.v1.DeleteScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.DeleteScheduleResponse\"7\x82\xd3\xe4\x93\x02\x31*//namespaces/{namespace}/schedules/{schedule_id}\x12\xa9\x01\n\rListSchedules\x12\x35.temporal.api.workflowservice.v1.ListSchedulesRequest\x1a\x36.temporal.api.workflowservice.v1.ListSchedulesResponse\")\x82\xd3\xe4\x93\x02#\x12!/namespaces/{namespace}/schedules\x12\xb9\x01\n UpdateWorkerBuildIdCompatibility\x12H.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest\x1aI.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityResponse\"\x00\x12\x86\x02\n\x1dGetWorkerBuildIdCompatibility\x12\x45.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest\x1a\x46.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse\"V\x82\xd3\xe4\x93\x02P\x12N/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility\x12\xaa\x01\n\x1bUpdateWorkerVersioningRules\x12\x43.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest\x1a\x44.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse\"\x00\x12\xf1\x01\n\x18GetWorkerVersioningRules\x12@.temporal.api.workflowservice.v1.GetWorkerVersioningRulesRequest\x1a\x41.temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse\"P\x82\xd3\xe4\x93\x02J\x12H/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rules\x12\xdc\x01\n\x19GetWorkerTaskReachability\x12\x41.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest\x1a\x42.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/namespaces/{namespace}/worker-task-reachability\x12\x87\x02\n\x17UpdateWorkflowExecution\x12?.temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse\"i\x82\xd3\xe4\x93\x02\x63\"^/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}:\x01*\x12\xaa\x01\n\x1bPollWorkflowExecutionUpdate\x12\x43.temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest\x1a\x44.temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse\"\x00\x12\xce\x01\n\x13StartBatchOperation\x12;.temporal.api.workflowservice.v1.StartBatchOperationRequest\x1a<.temporal.api.workflowservice.v1.StartBatchOperationResponse\"<\x82\xd3\xe4\x93\x02\x36\"1/namespaces/{namespace}/batch-operations/{job_id}:\x01*\x12\xd0\x01\n\x12StopBatchOperation\x12:.temporal.api.workflowservice.v1.StopBatchOperationRequest\x1a;.temporal.api.workflowservice.v1.StopBatchOperationResponse\"A\x82\xd3\xe4\x93\x02;\"6/namespaces/{namespace}/batch-operations/{job_id}/stop:\x01*\x12\xd4\x01\n\x16\x44\x65scribeBatchOperation\x12>.temporal.api.workflowservice.v1.DescribeBatchOperationRequest\x1a?.temporal.api.workflowservice.v1.DescribeBatchOperationResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/namespaces/{namespace}/batch-operations/{job_id}\x12\xc2\x01\n\x13ListBatchOperations\x12;.temporal.api.workflowservice.v1.ListBatchOperationsRequest\x1a<.temporal.api.workflowservice.v1.ListBatchOperationsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/namespaces/{namespace}/batch-operations\x12\x8f\x01\n\x12PollNexusTaskQueue\x12:.temporal.api.workflowservice.v1.PollNexusTaskQueueRequest\x1a;.temporal.api.workflowservice.v1.PollNexusTaskQueueResponse\"\x00\x12\xa4\x01\n\x19RespondNexusTaskCompleted\x12\x41.temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondNexusTaskCompletedResponse\"\x00\x12\x9b\x01\n\x16RespondNexusTaskFailed\x12>.temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest\x1a?.temporal.api.workflowservice.v1.RespondNexusTaskFailedResponse\"\x00\x42\xb6\x01\n\"io.temporal.api.workflowservice.v1B\x0cServiceProtoP\x01Z5go.temporal.io/api/workflowservice/v1;workflowservice\xaa\x02!Temporalio.Api.WorkflowService.V1\xea\x02$Temporalio::Api::WorkflowService::V1b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/temporalio/lib/temporalio/client.rb b/temporalio/lib/temporalio/client.rb index 55df03fa..6fedac07 100644 --- a/temporalio/lib/temporalio/client.rb +++ b/temporalio/lib/temporalio/client.rb @@ -1,11 +1,16 @@ # frozen_string_literal: true +require 'google/protobuf/well_known_types' require 'temporalio/api' require 'temporalio/client/connection' require 'temporalio/client/interceptor' require 'temporalio/client/workflow_handle' +require 'temporalio/common_enums' require 'temporalio/converters' +require 'temporalio/error' +require 'temporalio/internal/proto_utils' require 'temporalio/runtime' +require 'temporalio/search_attributes' module Temporalio # Client for accessing Temporal. @@ -16,7 +21,7 @@ module Temporalio # +Client.new(**my_options.to_h)+). # # Clients are thread-safe and are meant to be reused for the life of the application. They are built to work in both - # synchronous and asynchronous contexts. Internally they use callbacks based on {Queue} which means they are + # synchronous and asynchronous contexts. Internally they use callbacks based on {::Queue} which means they are # Fiber-compatible. class Client # Options as returned from {dup_options} for +**to_h+ splat use in {initialize}. See {initialize} for details. @@ -46,7 +51,7 @@ class Client # @param default_workflow_query_reject_condition [Api::Enums::V1::QueryRejectCondition, nil] Default rejection # condition for workflow queries if not set during query. See {WorkflowHandle.query} for details on the # rejection condition. - # @param rpc_metadata [Hash{String=>String}] Headers to use for all calls to the server. Keys here can be overriden + # @param rpc_metadata [Hash] Headers to use for all calls to the server. Keys here can be overriden # by per-call RPC metadata keys. # @param rpc_retry [Connection::RPCRetryOptions] Retry options for direct service calls (when opted in) or all # high-level calls made by this client (which all opt-in to retries by default). @@ -154,6 +159,11 @@ def workflow_service connection.workflow_service end + # @return [Connection::OperatorService] Raw gRPC operator service. + def operator_service + connection.operator_service + end + # @return [Options] Shallow duplication of options for potential use in {initialize}. Note, this is shallow, so # attributes like {Options.interceptors} are not duplicated, but no mutations will apply. def dup_options @@ -166,21 +176,66 @@ def dup_options # @param args [Array] Arguments to the workflow. # @param id [String] Unique identifier for the workflow execution. # @param task_queue [String] Task queue to run the workflow on. + # @param execution_timeout [Float, nil] Total workflow execution timeout in seconds including retries and continue + # as new. + # @param run_timeout [Float, nil] Timeout of a single workflow run in seconds. + # @param task_timeout [Float, nil] Timeout of a single workflow task in seconds. + # @param id_reuse_policy [WorkflowIDReusePolicy] How already-existing IDs are treated. + # @param id_conflict_policy [WorkflowIDConflictPolicy] How already-running workflows of the same ID are treated. + # Default is unspecified which effectively means fail the start attempt. This cannot be set if `id_reuse_policy` + # is set to terminate if running. + # @param retry_policy [RetryPolicy, nil] Retry policy for the workflow. + # @param cron_schedule [String, nil] Cron schedule. Users should use schedules instead of this. + # @param memo [Hash, nil] Memo for the workflow. + # @param search_attributes [SearchAttributes, nil] Search attributes for the workflow. + # @param start_delay [Float, nil] Amount of time in seconds to wait before starting the workflow. This does not work + # with `cron_schedule`. + # @param request_eager_start [Boolean] Potentially reduce the latency to start this workflow by encouraging the + # server to start it on a local worker running with this same client. This is currently experimental. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. # # @return [WorkflowHandle] A workflow handle to the started workflow. + # @raise [Error::WorkflowAlreadyStartedError] Workflow already exists. # @raise [Error::RPCError] RPC error from call. def start_workflow( workflow, *args, id:, - task_queue: - # TODO(cretz): More + task_queue:, + execution_timeout: nil, + run_timeout: nil, + task_timeout: nil, + id_reuse_policy: WorkflowIDReusePolicy::ALLOW_DUPLICATE, + id_conflict_policy: WorkflowIDConflictPolicy::UNSPECIFIED, + retry_policy: nil, + cron_schedule: nil, + memo: nil, + search_attributes: nil, + start_delay: nil, + request_eager_start: false, + rpc_metadata: nil, + rpc_timeout: nil ) @impl.start_workflow(Interceptor::StartWorkflowInput.new( workflow:, args:, id:, - task_queue: + task_queue:, + execution_timeout:, + run_timeout:, + task_timeout:, + id_reuse_policy:, + id_conflict_policy:, + retry_policy:, + cron_schedule:, + memo:, + search_attributes:, + start_delay:, + request_eager_start:, + headers: {}, + rpc_metadata:, + rpc_timeout: )) end @@ -190,18 +245,67 @@ def start_workflow( # @param args [Array] Arguments to the workflow. # @param id [String] Unique identifier for the workflow execution. # @param task_queue [String] Task queue to run the workflow on. + # @param execution_timeout [Float, nil] Total workflow execution timeout in seconds including retries and continue + # as new. + # @param run_timeout [Float, nil] Timeout of a single workflow run in seconds. + # @param task_timeout [Float, nil] Timeout of a single workflow task in seconds. + # @param id_reuse_policy [WorkflowIDReusePolicy] How already-existing IDs are treated. + # @param id_conflict_policy [WorkflowIDConflictPolicy] How already-running workflows of the same ID are treated. + # Default is unspecified which effectively means fail the start attempt. This cannot be set if `id_reuse_policy` + # is set to terminate if running. + # @param retry_policy [RetryPolicy, nil] Retry policy for the workflow. + # @param cron_schedule [String, nil] Cron schedule. Users should use schedules instead of this. + # @param memo [Hash, nil] Memo for the workflow. + # @param search_attributes [SearchAttributes, nil] Search attributes for the workflow. + # @param start_delay [Float, nil] Amount of time in seconds to wait before starting the workflow. This does not work + # with `cron_schedule`. + # @param request_eager_start [Boolean] Potentially reduce the latency to start this workflow by encouraging the + # server to start it on a local worker running with this same client. This is currently experimental. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. # # @return [Object] Successful result of the workflow. + # @raise [Error::WorkflowAlreadyStartedError] Workflow already exists. # @raise [Error::WorkflowFailureError] Workflow failed with {Error::WorkflowFailureError.cause} as cause. # @raise [Error::RPCError] RPC error from call. def execute_workflow( workflow, *args, id:, - task_queue: - # TODO(cretz): More + task_queue:, + execution_timeout: nil, + run_timeout: nil, + task_timeout: nil, + id_reuse_policy: WorkflowIDReusePolicy::ALLOW_DUPLICATE, + id_conflict_policy: WorkflowIDConflictPolicy::UNSPECIFIED, + retry_policy: nil, + cron_schedule: nil, + memo: nil, + search_attributes: nil, + start_delay: nil, + request_eager_start: false, + rpc_metadata: nil, + rpc_timeout: nil ) - start_workflow(workflow, *args, id:, task_queue:).result + start_workflow( + workflow, + *args, + id:, + task_queue:, + execution_timeout:, + run_timeout:, + task_timeout:, + id_reuse_policy:, + id_conflict_policy:, + retry_policy:, + cron_schedule:, + memo:, + search_attributes:, + start_delay:, + request_eager_start:, + rpc_metadata:, + rpc_timeout: + ).result end # Get a workflow handle to an existing workflow by its ID. @@ -235,18 +339,53 @@ def initialize(client) # @!visibility private def start_workflow(input) - # TODO(cretz): Signal with start + # TODO(cretz): Signal/update with start req = Api::WorkflowService::V1::StartWorkflowExecutionRequest.new( request_id: SecureRandom.uuid, namespace: @client.namespace, workflow_type: Api::Common::V1::WorkflowType.new(name: input.workflow.to_s), workflow_id: input.id, task_queue: Api::TaskQueue::V1::TaskQueue.new(name: input.task_queue.to_s), - input: @client.data_converter.to_payloads(input.args) - # TODO(cretz): More things + input: @client.data_converter.to_payloads(input.args), + workflow_execution_timeout: Internal::ProtoUtils.seconds_to_duration(input.execution_timeout), + workflow_run_timeout: Internal::ProtoUtils.seconds_to_duration(input.run_timeout), + workflow_task_timeout: Internal::ProtoUtils.seconds_to_duration(input.task_timeout), + identity: @client.connection.identity, + workflow_id_reuse_policy: input.id_reuse_policy, + workflow_id_conflict_policy: input.id_conflict_policy, + retry_policy: input.retry_policy&.to_proto, + cron_schedule: input.cron_schedule, + memo: Internal::ProtoUtils.memo_to_proto(input.memo, @client.data_converter), + search_attributes: input.search_attributes&.to_proto, + workflow_start_delay: Internal::ProtoUtils.seconds_to_duration(input.start_delay), + request_eager_execution: input.request_eager_start, + header: input.headers ) - # TODO(cretz): RPC params, error handling, etc - resp = @client.workflow_service.start_workflow_execution(req) + + # Send request + begin + resp = @client.workflow_service.start_workflow_execution( + req, + rpc_retry: true, + rpc_metadata: input.rpc_metadata, + rpc_timeout: input.rpc_timeout + ) + rescue Error::RPCError => e + # Unpack and raise already started if that's the error, otherwise default raise + if e.code == Error::RPCError::Code::ALREADY_EXISTS && e.grpc_status.details.first + details = e.grpc_status.details.first.unpack(Api::ErrorDetails::V1::WorkflowExecutionAlreadyStartedFailure) + if details + raise Error::WorkflowAlreadyStartedError.new( + workflow_id: req.workflow_id, + workflow_type: req.workflow_type.name, + run_id: details.run_id + ) + end + end + raise + end + + # Return handle WorkflowHandle.new( @client, input.id, @@ -268,10 +407,13 @@ def fetch_workflow_history_event_page(input) wait_new_event: input.wait_new_event, history_event_filter_type: input.event_filter_type, skip_archival: input.skip_archival - # TODO(cretz): More things ) - # TODO(cretz): RPC params - resp = @client.workflow_service.get_workflow_execution_history(req) + resp = @client.workflow_service.get_workflow_execution_history( + req, + rpc_retry: true, + rpc_metadata: input.rpc_metadata, + rpc_timeout: input.rpc_timeout + ) Interceptor::FetchWorkflowHistoryEventPage.new( events: resp.history&.events || [], next_page_token: resp.next_page_token.empty? ? nil : resp.next_page_token diff --git a/temporalio/lib/temporalio/client/connection.rb b/temporalio/lib/temporalio/client/connection.rb index f33be934..ec9be937 100644 --- a/temporalio/lib/temporalio/client/connection.rb +++ b/temporalio/lib/temporalio/client/connection.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true require 'socket' +require 'temporalio/client/connection/cloud_service' +require 'temporalio/client/connection/operator_service' require 'temporalio/client/connection/workflow_service' require 'temporalio/internal/bridge/client' require 'temporalio/runtime' @@ -49,33 +51,33 @@ class Connection # Retry options for server calls when retry is enabled (which it is by default on all high-level {Client} calls). # For most users, the default is preferred. # - # @!attribute initial_interval_ms - # @return [Integer] Initial backoff interval, default 100. + # @!attribute initial_interval + # @return [Float] Initial backoff interval, default 0.1. # @!attribute randomization_factor # @return [Float] Randomization jitter to add, default 0.2. # @!attribute multiplier # @return [Float] Backoff multiplier, default 1.5. - # @!attribute max_interval_ms - # @return [Integer] Maximum backoff interval, default 5000. - # @!attribute max_elapsed_time_ms - # @return [Integer] Maximum total time, default 10000. + # @!attribute max_interval + # @return [Float] Maximum backoff interval, default 5.0. + # @!attribute max_elapsed_time + # @return [Float] Maximum total time, default 10.0. Can use 0 for no max. # @!attribute max_retries # @return [Integer] Maximum number of retries, default 10. RPCRetryOptions = Struct.new( - :initial_interval_ms, + :initial_interval, :randomization_factor, :multiplier, - :max_interval_ms, - :max_elapsed_time_ms, # Can use 0 for none + :max_interval, + :max_elapsed_time, :max_retries, keyword_init: true ) do def initialize(*, **kwargs) - kwargs[:initial_interval_ms] = 100 unless kwargs.key?(:initial_interval_ms) + kwargs[:initial_interval] = 0.1 unless kwargs.key?(:initial_interval) kwargs[:randomization_factor] = 0.2 unless kwargs.key?(:randomization_factor) kwargs[:multiplier] = 1.5 unless kwargs.key?(:multiplier) - kwargs[:max_interval_ms] = 5000 unless kwargs.key?(:max_interval_ms) - kwargs[:max_elapsed_time_ms] = 10_000 unless kwargs.key?(:max_elapsed_time_ms) + kwargs[:max_interval] = 5.0 unless kwargs.key?(:max_interval) + kwargs[:max_elapsed_time] = 10.0 unless kwargs.key?(:max_elapsed_time) kwargs[:max_retries] = 10 unless kwargs.key?(:max_retries) super end @@ -83,19 +85,19 @@ def initialize(*, **kwargs) # Keep-alive options for client connections. For most users, the default is preferred. # - # @!attribute interval_ms - # @return [Integer] Interval to send HTTP2 keep alive pings, default 30000. - # @!attribute timeout_ms - # @return [Integer] Timeout that the keep alive must be responded to within or the connection will be closed, - # default 15000. + # @!attribute interval + # @return [Float] Interval to send HTTP2 keep alive pings, default 30.0. + # @!attribute timeout + # @return [Float] Timeout that the keep alive must be responded to within or the connection will be closed, + # default 15.0. KeepAliveOptions = Struct.new( - :interval_ms, - :timeout_ms, + :interval, + :timeout, keyword_init: true ) do def initialize(*, **kwargs) - kwargs[:interval_ms] = 30_000 unless kwargs.key?(:interval_ms) - kwargs[:timeout_ms] = 15_000 unless kwargs.key?(:timeout_ms) + kwargs[:interval] = 30.0 unless kwargs.key?(:interval) + kwargs[:timeout] = 15.0 unless kwargs.key?(:timeout) super end end @@ -115,9 +117,18 @@ def initialize(*, **kwargs) keyword_init: true ) + # @return [String] Client identity. + attr_reader :identity + # @return [WorkflowService] Raw gRPC workflow service. attr_reader :workflow_service + # @return [OperatorService] Raw gRPC operator service. + attr_reader :operator_service + + # @return [CloudService] Raw gRPC cloud service. + attr_reader :cloud_service + # Connect to Temporal server. Most users will use {Client.connect} instead of this directly. Parameters here match # {Options} returned from {dup_options} by intention so options can be altered and splatted to create a new # connection. @@ -128,7 +139,7 @@ def initialize(*, **kwargs) # prepended. This is only set if RPC metadata doesn't already have an +authorization+ key. # @param tls [Boolean, TLSOptions] If false, do not use TLS. If true, use system default TLS options. If TLS # options are present, those TLS options will be used. - # @param rpc_metadata [Hash{String=>String}] Headers to use for all calls to the server. Keys here can be + # @param rpc_metadata [Hash] Headers to use for all calls to the server. Keys here can be # overriden by per-call RPC metadata keys. # @param rpc_retry [RPCRetryOptions] Retry options for direct service calls (when opted in) or all high-level # calls made by this client (which all opt-in to retries by default). @@ -170,6 +181,8 @@ def initialize( _core_client unless lazy_connect # Create service instances @workflow_service = WorkflowService.new(self) + @operator_service = OperatorService.new(self) + @cloud_service = CloudService.new(self) end # @return [String] Target host this connection is connected to. @@ -183,6 +196,12 @@ def dup_options @options.dup end + # @return [Boolean] Whether this connection is connected. This is always `true` unless `lazy_connect` option was + # originally set, in which case this will be `false` until the first call is made. + def connected? + !@core_client.nil? + end + # @!visibility private def _core_client # If lazy, this needs to be done under mutex @@ -206,11 +225,11 @@ def new_core_client rpc_metadata: @options.rpc_metadata, api_key: @options.api_key, rpc_retry: Internal::Bridge::Client::RPCRetryOptions.new( - initial_interval_ms: @options.rpc_retry.initial_interval_ms, + initial_interval: @options.rpc_retry.initial_interval, randomization_factor: @options.rpc_retry.randomization_factor, multiplier: @options.rpc_retry.multiplier, - max_interval_ms: @options.rpc_retry.max_interval_ms, - max_elapsed_time_ms: @options.rpc_retry.max_elapsed_time_ms, + max_interval: @options.rpc_retry.max_interval, + max_elapsed_time: @options.rpc_retry.max_elapsed_time, max_retries: @options.rpc_retry.max_retries ), identity: @options.identity || "#{Process.pid}@#{Socket.gethostname}" @@ -229,8 +248,8 @@ def new_core_client end if @options.keep_alive options.keep_alive = Internal::Bridge::Client::KeepAliveOptions.new( - interval_ms: @options.keep_alive.interval_ms, - timeout_ms: @options.keep_alive.timeout_ms + interval: @options.keep_alive.interval, + timeout: @options.keep_alive.timeout ) end if @options.http_connect_proxy diff --git a/temporalio/lib/temporalio/client/connection/cloud_service.rb b/temporalio/lib/temporalio/client/connection/cloud_service.rb new file mode 100644 index 00000000..ece9ac68 --- /dev/null +++ b/temporalio/lib/temporalio/client/connection/cloud_service.rb @@ -0,0 +1,648 @@ +# frozen_string_literal: true + +# Generated code. DO NOT EDIT! + +require 'temporalio/api' +require 'temporalio/client/connection/service' +require 'temporalio/internal/bridge/client' + +module Temporalio + class Client + class Connection + # CloudService API. + class CloudService < Service + # @!visibility private + def initialize(connection) + super(connection, Internal::Bridge::Client::SERVICE_CLOUD) + end + + # Calls CloudService.GetUsers API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetUsersRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetUsersResponse] API response. + def get_users(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_users', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetUsersRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetUsersResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetUser API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetUserRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetUserResponse] API response. + def get_user(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_user', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetUserRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetUserResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.CreateUser API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::CreateUserRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::CreateUserResponse] API response. + def create_user(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'create_user', + request_class: Temporalio::Api::Cloud::CloudService::V1::CreateUserRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::CreateUserResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.UpdateUser API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::UpdateUserRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::UpdateUserResponse] API response. + def update_user(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_user', + request_class: Temporalio::Api::Cloud::CloudService::V1::UpdateUserRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::UpdateUserResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.DeleteUser API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::DeleteUserRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::DeleteUserResponse] API response. + def delete_user(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'delete_user', + request_class: Temporalio::Api::Cloud::CloudService::V1::DeleteUserRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::DeleteUserResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.SetUserNamespaceAccess API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::SetUserNamespaceAccessRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::SetUserNamespaceAccessResponse] API response. + def set_user_namespace_access(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'set_user_namespace_access', + request_class: Temporalio::Api::Cloud::CloudService::V1::SetUserNamespaceAccessRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::SetUserNamespaceAccessResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetAsyncOperation API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetAsyncOperationRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetAsyncOperationResponse] API response. + def get_async_operation(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_async_operation', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetAsyncOperationRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetAsyncOperationResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.CreateNamespace API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::CreateNamespaceRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::CreateNamespaceResponse] API response. + def create_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'create_namespace', + request_class: Temporalio::Api::Cloud::CloudService::V1::CreateNamespaceRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::CreateNamespaceResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetNamespaces API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetNamespacesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetNamespacesResponse] API response. + def get_namespaces(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_namespaces', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetNamespacesRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetNamespacesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetNamespace API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetNamespaceRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetNamespaceResponse] API response. + def get_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_namespace', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetNamespaceRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetNamespaceResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.UpdateNamespace API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::UpdateNamespaceRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::UpdateNamespaceResponse] API response. + def update_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_namespace', + request_class: Temporalio::Api::Cloud::CloudService::V1::UpdateNamespaceRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::UpdateNamespaceResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.RenameCustomSearchAttribute API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::RenameCustomSearchAttributeRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::RenameCustomSearchAttributeResponse] API response. + def rename_custom_search_attribute(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'rename_custom_search_attribute', + request_class: Temporalio::Api::Cloud::CloudService::V1::RenameCustomSearchAttributeRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::RenameCustomSearchAttributeResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.DeleteNamespace API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::DeleteNamespaceRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::DeleteNamespaceResponse] API response. + def delete_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'delete_namespace', + request_class: Temporalio::Api::Cloud::CloudService::V1::DeleteNamespaceRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::DeleteNamespaceResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.FailoverNamespaceRegion API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::FailoverNamespaceRegionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::FailoverNamespaceRegionResponse] API response. + def failover_namespace_region(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'failover_namespace_region', + request_class: Temporalio::Api::Cloud::CloudService::V1::FailoverNamespaceRegionRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::FailoverNamespaceRegionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.AddNamespaceRegion API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::AddNamespaceRegionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::AddNamespaceRegionResponse] API response. + def add_namespace_region(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'add_namespace_region', + request_class: Temporalio::Api::Cloud::CloudService::V1::AddNamespaceRegionRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::AddNamespaceRegionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetRegions API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetRegionsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetRegionsResponse] API response. + def get_regions(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_regions', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetRegionsRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetRegionsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetRegion API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetRegionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetRegionResponse] API response. + def get_region(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_region', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetRegionRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetRegionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetApiKeys API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetApiKeysRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetApiKeysResponse] API response. + def get_api_keys(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_api_keys', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetApiKeysRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetApiKeysResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetApiKey API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetApiKeyRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetApiKeyResponse] API response. + def get_api_key(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_api_key', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetApiKeyRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetApiKeyResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.CreateApiKey API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::CreateApiKeyRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::CreateApiKeyResponse] API response. + def create_api_key(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'create_api_key', + request_class: Temporalio::Api::Cloud::CloudService::V1::CreateApiKeyRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::CreateApiKeyResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.UpdateApiKey API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::UpdateApiKeyRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::UpdateApiKeyResponse] API response. + def update_api_key(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_api_key', + request_class: Temporalio::Api::Cloud::CloudService::V1::UpdateApiKeyRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::UpdateApiKeyResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.DeleteApiKey API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::DeleteApiKeyRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::DeleteApiKeyResponse] API response. + def delete_api_key(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'delete_api_key', + request_class: Temporalio::Api::Cloud::CloudService::V1::DeleteApiKeyRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::DeleteApiKeyResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetUserGroups API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetUserGroupsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetUserGroupsResponse] API response. + def get_user_groups(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_user_groups', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetUserGroupsRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetUserGroupsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetUserGroup API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetUserGroupRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetUserGroupResponse] API response. + def get_user_group(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_user_group', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetUserGroupRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetUserGroupResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.CreateUserGroup API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::CreateUserGroupRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::CreateUserGroupResponse] API response. + def create_user_group(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'create_user_group', + request_class: Temporalio::Api::Cloud::CloudService::V1::CreateUserGroupRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::CreateUserGroupResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.UpdateUserGroup API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::UpdateUserGroupRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::UpdateUserGroupResponse] API response. + def update_user_group(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_user_group', + request_class: Temporalio::Api::Cloud::CloudService::V1::UpdateUserGroupRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::UpdateUserGroupResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.DeleteUserGroup API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::DeleteUserGroupRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::DeleteUserGroupResponse] API response. + def delete_user_group(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'delete_user_group', + request_class: Temporalio::Api::Cloud::CloudService::V1::DeleteUserGroupRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::DeleteUserGroupResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.SetUserGroupNamespaceAccess API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::SetUserGroupNamespaceAccessRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::SetUserGroupNamespaceAccessResponse] API response. + def set_user_group_namespace_access(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'set_user_group_namespace_access', + request_class: Temporalio::Api::Cloud::CloudService::V1::SetUserGroupNamespaceAccessRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::SetUserGroupNamespaceAccessResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.CreateServiceAccount API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::CreateServiceAccountRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::CreateServiceAccountResponse] API response. + def create_service_account(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'create_service_account', + request_class: Temporalio::Api::Cloud::CloudService::V1::CreateServiceAccountRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::CreateServiceAccountResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetServiceAccount API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetServiceAccountRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetServiceAccountResponse] API response. + def get_service_account(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_service_account', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetServiceAccountRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetServiceAccountResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.GetServiceAccounts API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::GetServiceAccountsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::GetServiceAccountsResponse] API response. + def get_service_accounts(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_service_accounts', + request_class: Temporalio::Api::Cloud::CloudService::V1::GetServiceAccountsRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::GetServiceAccountsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.UpdateServiceAccount API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::UpdateServiceAccountRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::UpdateServiceAccountResponse] API response. + def update_service_account(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_service_account', + request_class: Temporalio::Api::Cloud::CloudService::V1::UpdateServiceAccountRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::UpdateServiceAccountResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls CloudService.DeleteServiceAccount API call. + # + # @param request [Temporalio::Api::Cloud::CloudService::V1::DeleteServiceAccountRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::Cloud::CloudService::V1::DeleteServiceAccountResponse] API response. + def delete_service_account(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'delete_service_account', + request_class: Temporalio::Api::Cloud::CloudService::V1::DeleteServiceAccountRequest, + response_class: Temporalio::Api::Cloud::CloudService::V1::DeleteServiceAccountResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + end + end + end +end diff --git a/temporalio/lib/temporalio/client/connection/operator_service.rb b/temporalio/lib/temporalio/client/connection/operator_service.rb new file mode 100644 index 00000000..00c39b00 --- /dev/null +++ b/temporalio/lib/temporalio/client/connection/operator_service.rb @@ -0,0 +1,249 @@ +# frozen_string_literal: true + +# Generated code. DO NOT EDIT! + +require 'temporalio/api' +require 'temporalio/client/connection/service' +require 'temporalio/internal/bridge/client' + +module Temporalio + class Client + class Connection + # OperatorService API. + class OperatorService < Service + # @!visibility private + def initialize(connection) + super(connection, Internal::Bridge::Client::SERVICE_OPERATOR) + end + + # Calls OperatorService.AddSearchAttributes API call. + # + # @param request [Temporalio::Api::OperatorService::V1::AddSearchAttributesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::AddSearchAttributesResponse] API response. + def add_search_attributes(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'add_search_attributes', + request_class: Temporalio::Api::OperatorService::V1::AddSearchAttributesRequest, + response_class: Temporalio::Api::OperatorService::V1::AddSearchAttributesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.RemoveSearchAttributes API call. + # + # @param request [Temporalio::Api::OperatorService::V1::RemoveSearchAttributesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::RemoveSearchAttributesResponse] API response. + def remove_search_attributes(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'remove_search_attributes', + request_class: Temporalio::Api::OperatorService::V1::RemoveSearchAttributesRequest, + response_class: Temporalio::Api::OperatorService::V1::RemoveSearchAttributesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.ListSearchAttributes API call. + # + # @param request [Temporalio::Api::OperatorService::V1::ListSearchAttributesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::ListSearchAttributesResponse] API response. + def list_search_attributes(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_search_attributes', + request_class: Temporalio::Api::OperatorService::V1::ListSearchAttributesRequest, + response_class: Temporalio::Api::OperatorService::V1::ListSearchAttributesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.DeleteNamespace API call. + # + # @param request [Temporalio::Api::OperatorService::V1::DeleteNamespaceRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::DeleteNamespaceResponse] API response. + def delete_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'delete_namespace', + request_class: Temporalio::Api::OperatorService::V1::DeleteNamespaceRequest, + response_class: Temporalio::Api::OperatorService::V1::DeleteNamespaceResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.AddOrUpdateRemoteCluster API call. + # + # @param request [Temporalio::Api::OperatorService::V1::AddOrUpdateRemoteClusterRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::AddOrUpdateRemoteClusterResponse] API response. + def add_or_update_remote_cluster(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'add_or_update_remote_cluster', + request_class: Temporalio::Api::OperatorService::V1::AddOrUpdateRemoteClusterRequest, + response_class: Temporalio::Api::OperatorService::V1::AddOrUpdateRemoteClusterResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.RemoveRemoteCluster API call. + # + # @param request [Temporalio::Api::OperatorService::V1::RemoveRemoteClusterRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::RemoveRemoteClusterResponse] API response. + def remove_remote_cluster(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'remove_remote_cluster', + request_class: Temporalio::Api::OperatorService::V1::RemoveRemoteClusterRequest, + response_class: Temporalio::Api::OperatorService::V1::RemoveRemoteClusterResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.ListClusters API call. + # + # @param request [Temporalio::Api::OperatorService::V1::ListClustersRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::ListClustersResponse] API response. + def list_clusters(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_clusters', + request_class: Temporalio::Api::OperatorService::V1::ListClustersRequest, + response_class: Temporalio::Api::OperatorService::V1::ListClustersResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.GetNexusEndpoint API call. + # + # @param request [Temporalio::Api::OperatorService::V1::GetNexusEndpointRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::GetNexusEndpointResponse] API response. + def get_nexus_endpoint(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_nexus_endpoint', + request_class: Temporalio::Api::OperatorService::V1::GetNexusEndpointRequest, + response_class: Temporalio::Api::OperatorService::V1::GetNexusEndpointResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.CreateNexusEndpoint API call. + # + # @param request [Temporalio::Api::OperatorService::V1::CreateNexusEndpointRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::CreateNexusEndpointResponse] API response. + def create_nexus_endpoint(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'create_nexus_endpoint', + request_class: Temporalio::Api::OperatorService::V1::CreateNexusEndpointRequest, + response_class: Temporalio::Api::OperatorService::V1::CreateNexusEndpointResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.UpdateNexusEndpoint API call. + # + # @param request [Temporalio::Api::OperatorService::V1::UpdateNexusEndpointRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::UpdateNexusEndpointResponse] API response. + def update_nexus_endpoint(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_nexus_endpoint', + request_class: Temporalio::Api::OperatorService::V1::UpdateNexusEndpointRequest, + response_class: Temporalio::Api::OperatorService::V1::UpdateNexusEndpointResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.DeleteNexusEndpoint API call. + # + # @param request [Temporalio::Api::OperatorService::V1::DeleteNexusEndpointRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::DeleteNexusEndpointResponse] API response. + def delete_nexus_endpoint(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'delete_nexus_endpoint', + request_class: Temporalio::Api::OperatorService::V1::DeleteNexusEndpointRequest, + response_class: Temporalio::Api::OperatorService::V1::DeleteNexusEndpointResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls OperatorService.ListNexusEndpoints API call. + # + # @param request [Temporalio::Api::OperatorService::V1::ListNexusEndpointsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::OperatorService::V1::ListNexusEndpointsResponse] API response. + def list_nexus_endpoints(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_nexus_endpoints', + request_class: Temporalio::Api::OperatorService::V1::ListNexusEndpointsRequest, + response_class: Temporalio::Api::OperatorService::V1::ListNexusEndpointsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + end + end + end +end diff --git a/temporalio/lib/temporalio/client/connection/service.rb b/temporalio/lib/temporalio/client/connection/service.rb index c44d38dc..006d8e2a 100644 --- a/temporalio/lib/temporalio/client/connection/service.rb +++ b/temporalio/lib/temporalio/client/connection/service.rb @@ -2,6 +2,7 @@ require 'google/protobuf' require 'temporalio/api' +require 'temporalio/error' module Temporalio class Client @@ -9,36 +10,30 @@ class Connection # Base class for raw gRPC services. class Service # @!visibility private - def self.rpc_methods(service, service_name) - # Do service lookup - desc = Google::Protobuf::DescriptorPool.generated_pool.lookup(service_name) - raise 'Failed finding service descriptor' unless desc - - # Create an RPC call for each method - desc.each do |method| - # Camel case to snake case - rpc = method.name.gsub(/([A-Z])/, '_\1').downcase.delete_prefix('_') - define_method(rpc.to_sym) do |request, rpc_retry: false, rpc_metadata: {}, rpc_timeout_ms: 0| - raise 'Invalid request type' unless request.is_a?(method.input_type.msgclass) - - @connection._core_client._invoke_rpc( - service:, - rpc:, - request:, - response_class: method.output_type.msgclass, - rpc_retry:, - rpc_metadata:, - rpc_timeout_ms: - ) - end - end + def initialize(connection, service) + @connection = connection + @service = service end - private_class_method :rpc_methods + protected - # @!visibility private - def initialize(connection) - @connection = connection + def invoke_rpc(rpc:, request_class:, response_class:, request:, rpc_retry:, rpc_metadata:, + rpc_timeout:) + raise 'Invalid request type' unless request.is_a?(request_class) + + begin + @connection._core_client._invoke_rpc( + service: @service, + rpc:, + request:, + response_class:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + rescue Internal::Bridge::Client::RpcFailure => e + raise Error::RPCError.new(e.message, code: e.code, raw_grpc_status: e.details) + end end end end diff --git a/temporalio/lib/temporalio/client/connection/workflow_service.rb b/temporalio/lib/temporalio/client/connection/workflow_service.rb index aa5c2579..33fcb40c 100644 --- a/temporalio/lib/temporalio/client/connection/workflow_service.rb +++ b/temporalio/lib/temporalio/client/connection/workflow_service.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +# Generated code. DO NOT EDIT! + require 'temporalio/api' require 'temporalio/client/connection/service' require 'temporalio/internal/bridge/client' @@ -7,13 +9,1209 @@ module Temporalio class Client class Connection - # Raw gRPC workflow service as defined at - # https://github.com/temporalio/api/blob/master/temporal/api/workflowservice/v1/service.proto. + # WorkflowService API. class WorkflowService < Service - rpc_methods( - Internal::Bridge::Client::SERVICE_WORKFLOW, - 'temporal.api.workflowservice.v1.WorkflowService' - ) + # @!visibility private + def initialize(connection) + super(connection, Internal::Bridge::Client::SERVICE_WORKFLOW) + end + + # Calls WorkflowService.RegisterNamespace API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RegisterNamespaceRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RegisterNamespaceResponse] API response. + def register_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'register_namespace', + request_class: Temporalio::Api::WorkflowService::V1::RegisterNamespaceRequest, + response_class: Temporalio::Api::WorkflowService::V1::RegisterNamespaceResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.DescribeNamespace API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::DescribeNamespaceRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::DescribeNamespaceResponse] API response. + def describe_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'describe_namespace', + request_class: Temporalio::Api::WorkflowService::V1::DescribeNamespaceRequest, + response_class: Temporalio::Api::WorkflowService::V1::DescribeNamespaceResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ListNamespaces API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ListNamespacesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ListNamespacesResponse] API response. + def list_namespaces(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_namespaces', + request_class: Temporalio::Api::WorkflowService::V1::ListNamespacesRequest, + response_class: Temporalio::Api::WorkflowService::V1::ListNamespacesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.UpdateNamespace API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::UpdateNamespaceRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::UpdateNamespaceResponse] API response. + def update_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_namespace', + request_class: Temporalio::Api::WorkflowService::V1::UpdateNamespaceRequest, + response_class: Temporalio::Api::WorkflowService::V1::UpdateNamespaceResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.DeprecateNamespace API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::DeprecateNamespaceRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::DeprecateNamespaceResponse] API response. + def deprecate_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'deprecate_namespace', + request_class: Temporalio::Api::WorkflowService::V1::DeprecateNamespaceRequest, + response_class: Temporalio::Api::WorkflowService::V1::DeprecateNamespaceResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.StartWorkflowExecution API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionResponse] API response. + def start_workflow_execution(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'start_workflow_execution', + request_class: Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionRequest, + response_class: Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ExecuteMultiOperation API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ExecuteMultiOperationRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ExecuteMultiOperationResponse] API response. + def execute_multi_operation(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'execute_multi_operation', + request_class: Temporalio::Api::WorkflowService::V1::ExecuteMultiOperationRequest, + response_class: Temporalio::Api::WorkflowService::V1::ExecuteMultiOperationResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.GetWorkflowExecutionHistory API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryResponse] API response. + def get_workflow_execution_history(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_workflow_execution_history', + request_class: Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryRequest, + response_class: Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.GetWorkflowExecutionHistoryReverse API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseResponse] API response. + def get_workflow_execution_history_reverse(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_workflow_execution_history_reverse', + request_class: Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseRequest, + response_class: Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.PollWorkflowTaskQueue API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse] API response. + def poll_workflow_task_queue(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'poll_workflow_task_queue', + request_class: Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueRequest, + response_class: Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondWorkflowTaskCompleted API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedResponse] API response. + def respond_workflow_task_completed(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_workflow_task_completed', + request_class: Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondWorkflowTaskFailed API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedResponse] API response. + def respond_workflow_task_failed(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_workflow_task_failed', + request_class: Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.PollActivityTaskQueue API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueResponse] API response. + def poll_activity_task_queue(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'poll_activity_task_queue', + request_class: Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueRequest, + response_class: Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RecordActivityTaskHeartbeat API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatResponse] API response. + def record_activity_task_heartbeat(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'record_activity_task_heartbeat', + request_class: Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatRequest, + response_class: Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RecordActivityTaskHeartbeatById API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdResponse] API response. + def record_activity_task_heartbeat_by_id(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'record_activity_task_heartbeat_by_id', + request_class: Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdRequest, + response_class: Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondActivityTaskCompleted API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedResponse] API response. + def respond_activity_task_completed(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_activity_task_completed', + request_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondActivityTaskCompletedById API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdResponse] API response. + def respond_activity_task_completed_by_id(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_activity_task_completed_by_id', + request_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondActivityTaskFailed API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedResponse] API response. + def respond_activity_task_failed(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_activity_task_failed', + request_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondActivityTaskFailedById API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdResponse] API response. + def respond_activity_task_failed_by_id(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_activity_task_failed_by_id', + request_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondActivityTaskCanceled API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledResponse] API response. + def respond_activity_task_canceled(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_activity_task_canceled', + request_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondActivityTaskCanceledById API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdResponse] API response. + def respond_activity_task_canceled_by_id(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_activity_task_canceled_by_id', + request_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RequestCancelWorkflowExecution API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionResponse] API response. + def request_cancel_workflow_execution(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'request_cancel_workflow_execution', + request_class: Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionRequest, + response_class: Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.SignalWorkflowExecution API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionResponse] API response. + def signal_workflow_execution(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'signal_workflow_execution', + request_class: Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionRequest, + response_class: Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.SignalWithStartWorkflowExecution API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionResponse] API response. + def signal_with_start_workflow_execution(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'signal_with_start_workflow_execution', + request_class: Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionRequest, + response_class: Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ResetWorkflowExecution API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionResponse] API response. + def reset_workflow_execution(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'reset_workflow_execution', + request_class: Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionRequest, + response_class: Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.TerminateWorkflowExecution API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionResponse] API response. + def terminate_workflow_execution(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'terminate_workflow_execution', + request_class: Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionRequest, + response_class: Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.DeleteWorkflowExecution API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionResponse] API response. + def delete_workflow_execution(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'delete_workflow_execution', + request_class: Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionRequest, + response_class: Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ListOpenWorkflowExecutions API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsResponse] API response. + def list_open_workflow_executions(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_open_workflow_executions', + request_class: Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsRequest, + response_class: Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ListClosedWorkflowExecutions API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsResponse] API response. + def list_closed_workflow_executions(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_closed_workflow_executions', + request_class: Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsRequest, + response_class: Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ListWorkflowExecutions API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsResponse] API response. + def list_workflow_executions(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_workflow_executions', + request_class: Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsRequest, + response_class: Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ListArchivedWorkflowExecutions API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsResponse] API response. + def list_archived_workflow_executions(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_archived_workflow_executions', + request_class: Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsRequest, + response_class: Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ScanWorkflowExecutions API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsResponse] API response. + def scan_workflow_executions(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'scan_workflow_executions', + request_class: Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsRequest, + response_class: Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.CountWorkflowExecutions API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsResponse] API response. + def count_workflow_executions(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'count_workflow_executions', + request_class: Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsRequest, + response_class: Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.GetSearchAttributes API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::GetSearchAttributesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::GetSearchAttributesResponse] API response. + def get_search_attributes(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_search_attributes', + request_class: Temporalio::Api::WorkflowService::V1::GetSearchAttributesRequest, + response_class: Temporalio::Api::WorkflowService::V1::GetSearchAttributesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondQueryTaskCompleted API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedResponse] API response. + def respond_query_task_completed(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_query_task_completed', + request_class: Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ResetStickyTaskQueue API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueResponse] API response. + def reset_sticky_task_queue(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'reset_sticky_task_queue', + request_class: Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueRequest, + response_class: Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.QueryWorkflow API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::QueryWorkflowRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::QueryWorkflowResponse] API response. + def query_workflow(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'query_workflow', + request_class: Temporalio::Api::WorkflowService::V1::QueryWorkflowRequest, + response_class: Temporalio::Api::WorkflowService::V1::QueryWorkflowResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.DescribeWorkflowExecution API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionResponse] API response. + def describe_workflow_execution(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'describe_workflow_execution', + request_class: Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionRequest, + response_class: Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.DescribeTaskQueue API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::DescribeTaskQueueRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::DescribeTaskQueueResponse] API response. + def describe_task_queue(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'describe_task_queue', + request_class: Temporalio::Api::WorkflowService::V1::DescribeTaskQueueRequest, + response_class: Temporalio::Api::WorkflowService::V1::DescribeTaskQueueResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.GetClusterInfo API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::GetClusterInfoRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::GetClusterInfoResponse] API response. + def get_cluster_info(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_cluster_info', + request_class: Temporalio::Api::WorkflowService::V1::GetClusterInfoRequest, + response_class: Temporalio::Api::WorkflowService::V1::GetClusterInfoResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.GetSystemInfo API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::GetSystemInfoRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::GetSystemInfoResponse] API response. + def get_system_info(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_system_info', + request_class: Temporalio::Api::WorkflowService::V1::GetSystemInfoRequest, + response_class: Temporalio::Api::WorkflowService::V1::GetSystemInfoResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ListTaskQueuePartitions API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsResponse] API response. + def list_task_queue_partitions(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_task_queue_partitions', + request_class: Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsRequest, + response_class: Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.CreateSchedule API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::CreateScheduleRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::CreateScheduleResponse] API response. + def create_schedule(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'create_schedule', + request_class: Temporalio::Api::WorkflowService::V1::CreateScheduleRequest, + response_class: Temporalio::Api::WorkflowService::V1::CreateScheduleResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.DescribeSchedule API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::DescribeScheduleRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::DescribeScheduleResponse] API response. + def describe_schedule(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'describe_schedule', + request_class: Temporalio::Api::WorkflowService::V1::DescribeScheduleRequest, + response_class: Temporalio::Api::WorkflowService::V1::DescribeScheduleResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.UpdateSchedule API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::UpdateScheduleRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::UpdateScheduleResponse] API response. + def update_schedule(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_schedule', + request_class: Temporalio::Api::WorkflowService::V1::UpdateScheduleRequest, + response_class: Temporalio::Api::WorkflowService::V1::UpdateScheduleResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.PatchSchedule API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::PatchScheduleRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::PatchScheduleResponse] API response. + def patch_schedule(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'patch_schedule', + request_class: Temporalio::Api::WorkflowService::V1::PatchScheduleRequest, + response_class: Temporalio::Api::WorkflowService::V1::PatchScheduleResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ListScheduleMatchingTimes API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ListScheduleMatchingTimesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ListScheduleMatchingTimesResponse] API response. + def list_schedule_matching_times(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_schedule_matching_times', + request_class: Temporalio::Api::WorkflowService::V1::ListScheduleMatchingTimesRequest, + response_class: Temporalio::Api::WorkflowService::V1::ListScheduleMatchingTimesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.DeleteSchedule API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::DeleteScheduleRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::DeleteScheduleResponse] API response. + def delete_schedule(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'delete_schedule', + request_class: Temporalio::Api::WorkflowService::V1::DeleteScheduleRequest, + response_class: Temporalio::Api::WorkflowService::V1::DeleteScheduleResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ListSchedules API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ListSchedulesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ListSchedulesResponse] API response. + def list_schedules(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_schedules', + request_class: Temporalio::Api::WorkflowService::V1::ListSchedulesRequest, + response_class: Temporalio::Api::WorkflowService::V1::ListSchedulesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.UpdateWorkerBuildIdCompatibility API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::UpdateWorkerBuildIdCompatibilityRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::UpdateWorkerBuildIdCompatibilityResponse] API response. + def update_worker_build_id_compatibility(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_worker_build_id_compatibility', + request_class: Temporalio::Api::WorkflowService::V1::UpdateWorkerBuildIdCompatibilityRequest, + response_class: Temporalio::Api::WorkflowService::V1::UpdateWorkerBuildIdCompatibilityResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.GetWorkerBuildIdCompatibility API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::GetWorkerBuildIdCompatibilityRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::GetWorkerBuildIdCompatibilityResponse] API response. + def get_worker_build_id_compatibility(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_worker_build_id_compatibility', + request_class: Temporalio::Api::WorkflowService::V1::GetWorkerBuildIdCompatibilityRequest, + response_class: Temporalio::Api::WorkflowService::V1::GetWorkerBuildIdCompatibilityResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.UpdateWorkerVersioningRules API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::UpdateWorkerVersioningRulesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::UpdateWorkerVersioningRulesResponse] API response. + def update_worker_versioning_rules(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_worker_versioning_rules', + request_class: Temporalio::Api::WorkflowService::V1::UpdateWorkerVersioningRulesRequest, + response_class: Temporalio::Api::WorkflowService::V1::UpdateWorkerVersioningRulesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.GetWorkerVersioningRules API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::GetWorkerVersioningRulesRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::GetWorkerVersioningRulesResponse] API response. + def get_worker_versioning_rules(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_worker_versioning_rules', + request_class: Temporalio::Api::WorkflowService::V1::GetWorkerVersioningRulesRequest, + response_class: Temporalio::Api::WorkflowService::V1::GetWorkerVersioningRulesResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.GetWorkerTaskReachability API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::GetWorkerTaskReachabilityRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::GetWorkerTaskReachabilityResponse] API response. + def get_worker_task_reachability(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'get_worker_task_reachability', + request_class: Temporalio::Api::WorkflowService::V1::GetWorkerTaskReachabilityRequest, + response_class: Temporalio::Api::WorkflowService::V1::GetWorkerTaskReachabilityResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.UpdateWorkflowExecution API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::UpdateWorkflowExecutionRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::UpdateWorkflowExecutionResponse] API response. + def update_workflow_execution(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'update_workflow_execution', + request_class: Temporalio::Api::WorkflowService::V1::UpdateWorkflowExecutionRequest, + response_class: Temporalio::Api::WorkflowService::V1::UpdateWorkflowExecutionResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.PollWorkflowExecutionUpdate API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionUpdateRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionUpdateResponse] API response. + def poll_workflow_execution_update(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'poll_workflow_execution_update', + request_class: Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionUpdateRequest, + response_class: Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionUpdateResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.StartBatchOperation API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::StartBatchOperationResponse] API response. + def start_batch_operation(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'start_batch_operation', + request_class: Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest, + response_class: Temporalio::Api::WorkflowService::V1::StartBatchOperationResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.StopBatchOperation API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::StopBatchOperationRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::StopBatchOperationResponse] API response. + def stop_batch_operation(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'stop_batch_operation', + request_class: Temporalio::Api::WorkflowService::V1::StopBatchOperationRequest, + response_class: Temporalio::Api::WorkflowService::V1::StopBatchOperationResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.DescribeBatchOperation API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::DescribeBatchOperationRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::DescribeBatchOperationResponse] API response. + def describe_batch_operation(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'describe_batch_operation', + request_class: Temporalio::Api::WorkflowService::V1::DescribeBatchOperationRequest, + response_class: Temporalio::Api::WorkflowService::V1::DescribeBatchOperationResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.ListBatchOperations API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::ListBatchOperationsRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::ListBatchOperationsResponse] API response. + def list_batch_operations(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'list_batch_operations', + request_class: Temporalio::Api::WorkflowService::V1::ListBatchOperationsRequest, + response_class: Temporalio::Api::WorkflowService::V1::ListBatchOperationsResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.PollNexusTaskQueue API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::PollNexusTaskQueueRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::PollNexusTaskQueueResponse] API response. + def poll_nexus_task_queue(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'poll_nexus_task_queue', + request_class: Temporalio::Api::WorkflowService::V1::PollNexusTaskQueueRequest, + response_class: Temporalio::Api::WorkflowService::V1::PollNexusTaskQueueResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondNexusTaskCompleted API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondNexusTaskCompletedRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondNexusTaskCompletedResponse] API response. + def respond_nexus_task_completed(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_nexus_task_completed', + request_class: Temporalio::Api::WorkflowService::V1::RespondNexusTaskCompletedRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondNexusTaskCompletedResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end + + # Calls WorkflowService.RespondNexusTaskFailed API call. + # + # @param request [Temporalio::Api::WorkflowService::V1::RespondNexusTaskFailedRequest] API request. + # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. + # @return [Temporalio::Api::WorkflowService::V1::RespondNexusTaskFailedResponse] API response. + def respond_nexus_task_failed(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil) + invoke_rpc( + rpc: 'respond_nexus_task_failed', + request_class: Temporalio::Api::WorkflowService::V1::RespondNexusTaskFailedRequest, + response_class: Temporalio::Api::WorkflowService::V1::RespondNexusTaskFailedResponse, + request:, + rpc_retry:, + rpc_metadata:, + rpc_timeout: + ) + end end end end diff --git a/temporalio/lib/temporalio/client/interceptor.rb b/temporalio/lib/temporalio/client/interceptor.rb index 28d30192..30cdb816 100644 --- a/temporalio/lib/temporalio/client/interceptor.rb +++ b/temporalio/lib/temporalio/client/interceptor.rb @@ -4,6 +4,9 @@ module Temporalio class Client # Mixin for intercepting clients. Classes that +include+ this should implement their own {intercept_client} that # returns their own instance of {Outbound}. + # + # @note Input classes herein may get new requeired fields added and therefore the constructors of the Input + # classes may change in backwards incompatible ways. Users should not try to construct Input classes themselves. module Interceptor # Method called when intercepting a client. This is called upon client creation. # @@ -20,7 +23,20 @@ def intercept_client(next_interceptor) :args, :id, :task_queue, - # TODO(cretz): more + :execution_timeout, + :run_timeout, + :task_timeout, + :id_reuse_policy, + :id_conflict_policy, + :retry_policy, + :cron_schedule, + :memo, + :search_attributes, + :start_delay, + :request_eager_start, + :headers, + :rpc_metadata, + :rpc_timeout, keyword_init: true ) @@ -33,7 +49,8 @@ def intercept_client(next_interceptor) :wait_new_event, :event_filter_type, :skip_archival, - # TODO(cretz): more + :rpc_metadata, + :rpc_timeout, keyword_init: true ) diff --git a/temporalio/lib/temporalio/client/workflow_handle.rb b/temporalio/lib/temporalio/client/workflow_handle.rb index cb65fa8b..5acd7ba2 100644 --- a/temporalio/lib/temporalio/client/workflow_handle.rb +++ b/temporalio/lib/temporalio/client/workflow_handle.rb @@ -60,13 +60,19 @@ def initialize(client, id, run_id: nil, result_run_id: nil, first_execution_run_ # # @param follow_runs [Boolean] If +true+, workflow runs will be continually fetched across retries and continue as # new until the latest one is found. If +false+, the first result is used. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. # # @return [Object] Result of the workflow after being converted by the data converter. # - # @raise [Error::WorkflowFailureError] Workflow failed with {Error::WorkflowFailureError.cause} as cause. + # @raise [Error::WorkflowFailureError] Workflow failed with {Error::WorkflowFailureError#cause} as cause. # @raise [Error::WorkflowContinuedAsNewError] Workflow continued as new and +follow_runs+ is +false+. # @raise [Error::RPCError] RPC error from call. - def result(follow_runs: true) + def result( + follow_runs: true, + rpc_metadata: nil, + rpc_timeout: nil + ) # Wait on the close event, following as needed hist_run_id = result_run_id loop do @@ -76,7 +82,9 @@ def result(follow_runs: true) page_size: nil, wait_new_event: true, event_filter_type: Api::Enums::V1::HistoryEventFilterType::HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT, - skip_archival: true + skip_archival: true, + rpc_metadata:, + rpc_timeout: ).next # Check each close type' @@ -143,20 +151,26 @@ def result(follow_runs: true) # history. # @param event_filter_type [Api::Enums::V1::HistoryEventFilterType] Types of events to fetch. # @param skip_archival [Boolean] Whether to skip archival. + # @param rpc_metadata [Hash, nil] Headers to include on the RPC call. + # @param rpc_timeout [Float, nil] Number of seconds before timeout. # # @return [Enumerable] Enumerable events. def fetch_history_events( page_size: nil, wait_new_event: false, event_filter_type: Api::Enums::V1::HistoryEventFilterType::HISTORY_EVENT_FILTER_TYPE_ALL_EVENT, - skip_archival: false + skip_archival: false, + rpc_metadata: nil, + rpc_timeout: nil ) fetch_history_events_for_run( run_id, page_size:, wait_new_event:, event_filter_type:, - skip_archival: + skip_archival:, + rpc_metadata:, + rpc_timeout: ) end @@ -167,8 +181,9 @@ def fetch_history_events_for_run( page_size:, wait_new_event:, event_filter_type:, - skip_archival: - # TODO(cretz): RPC stuff + skip_archival:, + rpc_metadata: nil, + rpc_timeout: nil ) Enumerator.new do |yielder| input = Interceptor::FetchWorkflowHistoryEventPageInput.new( @@ -178,7 +193,9 @@ def fetch_history_events_for_run( next_page_token: nil, wait_new_event:, event_filter_type:, - skip_archival: + skip_archival:, + rpc_metadata:, + rpc_timeout: ) loop do page = @client._impl.fetch_workflow_history_event_page(input) diff --git a/temporalio/lib/temporalio/common_enums.rb b/temporalio/lib/temporalio/common_enums.rb new file mode 100644 index 00000000..eff9512d --- /dev/null +++ b/temporalio/lib/temporalio/common_enums.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +require 'temporalio/api' + +module Temporalio + # How already-in-use workflow IDs are handled on start. + # + # @see https://docs.temporal.io/workflows#workflow-id-reuse-policy + module WorkflowIDReusePolicy + ALLOW_DUPLICATE = Api::Enums::V1::WorkflowIdReusePolicy::WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE + ALLOW_DUPLICATE_FAILED_ONLY = + Api::Enums::V1::WorkflowIdReusePolicy::WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY + REJECT_DUPLICATE = Api::Enums::V1::WorkflowIdReusePolicy::WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE + TERMINATE_IF_RUNNING = Api::Enums::V1::WorkflowIdReusePolicy::WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING + end + + # How already-running workflows of the same ID are handled on start. + module WorkflowIDConflictPolicy + UNSPECIFIED = Api::Enums::V1::WorkflowIdConflictPolicy::WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED + FAIL = Api::Enums::V1::WorkflowIdConflictPolicy::WORKFLOW_ID_CONFLICT_POLICY_FAIL + USE_EXISTING = Api::Enums::V1::WorkflowIdConflictPolicy::WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING + TERMINATE_EXISTING = Api::Enums::V1::WorkflowIdConflictPolicy::WORKFLOW_ID_CONFLICT_POLICY_TERMINATE_EXISTING + end +end diff --git a/temporalio/lib/temporalio/converters/data_converter.rb b/temporalio/lib/temporalio/converters/data_converter.rb index df2e005c..6bec7c4b 100644 --- a/temporalio/lib/temporalio/converters/data_converter.rb +++ b/temporalio/lib/temporalio/converters/data_converter.rb @@ -52,7 +52,7 @@ def to_payload(value) # Convert multiple Ruby values to a payload set and encode it. # - # @param value [Object] Ruby values, converted to array via {Kernel.Array}. + # @param values [Object] Ruby values, converted to array via {::Array}. # @return [Api::Common::V1::Payloads] Converted and encoded payload set. def to_payloads(values) payloads = Array(values).map { |value| payload_converter.to_payload(value) } diff --git a/temporalio/lib/temporalio/converters/failure_converter.rb b/temporalio/lib/temporalio/converters/failure_converter.rb index 853bc6b1..5e337b69 100644 --- a/temporalio/lib/temporalio/converters/failure_converter.rb +++ b/temporalio/lib/temporalio/converters/failure_converter.rb @@ -19,8 +19,8 @@ def initialize(encode_common_attributes: false) # Convert a Ruby error to a Temporal failure. # - # @param error [Exception] Ruby error. - # @param payload_converter [PayloadConverter] Payload converter. + # @param _error [Exception] Ruby error. + # @param _payload_converter [PayloadConverter] Payload converter. # @return [Api::Failure::V1::Failure] Converted failure. def to_failure(_error, _payload_converter) raise 'TODO' @@ -28,8 +28,8 @@ def to_failure(_error, _payload_converter) # Convert a Temporal failure to a Ruby error. # - # @param failure [Api::Failure::V1::Failure] Failure. - # @param payload_converter [PayloadConverter] Payload converter. + # @param _failure [Api::Failure::V1::Failure] Failure. + # @param _payload_converter [PayloadConverter] Payload converter. # @return [Exception] Converted Ruby error. def from_failure(_failure, _payload_converter) raise 'TODO' diff --git a/temporalio/lib/temporalio/converters/payload_converter.rb b/temporalio/lib/temporalio/converters/payload_converter.rb index dfb00f3d..bc78b565 100644 --- a/temporalio/lib/temporalio/converters/payload_converter.rb +++ b/temporalio/lib/temporalio/converters/payload_converter.rb @@ -18,8 +18,8 @@ def self.default # Create a new payload converter with the default set of encoding converters. # - # @param json_parse_options [Hash] Options for {JSON.parse}. - # @param json_generate_options [Hash] Options for {JSON.generate}. + # @param json_parse_options [Hash] Options for {::JSON.parse}. + # @param json_generate_options [Hash] Options for {::JSON.generate}. def self.new_with_defaults(json_parse_options: { create_additions: true }, json_generate_options: {}) Ractor.make_shareable( PayloadConverter::Composite.new( diff --git a/temporalio/lib/temporalio/converters/payload_converter/composite.rb b/temporalio/lib/temporalio/converters/payload_converter/composite.rb index a9b23379..a408817d 100644 --- a/temporalio/lib/temporalio/converters/payload_converter/composite.rb +++ b/temporalio/lib/temporalio/converters/payload_converter/composite.rb @@ -6,9 +6,9 @@ module Temporalio module Converters class PayloadConverter - # Payload converter that is a collection of {EncodingConverter}s. When converting to a payload, it tries each - # encoding converter in order until one works. The encoding converter is expected to set the +encoding+ metadata - # which is then used to match to the proper encoding converter when converting back to a Ruby value. + # Payload converter that is a collection of {Encoding}s. When converting to a payload, it tries each encoding + # converter in order until one works. The encoding converter is expected to set the +encoding+ metadata which is + # then used to match to the proper encoding converter when converting back to a Ruby value. class Composite < PayloadConverter class ConverterNotFound < Error; end class EncodingNotSet < Error; end diff --git a/temporalio/lib/temporalio/converters/payload_converter/json_plain.rb b/temporalio/lib/temporalio/converters/payload_converter/json_plain.rb index 5645c614..22831b62 100644 --- a/temporalio/lib/temporalio/converters/payload_converter/json_plain.rb +++ b/temporalio/lib/temporalio/converters/payload_converter/json_plain.rb @@ -12,8 +12,8 @@ class JSONPlain < Encoding # Create JSONPlain converter. # - # @param parse_options [Hash] Options for {JSON.parse}. - # @param generate_options [Hash] Options for {JSON.generate}. + # @param parse_options [Hash] Options for {::JSON.parse}. + # @param generate_options [Hash] Options for {::JSON.generate}. def initialize(parse_options: { create_additions: true }, generate_options: {}) super() @parse_options = parse_options diff --git a/temporalio/lib/temporalio/error.rb b/temporalio/lib/temporalio/error.rb index c50e0b76..02307969 100644 --- a/temporalio/lib/temporalio/error.rb +++ b/temporalio/lib/temporalio/error.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'temporalio/api' + module Temporalio # Superclass for all Temporal errors class Error < StandardError @@ -10,7 +12,7 @@ class WorkflowFailureError < Error # @param cause [Exception] Cause of the failure. def initialize(cause:) - super + super('Workflow failed') @cause = cause end @@ -21,15 +23,77 @@ class WorkflowContinuedAsNewError < Error # @return [String] New execution run ID the workflow continued to. attr_reader :new_run_id - # @param [String] New execution run ID the workflow continued to. + # @param new_run_id [String] New execution run ID the workflow continued to. def initialize(new_run_id:) super('Workflow execution continued as new') @new_run_id = new_run_id end end + # Error raised by a client or workflow when a workflow execution has already started. + class WorkflowAlreadyStartedError < Error + # @return [String] ID of the already-started workflow. + attr_reader :workflow_id + + # @return [String] Workflow type name of the already-started workflow. + attr_reader :workflow_type + + # @return [String] Run ID of the already-started workflow if this was raised by the client. + attr_reader :run_id + + def initialize(workflow_id:, workflow_type:, run_id:) + super('Workflow execution already started') + @workflow_id = workflow_id + @workflow_type = workflow_type + @run_id = run_id + end + end + + # Error raised by a client for a general RPC failure. class RPCError < Error - # TODO + # @return [Code] Status code for the error. + attr_reader :code + + # @!visibility private + def initialize(message, code:, raw_grpc_status:) + super(message) + @code = code + @raw_grpc_status = raw_grpc_status + end + + # @return [Api::Common::V1::GrpcStatus] Status of the gRPC call with details. + def grpc_status + @grpc_status ||= create_grpc_status + end + + private + + def create_grpc_status + return Api::Common::V1::GrpcStatus.new(code: @code) unless @raw_grpc_status + + Api::Common::V1::GrpcStatus.decode(@raw_grpc_status) + end + + # Status code for RPC errors. These are gRPC status codes. + module Code + OK = 0 + CANCELLED = 1 + UNKNOWN = 2 + INVALID_ARGUMENT = 3 + DEADLINE_EXCEEDED = 4 + NOT_FOUND = 5 + ALREADY_EXISTS = 6 + PERMISSION_DENIED = 7 + RESOURCE_EXHAUSTED = 8 + FAILED_PRECONDITION = 9 + ABORTED = 10 + OUT_OF_RANGE = 11 + UNIMPLEMENTED = 12 + INTERNAL = 13 + UNAVAILABLE = 14 + DATA_LOSS = 15 + UNAUTHENTICATED = 16 + end end end end diff --git a/temporalio/lib/temporalio/internal/bridge/client.rb b/temporalio/lib/temporalio/internal/bridge/client.rb index 139d048f..1b979ef7 100644 --- a/temporalio/lib/temporalio/internal/bridge/client.rb +++ b/temporalio/lib/temporalio/internal/bridge/client.rb @@ -33,19 +33,19 @@ class Client # @!visibility private RPCRetryOptions = Struct.new( - :initial_interval_ms, + :initial_interval, :randomization_factor, :multiplier, - :max_interval_ms, - :max_elapsed_time_ms, # Can use 0 for none + :max_interval, + :max_elapsed_time, # Can use 0 for none :max_retries, keyword_init: true ) # @!visibility private KeepAliveOptions = Struct.new( - :interval_ms, - :timeout_ms, + :interval, + :timeout, keyword_init: true ) @@ -74,7 +74,7 @@ def _invoke_rpc( response_class:, rpc_retry:, rpc_metadata:, - rpc_timeout_ms: + rpc_timeout: ) response_bytes = Bridge.async_call do |queue| async_invoke_rpc( @@ -83,7 +83,7 @@ def _invoke_rpc( request: request.to_proto, rpc_retry:, rpc_metadata:, - rpc_timeout_ms: + rpc_timeout: ) do |val| queue.push(val) end diff --git a/temporalio/lib/temporalio/internal/bridge/runtime.rb b/temporalio/lib/temporalio/internal/bridge/runtime.rb index 697c15fa..df73b063 100644 --- a/temporalio/lib/temporalio/internal/bridge/runtime.rb +++ b/temporalio/lib/temporalio/internal/bridge/runtime.rb @@ -40,7 +40,7 @@ class Runtime OpenTelemetryMetricsOptions = Struct.new( :url, :headers, # Optional - :metric_periodicity_ms, # Optional + :metric_periodicity, # Optional :metric_temporality_delta, :durations_as_seconds, keyword_init: true diff --git a/temporalio/lib/temporalio/internal/proto_utils.rb b/temporalio/lib/temporalio/internal/proto_utils.rb new file mode 100644 index 00000000..8b1046a3 --- /dev/null +++ b/temporalio/lib/temporalio/internal/proto_utils.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +require 'temporalio/api' + +module Temporalio + module Internal + # @!visibility private + module ProtoUtils + # @!visibility private + def self.seconds_to_duration(seconds_float) + return nil if seconds_float.nil? + + seconds = seconds_float.to_i + nanos = ((seconds_float - seconds) * 1_000_000_000).round + Google::Protobuf::Duration.new(seconds:, nanos:) + end + + # @!visibility private + def self.memo_to_proto(hash, data_converter) + return nil if hash.nil? + + Api::Common::V1::Memo.new(fields: hash.transform_values { |val| data_converter.to_payload(val) }) + end + end + end +end diff --git a/temporalio/lib/temporalio/retry_policy.rb b/temporalio/lib/temporalio/retry_policy.rb new file mode 100644 index 00000000..8df98ca4 --- /dev/null +++ b/temporalio/lib/temporalio/retry_policy.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require 'temporalio/internal/proto_utils' + +module Temporalio + # Options for retrying workflows and activities. + # + # @!attribute initial_interval + # @return [Float] Backoff interval in seconds for the first retry. Default 1.0. + # @!attribute backoff_coefficient + # @return [Float] Coefficient to multiply previous backoff interval by to get new interval. Default 2.0. + # @!attribute max_interval + # @return [Float, nil] Maximum backoff interval in seconds between retries. Default 100x `initial_interval`. + # @!attribute max_attempts + # @return [Integer] Maximum number of attempts. If `0`, the default, there is no maximum. + # @!attribute non_retryable_error_types + # @return [Array, nil] List of error types that are not retryable. + RetryPolicy = Struct.new( + :initial_interval, + :backoff_coefficient, + :max_interval, + :max_attempts, + :non_retryable_error_types, + keyword_init: true + ) do + def initialize(*, **kwargs) + kwargs[:initial_interval] = 1.0 unless kwargs.key?(:initial_interval) + kwargs[:backoff_coefficient] = 2.0 unless kwargs.key?(:backoff_coefficient) + kwargs[:max_attempts] = 0 unless kwargs.key?(:max_attempts) + super + end + + # @!visibility private + def to_proto + raise 'Initial interval cannot be negative' if @initial_interval.negative? + raise 'Backoff coefficient cannot be less than 1' if @backoff_coefficient < 1 + raise 'Max interval cannot be negative' if @max_interval&.negative? + raise 'Max interval cannot be less than initial interval' if @max_interval && @max_interval < @initial_interval + raise 'Max attempts cannot be negative' if @max_attempts.negative? + + Api::Common::V1::RetryPolicy.new( + initial_interval: Internal::ProtoUtils.seconds_to_duration(@initial_interval), + backoff_coefficient: @backoff_coefficient, + maximum_interval: Internal::ProtoUtils.seconds_to_duration(@max_interval), + maximum_attempts: @max_attempts, + non_retryable_error_types: @non_retryable_error_types + ) + end + end +end diff --git a/temporalio/lib/temporalio/runtime.rb b/temporalio/lib/temporalio/runtime.rb index 2ac98022..c65365ea 100644 --- a/temporalio/lib/temporalio/runtime.rb +++ b/temporalio/lib/temporalio/runtime.rb @@ -101,7 +101,7 @@ def _to_bridge # @!attribute attach_service_name # @return [Boolean] Whether to put the service_name on every metric, default +true+. # @!attribute global_tags - # @return [Hash{String=>String}, nil] Resource tags to be applied to all metrics. + # @return [Hash, nil] Resource tags to be applied to all metrics. # @!attribute metric_prefix # @return [String, nil] Prefix to put on every Temporal metric. If unset, defaults to +temporal_+. MetricsOptions = Struct.new( @@ -135,9 +135,9 @@ def _to_bridge # @!attribute url # @return [String] URL for OpenTelemetry endpoint. # @!attribute headers - # @return [Hash{String=>String}, nil] Headers for OpenTelemetry endpoint. - # @!attribute metric_periodicity_ms - # @return [Integer, nil] How frequently metrics should be exported, unset uses internal default. + # @return [Hash, nil] Headers for OpenTelemetry endpoint. + # @!attribute metric_periodicity + # @return [Float, nil] How frequently metrics should be exported, unset uses internal default. # @!attribute metric_temporality # @return [MetricTemporality] How frequently metrics should be exported, default is # {MetricTemporality::CUMULATIVE}. @@ -147,7 +147,7 @@ def _to_bridge OpenTelemetryMetricsOptions = Struct.new( :url, :headers, - :metric_periodicity_ms, + :metric_periodicity, :metric_temporality, :durations_as_seconds, keyword_init: true @@ -170,7 +170,7 @@ def _to_bridge Internal::Bridge::Runtime::OpenTelemetryMetricsOptions.new( url:, headers:, - metric_periodicity_ms:, + metric_periodicity:, metric_temporality_delta: case metric_temporality when MetricTemporality::CUMULATIVE then false when MetricTemporality::DELTA then true diff --git a/temporalio/lib/temporalio/search_attributes.rb b/temporalio/lib/temporalio/search_attributes.rb new file mode 100644 index 00000000..b87328f9 --- /dev/null +++ b/temporalio/lib/temporalio/search_attributes.rb @@ -0,0 +1,271 @@ +# frozen_string_literal: true + +require 'temporalio/api' + +module Temporalio + # Collection of typed search attributes. + # + # This is represented as a mapping of {SearchAttributes::Key} to object values. This is not a hash though it does have + # a few hash-like methods and can be converted to a hash via {#to_h}. In some situations, such as in workflows, this + # class is frozen. + class SearchAttributes + # Key for a search attribute. + # + # @!attribute name + # @return [String] Name of the search attribute. + # @!attribute type + # @return [IndexedValueType] Type of the search attribute. + Key = Struct.new( + :name, + :type + ) do + def initialize(name, type) + raise ArgumentError, 'Invalid type' unless Api::Enums::V1::IndexedValueType.lookup(type) + + super + freeze + end + + # Validate that the given value matches the expected {#type}. + # + # @raise [TypeError] The value does not have the proper type. + def validate_value(value) + case type + when IndexedValueType::TEXT + raise TypeError, 'Value of TEXT key must be a String' unless value.is_a?(String) + when IndexedValueType::KEYWORD + raise TypeError, 'Value of KEYWORD key must be a String' unless value.is_a?(String) + when IndexedValueType::INTEGER + raise TypeError, 'Value of INTEGER key must be a Integer' unless value.is_a?(Integer) + when IndexedValueType::FLOAT + unless value.is_a?(Float) || value.is_a?(Integer) + raise TypeError, 'Value of FLOAT key must be a Float or Integer' + end + when IndexedValueType::BOOLEAN + unless value.is_a?(TrueClass) || value.is_a?(FalseClass) + raise TypeError, 'Value of BOOLEAN key must be a Boolean' + end + when IndexedValueType::TIME + raise TypeError, 'Value of TIME key must be a Time' unless value.is_a?(Time) + when IndexedValueType::KEYWORD_LIST + unless value.is_a?(Array) && value.all? { |v| v.is_a?(String) } + raise TypeError, 'Value of KEYWORD_LIST key must be an Array of String' + end + else + # Should never happen, checked in constructor + raise 'Unrecognized key type' + end + end + + # Create an updated that sets the given value for this key. + # + # @param value [Object] Value to update. Must be the proper type for the key. + # @return [Update] Created update. + def value_set(value) + raise ArgumentError, 'Value cannot be nil, use value_unset' if value.nil? + + Update.new(self, value) + end + + # Create an updated that unsets the key. + # + # @return [Update] Created update. + def value_unset + Update.new(self, nil) + end + end + + # Search attribute update that can be separately applied. + class Update + # @return [Key] Key this update applies to. + attr_reader :key + + # @return [Object, nil] Value to update or `nil` to remove the key. + attr_reader :value + + # Create an update. Users may find it easier to use {Key#value_set} and {Key#value_unset} instead. + # + # @param key [Key] Key to update. + # @param value [Object, nil] Value to update to or nil to remove the value. + def initialize(key, value) + raise ArgumentError, 'Key must be a key' unless key.is_a?(Key) + + key.validate_value(value) unless value.nil? + @key = key + @value = value + end + end + + # @!visibility private + def self.from_proto(proto) + raise ArgumentError, 'Expected proto search attribute' unless proto.is_a?(Api::Common::V1::SearchAttributes) + + SearchAttributes.new(proto.indexed_fields.map do |key_name, payload| # rubocop:disable Style/MapToHash + key = Key.new(key_name, IndexedValueType::PROTO_VALUES[payload.metadata['type']]) + value = Converters::PayloadConverter.default.from_payload(payload) + # Time needs to be converted + value = Time.iso8601(value) if key.type == IndexedValueType::TIME + [key, value] + end.to_h) + end + + # Create a search attribute collection. + # + # @param existing [SearchAttributes, Hash, nil] Existing collection. This can be another + # {SearchAttributes} instance or a {::Hash}. + def initialize(existing = nil) + if existing.nil? + @raw_hash = {} + elsif existing.is_a?(SearchAttributes) + @raw_hash = existing.to_h + elsif existing.is_a?(Hash) + @raw_hash = {} + existing.each { |key, value| self[key] = value } + else + raise ArgumentError, 'Existing must be nil, a SearchAttributes instance, or a valid Hash' + end + end + + # Set a search attribute value for a key. This will replace any existing value for the {Key#name }regardless of + # {Key#type}. + # + # @param key [Key] A key to set. This must be a {Key} and the value must be proper for the {Key#type}. + # @param value [Object, nil] The value to set. If `nil`, the key is removed. The value must be proper for the `key`. + def []=(key, value) + # Key must be a Key + raise ArgumentError, 'Key must be a key' unless key.is_a?(Key) + + key.validate_value(value) unless value.nil? + + # Remove any key with the same name and set + delete(key) + # We only set the value if it's non-nil, otherwise it's a delete + @raw_hash[key] = value unless value.nil? + end + + # Get a search attribute value for a key. + # + # @param key [Key, String] The key to find. If this is a {Key}, it will use key equality (i.e. name and type) to + # search. If this is a {::String}, the type is not checked when finding the proper key. + # @return [Object, nil] Value if found or `nil` if not. + def [](key) + # Key must be a Key or a string + if key.is_a?(Key) + @raw_hash[key] + elsif key.is_a?(String) + @raw_hash.find { |hash_key, _| hash_key.name == key }&.last + else + raise ArgumentError, 'Key must be a key or string' + end + end + + # Delete a search attribute key + # + # @param key [Key, String] The key to delete. Regardless of whether this is a {Key} or a {::String}, the key with + # the matching name will be deleted. This means a {Key} with a matching name but different type may be deleted. + def delete(key) + # Key must be a Key or a string, but we delete all values for the + # name no matter what + name = if key.is_a?(Key) + key.name + elsif key.is_a?(String) + key + else + raise ArgumentError, 'Key must be a key or string' + end + @raw_hash.delete_if { |hash_key, _| hash_key.name == name } + end + + # Like {::Hash#each}. + def each(&) + @raw_hash.each(&) + end + + # @return [Hash] Copy of the search attributes as a hash. + def to_h + @raw_hash.dup + end + + # @return [SearchAttributes] Copy of the search attributes. + def dup + SearchAttributes.new(self) + end + + # Return a new search attributes collection with updates applied. + # + # @param updates [Update] Updates created via {Key#value_set} or {Key#value_unset}. + # @return [SearchAttributes] New collection. + def update(*updates) + attrs = dup + attrs.with_updates!(*updates) + attrs + end + + # Update this search attribute collection with given updates. + # + # @param updates [Update] Updates created via {Key#value_set} or {Key#value_unset}. + def update!(*updates) + updates.each do |update| + raise ArgumentError, 'Update must be an update' unless update.is_a?(Update) + + self[update.key] = update.value + end + end + + # @!visibility private + def to_proto + Api::Common::V1::SearchAttributes.new( + indexed_fields: @raw_hash.to_h do |key, value| + # We use a default converter, but if type is a time, we need ISO format + value = value.iso8601 if key.type == IndexedValueType::TIME + + # Convert to payload + payload = Converters::PayloadConverter.default.to_payload(value) + payload.metadata['type'] = IndexedValueType::PROTO_NAMES[key.type] + + [key.name, payload] + end + ) + end + + # Type for a search attribute key/value. + # + # @see https://docs.temporal.io/visibility#supported-types + module IndexedValueType + # Text type, values must be {::String}. + TEXT = Api::Enums::V1::IndexedValueType::INDEXED_VALUE_TYPE_TEXT + + # Keyword type, values must be {::String}. + KEYWORD = Api::Enums::V1::IndexedValueType::INDEXED_VALUE_TYPE_KEYWORD + + # Integer type, values must be {::Integer}. + INTEGER = Api::Enums::V1::IndexedValueType::INDEXED_VALUE_TYPE_INT + + # Float type, values must be {::Float} or {::Integer}. + FLOAT = Api::Enums::V1::IndexedValueType::INDEXED_VALUE_TYPE_DOUBLE + + # Boolean type, values must be {::TrueClass} or {::FalseClass}. + BOOLEAN = Api::Enums::V1::IndexedValueType::INDEXED_VALUE_TYPE_BOOL + + # Time type, values must be {::Time}. + TIME = Api::Enums::V1::IndexedValueType::INDEXED_VALUE_TYPE_DATETIME + + # Keyword list type, values must be {::Array}. + KEYWORD_LIST = Api::Enums::V1::IndexedValueType::INDEXED_VALUE_TYPE_KEYWORD_LIST + + # @!visibility private + PROTO_NAMES = { + TEXT => 'Text', + KEYWORD => 'Keyword', + INTEGER => 'Int', + FLOAT => 'Double', + BOOLEAN => 'Bool', + TIME => 'DateTime', + KEYWORD_LIST => 'KeywordList' + }.freeze + + # @!visibility private + PROTO_VALUES = PROTO_NAMES.invert.freeze + end + end +end diff --git a/temporalio/lib/temporalio/testing/workflow_environment.rb b/temporalio/lib/temporalio/testing/workflow_environment.rb index e3828153..f30bbff9 100644 --- a/temporalio/lib/temporalio/testing/workflow_environment.rb +++ b/temporalio/lib/temporalio/testing/workflow_environment.rb @@ -34,7 +34,6 @@ class WorkflowEnvironment # Default of +nil+ means in-memory only. # @param dev_server_log_format [String] Log format for CLI dev server. # @param dev_server_log_level [String] Log level for CLI dev server. - # @param dev_server_log_format [String] Log format for CLI dev server. # @param dev_server_download_version [String] Version of dev server to download and cache. # @param dev_server_download_dest_dir [String, nil] Where to download. Defaults to tmp. # @param dev_server_extra_args [Array] Any extra arguments for the CLI dev server. diff --git a/temporalio/rbs_collection.lock.yaml b/temporalio/rbs_collection.lock.yaml index 0b7a65d0..37d7807a 100644 --- a/temporalio/rbs_collection.lock.yaml +++ b/temporalio/rbs_collection.lock.yaml @@ -113,6 +113,10 @@ gems: version: '0' source: type: stdlib +- name: ripper + version: '0' + source: + type: stdlib - name: securerandom version: '0' source: @@ -141,4 +145,12 @@ gems: revision: 0233af5f782a23991cc0b8bd2e5e0e0f882aadee remote: https://github.com/ruby/gem_rbs_collection.git repo_dir: gems +- name: yard + version: '0.9' + source: + type: git + name: ruby/gem_rbs_collection + revision: 03121e6bbf2340e3b179edcc351deac45476f4d0 + remote: https://github.com/ruby/gem_rbs_collection.git + repo_dir: gems gemfile_lock_path: Gemfile.lock diff --git a/temporalio/test/client_test.rb b/temporalio/test/client_test.rb index 8b1dbc9a..a513251b 100644 --- a/temporalio/test/client_test.rb +++ b/temporalio/test/client_test.rb @@ -12,17 +12,7 @@ def test_version_number assert !Temporalio::VERSION.nil? end - def test_start_workflows_threaded - start_workflows - end - - def test_start_workflows_async - Sync do - start_workflows - end - end - - def start_workflows + def start_simple_workflows # Create ephemeral test server env.with_kitchen_sink_worker do |task_queue| # Start 5 workflows @@ -39,9 +29,166 @@ def start_workflows assert_equal %w[result-0 result-1 result-2 result-3 result-4], results end end -end -# TODO(cretz): -# * All client options -# * Cloud tests -# * Test splatting options + def test_start_simple_workflows_threaded + start_simple_workflows + end + + def test_start_simple_workflows_async + Sync do + start_simple_workflows + end + end + + def test_lazy_connection + assert env.client.connection.connected? + client = Temporalio::Client.connect(env.client.connection.target_host, env.client.namespace, lazy_connect: true) + refute client.connection.connected? + env.with_kitchen_sink_worker(client) do |task_queue| + result = client.execute_workflow( + 'kitchen_sink', + { actions: [{ result: { value: 'done' } }] }, + id: "wf-#{SecureRandom.uuid}", + task_queue: + ) + assert_equal 'done', result + end + assert client.connection.connected? + end + + def test_workflow_exists + env.with_kitchen_sink_worker do |task_queue| + # Create a workflow that hangs + handle = env.client.start_workflow( + 'kitchen_sink', + { actions: [{ action_signal: 'complete' }] }, + id: "wf-#{SecureRandom.uuid}", + task_queue: + ) + + # Confirm next one fails as already started + err = assert_raises(Temporalio::Error::WorkflowAlreadyStartedError) do + env.client.start_workflow( + 'kitchen_sink', + { actions: [{ action_signal: 'complete' }] }, + id: handle.id, + task_queue: + ) + end + assert_equal handle.id, err.workflow_id + assert_equal 'kitchen_sink', err.workflow_type + assert_equal handle.result_run_id, err.run_id + + # But that we can start another with an ID conflict policy that terminates + # it + new_handle = env.client.start_workflow( + 'kitchen_sink', + { actions: [{ result: { value: 'done' } }] }, + id: handle.id, + task_queue:, + id_conflict_policy: Temporalio::WorkflowIDConflictPolicy::TERMINATE_EXISTING + ) + assert_equal handle.id, new_handle.id + refute_equal handle.result_run_id, new_handle.result_run_id + + # Now confirm complete and another fails w/ on duplicate failed only + assert_equal 'done', new_handle.result + assert_raises(Temporalio::Error::WorkflowAlreadyStartedError) do + env.client.start_workflow( + 'kitchen_sink', + { actions: [{ result: { value: 'done' } }] }, + id: handle.id, + task_queue:, + id_reuse_policy: Temporalio::WorkflowIDReusePolicy::ALLOW_DUPLICATE_FAILED_ONLY + ) + end + end + end + + def test_search_attributes_and_memo + # Make sure all keys on server + key_text = Temporalio::SearchAttributes::Key.new('ruby-key-text', + Temporalio::SearchAttributes::IndexedValueType::TEXT) + key_keyword = Temporalio::SearchAttributes::Key.new('ruby-key-keyword', + Temporalio::SearchAttributes::IndexedValueType::KEYWORD) + key_integer = Temporalio::SearchAttributes::Key.new('ruby-key-integer', + Temporalio::SearchAttributes::IndexedValueType::INTEGER) + key_float = Temporalio::SearchAttributes::Key.new('ruby-key-float', + Temporalio::SearchAttributes::IndexedValueType::FLOAT) + key_boolean = Temporalio::SearchAttributes::Key.new('ruby-key-boolean', + Temporalio::SearchAttributes::IndexedValueType::BOOLEAN) + key_time = Temporalio::SearchAttributes::Key.new('ruby-key-time', + Temporalio::SearchAttributes::IndexedValueType::TIME) + key_keyword_list = Temporalio::SearchAttributes::Key.new( + 'ruby-key-keyword-list', + Temporalio::SearchAttributes::IndexedValueType::KEYWORD_LIST + ) + env.ensure_search_attribute_keys(key_text, key_keyword, key_integer, key_float, key_boolean, key_time, + key_keyword_list) + + env.with_kitchen_sink_worker do |task_queue| + # Remove precision because server doesn't store sub-second + now = Time.at(Time.now.to_i) + # Start a workflow with the different keys + handle = env.client.start_workflow( + 'kitchen_sink', + { actions: [{ result: { value: 'done' } }] }, + id: "wf-#{SecureRandom.uuid}", + task_queue:, + search_attributes: Temporalio::SearchAttributes.new( + { + key_text => 'some text', + key_keyword => 'some keyword', + key_integer => 123, + key_float => 45.67, + key_boolean => true, + key_time => now, + key_keyword_list => ['some keyword list 1', 'some keyword list 2'] + } + ), + memo: { 'foo' => 'bar', 'baz' => %w[qux1 qux2] } + ) + + # Describe and check + # TODO(cretz): Switch to high-level describe when written + describe_resp = env.client.workflow_service.describe_workflow_execution( + Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionRequest.new( + namespace: env.client.namespace, + execution: Temporalio::Api::Common::V1::WorkflowExecution.new(workflow_id: handle.id) + ) + ) + assert_equal 'bar', env.client.data_converter.from_payload( + describe_resp.workflow_execution_info.memo.fields['foo'] + ) + assert_equal %w[qux1 qux2], env.client.data_converter.from_payload( + describe_resp.workflow_execution_info.memo.fields['baz'] + ) + attrs = Temporalio::SearchAttributes.from_proto(describe_resp.workflow_execution_info.search_attributes) + assert_equal 'some text', attrs[key_text] + assert_equal 'some keyword', attrs[key_keyword] + assert_equal 123, attrs[key_integer] + assert_equal 45.67, attrs[key_float] + assert_equal true, attrs[key_boolean] + assert_equal now, attrs[key_time] + assert_equal ['some keyword list 1', 'some keyword list 2'], attrs[key_keyword_list] + end + end + + # TODO(cretz): Tests to write: + # * Simple workflow with basic param and return type + # * Workflow start delay works (just put a start delay and check its value, don't have to run) + # * Workflow retry policy + # * Workflow client interceptors all called properly + # * Workflow search attributes and memo + # * Workflow list (specific ID) + # * Workflow counting + # * Workflow cloud test + # * Workflow recreate client with splatted options + # * Start workflow other options + # * CAN for get result following + # * Workflow failure w/ details + # * Get result not found + # * Cancelling RPC of get result + # * Query/Signal/Update obvious stuff + # * Basic describe support +end diff --git a/temporalio/test/test_helper.rb b/temporalio/test/test_helper.rb index ee5f7d3e..f9d882a2 100644 --- a/temporalio/test/test_helper.rb +++ b/temporalio/test/test_helper.rb @@ -62,5 +62,29 @@ def kitchen_sink_exe @kitchen_sink_exe = File.join(__dir__ || '', 'golangworker', 'golangworker') end end + + def ensure_search_attribute_keys(*keys) + # Do a list and collect ones not present + list_resp = client.operator_service.list_search_attributes( + Temporalio::Api::OperatorService::V1::ListSearchAttributesRequest.new(namespace: client.namespace) + ) + + # Add every one not already present + to_add = keys.reject { |key| list_resp.custom_attributes.has_key?(key.name) } # rubocop:disable Style/PreferredHashMethods + return if to_add.empty? + + client.operator_service.add_search_attributes( + Temporalio::Api::OperatorService::V1::AddSearchAttributesRequest.new( + namespace: client.namespace, + search_attributes: to_add.to_h { |key| [key.name, key.type] } + ) + ) + + # List again, confirm all present + list_resp = client.operator_service.list_search_attributes( + Temporalio::Api::OperatorService::V1::ListSearchAttributesRequest.new(namespace: client.namespace) + ) + raise 'Missing keys' unless keys.all? { |key| list_resp.custom_attributes.has_key?(key.name) } # rubocop:disable Style/PreferredHashMethods + end end end