temporalio 0.2.0-arm64-darwin → 0.4.0-arm64-darwin
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +2 -0
- data/Gemfile +7 -3
- data/Rakefile +10 -296
- data/lib/temporalio/activity/complete_async_error.rb +1 -1
- data/lib/temporalio/activity/context.rb +18 -2
- data/lib/temporalio/activity/definition.rb +180 -65
- data/lib/temporalio/activity/info.rb +25 -21
- data/lib/temporalio/activity.rb +2 -59
- data/lib/temporalio/api/activity/v1/message.rb +25 -0
- data/lib/temporalio/api/batch/v1/message.rb +6 -1
- data/lib/temporalio/api/cloud/account/v1/message.rb +28 -0
- data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +34 -1
- data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +1 -1
- data/lib/temporalio/api/cloud/identity/v1/message.rb +6 -1
- data/lib/temporalio/api/cloud/namespace/v1/message.rb +8 -1
- data/lib/temporalio/api/cloud/nexus/v1/message.rb +31 -0
- data/lib/temporalio/api/cloud/operation/v1/message.rb +2 -1
- data/lib/temporalio/api/cloud/region/v1/message.rb +2 -1
- data/lib/temporalio/api/cloud/resource/v1/message.rb +23 -0
- data/lib/temporalio/api/cloud/sink/v1/message.rb +24 -0
- data/lib/temporalio/api/cloud/usage/v1/message.rb +31 -0
- data/lib/temporalio/api/command/v1/message.rb +1 -1
- data/lib/temporalio/api/common/v1/message.rb +8 -1
- data/lib/temporalio/api/deployment/v1/message.rb +38 -0
- data/lib/temporalio/api/enums/v1/batch_operation.rb +1 -1
- data/lib/temporalio/api/enums/v1/common.rb +1 -1
- data/lib/temporalio/api/enums/v1/deployment.rb +23 -0
- data/lib/temporalio/api/enums/v1/event_type.rb +1 -1
- data/lib/temporalio/api/enums/v1/failed_cause.rb +1 -1
- data/lib/temporalio/api/enums/v1/nexus.rb +21 -0
- data/lib/temporalio/api/enums/v1/reset.rb +1 -1
- data/lib/temporalio/api/enums/v1/workflow.rb +2 -1
- data/lib/temporalio/api/errordetails/v1/message.rb +3 -1
- data/lib/temporalio/api/failure/v1/message.rb +3 -1
- data/lib/temporalio/api/history/v1/message.rb +3 -1
- data/lib/temporalio/api/nexus/v1/message.rb +3 -2
- data/lib/temporalio/api/operatorservice/v1/service.rb +1 -1
- data/lib/temporalio/api/payload_visitor.rb +1581 -0
- data/lib/temporalio/api/query/v1/message.rb +2 -1
- data/lib/temporalio/api/schedule/v1/message.rb +2 -1
- data/lib/temporalio/api/taskqueue/v1/message.rb +4 -1
- data/lib/temporalio/api/testservice/v1/request_response.rb +31 -0
- data/lib/temporalio/api/testservice/v1/service.rb +23 -0
- data/lib/temporalio/api/workflow/v1/message.rb +9 -1
- data/lib/temporalio/api/workflowservice/v1/request_response.rb +46 -2
- data/lib/temporalio/api/workflowservice/v1/service.rb +1 -1
- data/lib/temporalio/api.rb +2 -0
- data/lib/temporalio/cancellation.rb +34 -14
- data/lib/temporalio/client/async_activity_handle.rb +12 -37
- data/lib/temporalio/client/connection/cloud_service.rb +309 -231
- data/lib/temporalio/client/connection/operator_service.rb +36 -84
- data/lib/temporalio/client/connection/service.rb +6 -5
- data/lib/temporalio/client/connection/test_service.rb +111 -0
- data/lib/temporalio/client/connection/workflow_service.rb +474 -441
- data/lib/temporalio/client/connection.rb +90 -44
- data/lib/temporalio/client/interceptor.rb +199 -60
- data/lib/temporalio/client/schedule.rb +991 -0
- data/lib/temporalio/client/schedule_handle.rb +126 -0
- data/lib/temporalio/client/with_start_workflow_operation.rb +115 -0
- data/lib/temporalio/client/workflow_execution.rb +26 -10
- data/lib/temporalio/client/workflow_handle.rb +41 -98
- data/lib/temporalio/client/workflow_update_handle.rb +3 -5
- data/lib/temporalio/client.rb +247 -44
- data/lib/temporalio/common_enums.rb +17 -0
- data/lib/temporalio/contrib/open_telemetry.rb +470 -0
- data/lib/temporalio/converters/data_converter.rb +4 -7
- data/lib/temporalio/converters/failure_converter.rb +5 -3
- data/lib/temporalio/converters/payload_converter/composite.rb +4 -0
- data/lib/temporalio/converters/payload_converter.rb +6 -8
- data/lib/temporalio/converters/raw_value.rb +20 -0
- data/lib/temporalio/error/failure.rb +1 -1
- data/lib/temporalio/error.rb +11 -2
- data/lib/temporalio/internal/bridge/3.2/temporalio_bridge.bundle +0 -0
- data/lib/temporalio/internal/bridge/3.3/temporalio_bridge.bundle +0 -0
- data/lib/temporalio/internal/bridge/{3.1 → 3.4}/temporalio_bridge.bundle +0 -0
- data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +1 -1
- data/lib/temporalio/internal/bridge/api/common/common.rb +2 -1
- data/lib/temporalio/internal/bridge/api/core_interface.rb +5 -1
- data/lib/temporalio/internal/bridge/api/nexus/nexus.rb +33 -0
- data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +5 -1
- data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +4 -1
- data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +2 -1
- data/lib/temporalio/internal/bridge/client.rb +11 -6
- data/lib/temporalio/internal/bridge/runtime.rb +3 -0
- data/lib/temporalio/internal/bridge/testing.rb +23 -0
- data/lib/temporalio/internal/bridge/worker.rb +2 -0
- data/lib/temporalio/internal/bridge.rb +1 -1
- data/lib/temporalio/internal/client/implementation.rb +468 -71
- data/lib/temporalio/internal/metric.rb +122 -0
- data/lib/temporalio/internal/proto_utils.rb +118 -7
- data/lib/temporalio/internal/worker/activity_worker.rb +69 -29
- data/lib/temporalio/internal/worker/multi_runner.rb +53 -9
- data/lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb +54 -0
- data/lib/temporalio/internal/worker/workflow_instance/context.rb +383 -0
- data/lib/temporalio/internal/worker/workflow_instance/details.rb +46 -0
- data/lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb +32 -0
- data/lib/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rb +22 -0
- data/lib/temporalio/internal/worker/workflow_instance/handler_execution.rb +25 -0
- data/lib/temporalio/internal/worker/workflow_instance/handler_hash.rb +41 -0
- data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +97 -0
- data/lib/temporalio/internal/worker/workflow_instance/inbound_implementation.rb +62 -0
- data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +400 -0
- data/lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb +37 -0
- data/lib/temporalio/internal/worker/workflow_instance/replay_safe_metric.rb +40 -0
- data/lib/temporalio/internal/worker/workflow_instance/scheduler.rb +183 -0
- data/lib/temporalio/internal/worker/workflow_instance.rb +774 -0
- data/lib/temporalio/internal/worker/workflow_worker.rb +239 -0
- data/lib/temporalio/metric.rb +109 -0
- data/lib/temporalio/retry_policy.rb +37 -14
- data/lib/temporalio/runtime/metric_buffer.rb +94 -0
- data/lib/temporalio/runtime.rb +160 -79
- data/lib/temporalio/search_attributes.rb +93 -37
- data/lib/temporalio/testing/activity_environment.rb +44 -16
- data/lib/temporalio/testing/workflow_environment.rb +276 -7
- data/lib/temporalio/version.rb +1 -1
- data/lib/temporalio/worker/activity_executor/thread_pool.rb +9 -217
- data/lib/temporalio/worker/activity_executor.rb +3 -3
- data/lib/temporalio/worker/interceptor.rb +343 -66
- data/lib/temporalio/worker/thread_pool.rb +237 -0
- data/lib/temporalio/worker/tuner.rb +38 -0
- data/lib/temporalio/worker/workflow_executor/thread_pool.rb +235 -0
- data/lib/temporalio/worker/workflow_executor.rb +26 -0
- data/lib/temporalio/worker/workflow_replayer.rb +350 -0
- data/lib/temporalio/worker.rb +235 -58
- data/lib/temporalio/workflow/activity_cancellation_type.rb +20 -0
- data/lib/temporalio/workflow/child_workflow_cancellation_type.rb +21 -0
- data/lib/temporalio/workflow/child_workflow_handle.rb +43 -0
- data/lib/temporalio/workflow/definition.rb +598 -0
- data/lib/temporalio/workflow/external_workflow_handle.rb +41 -0
- data/lib/temporalio/workflow/future.rb +151 -0
- data/lib/temporalio/workflow/handler_unfinished_policy.rb +13 -0
- data/lib/temporalio/workflow/info.rb +104 -0
- data/lib/temporalio/workflow/parent_close_policy.rb +19 -0
- data/lib/temporalio/workflow/update_info.rb +20 -0
- data/lib/temporalio/workflow.rb +575 -0
- data/lib/temporalio/workflow_history.rb +26 -1
- data/lib/temporalio.rb +4 -0
- data/temporalio.gemspec +4 -3
- metadata +75 -8
| @@ -1,76 +1,191 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            +
            require 'temporalio/internal/proto_utils'
         | 
| 4 | 
            +
             | 
| 3 5 | 
             
            module Temporalio
         | 
| 4 | 
            -
               | 
| 5 | 
            -
                #  | 
| 6 | 
            -
                # | 
| 6 | 
            +
              module Activity
         | 
| 7 | 
            +
                # Base class for all activities.
         | 
| 8 | 
            +
                #
         | 
| 9 | 
            +
                # Activities can be given to a worker as instances of this class, which will call execute on the same instance for
         | 
| 10 | 
            +
                # each execution, or given to the worker as the class itself which instantiates the activity for each execution.
         | 
| 11 | 
            +
                #
         | 
| 12 | 
            +
                # All activities must implement {execute}. Inside execute, {Activity::Context.current} can be used to access the
         | 
| 13 | 
            +
                # current context to get information, issue heartbeats, etc.
         | 
| 14 | 
            +
                #
         | 
| 15 | 
            +
                # By default, the activity is named as its unqualified class name. This can be customized with {activity_name}.
         | 
| 16 | 
            +
                #
         | 
| 17 | 
            +
                # By default, the activity uses the `:default` executor which is usually the thread-pool based executor. This can be
         | 
| 18 | 
            +
                # customized with {activity_executor}.
         | 
| 19 | 
            +
                #
         | 
| 20 | 
            +
                # By default, upon cancellation {::Thread.raise} or {::Fiber.raise} is called with a {Error::CanceledError}. This
         | 
| 21 | 
            +
                # can be disabled by passing `false` to {activity_cancel_raise}.
         | 
| 22 | 
            +
                #
         | 
| 23 | 
            +
                # See documentation for more detail on activities.
         | 
| 7 24 | 
             
                class Definition
         | 
| 8 | 
            -
                   | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
                    #  | 
| 26 | 
            -
                     | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
                       | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
                         | 
| 38 | 
            -
                       | 
| 39 | 
            -
             | 
| 40 | 
            -
                       | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
                     | 
| 49 | 
            -
                       | 
| 50 | 
            -
             | 
| 51 | 
            -
                       | 
| 25 | 
            +
                  class << self
         | 
| 26 | 
            +
                    protected
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                    # Override the activity name which is defaulted to the unqualified class name.
         | 
| 29 | 
            +
                    #
         | 
| 30 | 
            +
                    # @param name [String, Symbol] Name to use.
         | 
| 31 | 
            +
                    def activity_name(name)
         | 
| 32 | 
            +
                      if !name.is_a?(Symbol) && !name.is_a?(String)
         | 
| 33 | 
            +
                        raise ArgumentError,
         | 
| 34 | 
            +
                              'Activity name must be a symbol or string'
         | 
| 35 | 
            +
                      end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                      @activity_name = name.to_s
         | 
| 38 | 
            +
                    end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                    # Override the activity executor which is defaulted to `:default`.
         | 
| 41 | 
            +
                    #
         | 
| 42 | 
            +
                    # @param executor_name [Symbol] Executor to use.
         | 
| 43 | 
            +
                    def activity_executor(executor_name)
         | 
| 44 | 
            +
                      raise ArgumentError, 'Executor name must be a symbol' unless executor_name.is_a?(Symbol)
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                      @activity_executor = executor_name
         | 
| 47 | 
            +
                    end
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                    # Override whether the activity uses Thread/Fiber raise for cancellation which is defaulted to true.
         | 
| 50 | 
            +
                    #
         | 
| 51 | 
            +
                    # @param cancel_raise [Boolean] Whether to raise.
         | 
| 52 | 
            +
                    def activity_cancel_raise(cancel_raise)
         | 
| 53 | 
            +
                      unless cancel_raise.is_a?(TrueClass) || cancel_raise.is_a?(FalseClass)
         | 
| 54 | 
            +
                        raise ArgumentError, 'Must be a boolean'
         | 
| 55 | 
            +
                      end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                      @activity_cancel_raise = cancel_raise
         | 
| 58 | 
            +
                    end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                    # Set an activity as dynamic. Dynamic activities do not have names and handle any activity that is not otherwise
         | 
| 61 | 
            +
                    # registered. A worker can only have one dynamic activity. It is often useful to use {activity_raw_args} with
         | 
| 62 | 
            +
                    # this.
         | 
| 63 | 
            +
                    #
         | 
| 64 | 
            +
                    # @param value [Boolean] Whether the activity is dynamic.
         | 
| 65 | 
            +
                    def activity_dynamic(value = true) # rubocop:disable Style/OptionalBooleanParameter
         | 
| 66 | 
            +
                      raise ArgumentError, 'Must be a boolean' unless value.is_a?(TrueClass) || value.is_a?(FalseClass)
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                      @activity_dynamic = value
         | 
| 69 | 
            +
                    end
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                    # Have activity arguments delivered to `execute` as {Converters::RawValue}s. These are wrappers for the raw
         | 
| 72 | 
            +
                    # payloads that have not been converted to types (but they have been decoded by the codec if present). They can
         | 
| 73 | 
            +
                    # be converted with {Context#payload_converter}.
         | 
| 74 | 
            +
                    #
         | 
| 75 | 
            +
                    # @param value [Boolean] Whether the activity accepts raw arguments.
         | 
| 76 | 
            +
                    def activity_raw_args(value = true) # rubocop:disable Style/OptionalBooleanParameter
         | 
| 77 | 
            +
                      raise ArgumentError, 'Must be a boolean' unless value.is_a?(TrueClass) || value.is_a?(FalseClass)
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                      @activity_raw_args = value
         | 
| 52 80 | 
             
                    end
         | 
| 53 81 | 
             
                  end
         | 
| 54 82 |  | 
| 55 | 
            -
                  #  | 
| 56 | 
            -
                   | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
                       | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 83 | 
            +
                  # @!visibility private
         | 
| 84 | 
            +
                  def self._activity_definition_details
         | 
| 85 | 
            +
                    activity_name = @activity_name
         | 
| 86 | 
            +
                    raise 'Cannot have activity name specified for dynamic activity' if activity_name && @activity_dynamic
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                    # Default to unqualified class name if not dynamic
         | 
| 89 | 
            +
                    activity_name ||= name.to_s.split('::').last unless @activity_dynamic
         | 
| 90 | 
            +
                    {
         | 
| 91 | 
            +
                      activity_name:,
         | 
| 92 | 
            +
                      activity_executor: @activity_executor || :default,
         | 
| 93 | 
            +
                      activity_cancel_raise: @activity_cancel_raise.nil? || @activity_cancel_raise,
         | 
| 94 | 
            +
                      activity_raw_args: @activity_raw_args.nil? ? false : @activity_raw_args
         | 
| 95 | 
            +
                    }
         | 
| 96 | 
            +
                  end
         | 
| 97 | 
            +
             | 
| 98 | 
            +
                  # Implementation of the activity. The arguments should be positional and this should return the value on success
         | 
| 99 | 
            +
                  # or raise an error on failure.
         | 
| 100 | 
            +
                  def execute(*args)
         | 
| 101 | 
            +
                    raise NotImplementedError, 'Activity did not implement "execute"'
         | 
| 102 | 
            +
                  end
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                  # Definition info of an activity. Activities are usually classes/instances that extend {Definition}, but
         | 
| 105 | 
            +
                  # definitions can also be manually created with a block via {initialize} here.
         | 
| 106 | 
            +
                  class Info
         | 
| 107 | 
            +
                    # @return [String, Symbol, nil] Name of the activity, or nil if the activity is dynamic.
         | 
| 108 | 
            +
                    attr_reader :name
         | 
| 109 | 
            +
             | 
| 110 | 
            +
                    # @return [Object, Proc, nil] The pre-created instance or the proc to create/return it.
         | 
| 111 | 
            +
                    attr_reader :instance
         | 
| 112 | 
            +
             | 
| 113 | 
            +
                    # @return [Proc] Proc for the activity. Should use {Context#instance} to access the instance.
         | 
| 114 | 
            +
                    attr_reader :proc
         | 
| 115 | 
            +
             | 
| 116 | 
            +
                    # @return [Symbol] Name of the executor. Default is `:default`.
         | 
| 117 | 
            +
                    attr_reader :executor
         | 
| 118 | 
            +
             | 
| 119 | 
            +
                    # @return [Boolean] Whether to raise in thread/fiber on cancellation. Default is `true`.
         | 
| 120 | 
            +
                    attr_reader :cancel_raise
         | 
| 121 | 
            +
             | 
| 122 | 
            +
                    # @return [Boolean] Whether to use {Converters::RawValue}s as arguments.
         | 
| 123 | 
            +
                    attr_reader :raw_args
         | 
| 124 | 
            +
             | 
| 125 | 
            +
                    # Obtain definition info representing the given activity, which can be a class, instance, or definition info.
         | 
| 126 | 
            +
                    #
         | 
| 127 | 
            +
                    # @param activity [Definition, Class<Definition>, Info] Activity to get info for.
         | 
| 128 | 
            +
                    # @return Info Obtained definition info.
         | 
| 129 | 
            +
                    def self.from_activity(activity)
         | 
| 130 | 
            +
                      # Class means create each time, instance means just call, definition
         | 
| 131 | 
            +
                      # does nothing special
         | 
| 132 | 
            +
                      case activity
         | 
| 133 | 
            +
                      when Class
         | 
| 134 | 
            +
                        unless activity < Definition
         | 
| 135 | 
            +
                          raise ArgumentError,
         | 
| 136 | 
            +
                                "Class '#{activity}' does not extend Temporalio::Activity::Definition"
         | 
| 137 | 
            +
                        end
         | 
| 138 | 
            +
             | 
| 139 | 
            +
                        details = activity._activity_definition_details
         | 
| 140 | 
            +
                        new(
         | 
| 141 | 
            +
                          name: details[:activity_name],
         | 
| 142 | 
            +
                          instance: proc { activity.new },
         | 
| 143 | 
            +
                          executor: details[:activity_executor],
         | 
| 144 | 
            +
                          cancel_raise: details[:activity_cancel_raise],
         | 
| 145 | 
            +
                          raw_args: details[:activity_raw_args]
         | 
| 146 | 
            +
                        ) { |*args| Context.current.instance&.execute(*args) }
         | 
| 147 | 
            +
                      when Definition
         | 
| 148 | 
            +
                        details = activity.class._activity_definition_details
         | 
| 149 | 
            +
                        new(
         | 
| 150 | 
            +
                          name: details[:activity_name],
         | 
| 151 | 
            +
                          instance: activity,
         | 
| 152 | 
            +
                          executor: details[:activity_executor],
         | 
| 153 | 
            +
                          cancel_raise: details[:activity_cancel_raise],
         | 
| 154 | 
            +
                          raw_args: details[:activity_raw_args]
         | 
| 155 | 
            +
                        ) { |*args| Context.current.instance&.execute(*args) }
         | 
| 156 | 
            +
                      when Info
         | 
| 157 | 
            +
                        activity
         | 
| 158 | 
            +
                      else
         | 
| 159 | 
            +
                        raise ArgumentError, "#{activity} is not an activity class, instance, or definition info"
         | 
| 160 | 
            +
                      end
         | 
| 161 | 
            +
                    end
         | 
| 162 | 
            +
             | 
| 163 | 
            +
                    # Manually create activity definition info. Most users will use an instance/class of {Definition}.
         | 
| 164 | 
            +
                    #
         | 
| 165 | 
            +
                    # @param name [String, Symbol, nil] Name of the activity or nil for dynamic activity.
         | 
| 166 | 
            +
                    # @param instance [Object, Proc, nil] The pre-created instance or the proc to create/return it.
         | 
| 167 | 
            +
                    # @param executor [Symbol] Name of the executor.
         | 
| 168 | 
            +
                    # @param cancel_raise [Boolean] Whether to raise in thread/fiber on cancellation.
         | 
| 169 | 
            +
                    # @param raw_args [Boolean] Whether to use {Converters::RawValue}s as arguments.
         | 
| 170 | 
            +
                    # @yield Use this block as the activity.
         | 
| 171 | 
            +
                    def initialize(
         | 
| 172 | 
            +
                      name:,
         | 
| 173 | 
            +
                      instance: nil,
         | 
| 174 | 
            +
                      executor: :default,
         | 
| 175 | 
            +
                      cancel_raise: true,
         | 
| 176 | 
            +
                      raw_args: false,
         | 
| 177 | 
            +
                      &block
         | 
| 178 | 
            +
                    )
         | 
| 179 | 
            +
                      @name = name
         | 
| 180 | 
            +
                      @instance = instance
         | 
| 181 | 
            +
                      raise ArgumentError, 'Must give block' unless block_given?
         | 
| 182 | 
            +
             | 
| 183 | 
            +
                      @proc = block
         | 
| 184 | 
            +
                      @executor = executor
         | 
| 185 | 
            +
                      @cancel_raise = cancel_raise
         | 
| 186 | 
            +
                      @raw_args = raw_args
         | 
| 187 | 
            +
                      Internal::ProtoUtils.assert_non_reserved_name(name)
         | 
| 70 188 | 
             
                    end
         | 
| 71 | 
            -
                    @proc = proc
         | 
| 72 | 
            -
                    @executor = executor
         | 
| 73 | 
            -
                    @cancel_raise = cancel_raise
         | 
| 74 189 | 
             
                  end
         | 
| 75 190 | 
             
                end
         | 
| 76 191 | 
             
              end
         | 
| @@ -1,7 +1,27 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Temporalio
         | 
| 4 | 
            -
               | 
| 4 | 
            +
              module Activity
         | 
| 5 | 
            +
                Info = Data.define(
         | 
| 6 | 
            +
                  :activity_id,
         | 
| 7 | 
            +
                  :activity_type,
         | 
| 8 | 
            +
                  :attempt,
         | 
| 9 | 
            +
                  :current_attempt_scheduled_time,
         | 
| 10 | 
            +
                  :heartbeat_details,
         | 
| 11 | 
            +
                  :heartbeat_timeout,
         | 
| 12 | 
            +
                  :local?,
         | 
| 13 | 
            +
                  :schedule_to_close_timeout,
         | 
| 14 | 
            +
                  :scheduled_time,
         | 
| 15 | 
            +
                  :start_to_close_timeout,
         | 
| 16 | 
            +
                  :started_time,
         | 
| 17 | 
            +
                  :task_queue,
         | 
| 18 | 
            +
                  :task_token,
         | 
| 19 | 
            +
                  :workflow_id,
         | 
| 20 | 
            +
                  :workflow_namespace,
         | 
| 21 | 
            +
                  :workflow_run_id,
         | 
| 22 | 
            +
                  :workflow_type
         | 
| 23 | 
            +
                )
         | 
| 24 | 
            +
             | 
| 5 25 | 
             
                # Information about an activity.
         | 
| 6 26 | 
             
                #
         | 
| 7 27 | 
             
                # @!attribute activity_id
         | 
| @@ -39,25 +59,9 @@ module Temporalio | |
| 39 59 | 
             
                #   @return [String] Workflow run ID that started this activity.
         | 
| 40 60 | 
             
                # @!attribute workflow_type
         | 
| 41 61 | 
             
                #   @return [String] Workflow type name that started this activity.
         | 
| 42 | 
            -
                 | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
                  :current_attempt_scheduled_time,
         | 
| 47 | 
            -
                  :heartbeat_details,
         | 
| 48 | 
            -
                  :heartbeat_timeout,
         | 
| 49 | 
            -
                  :local?,
         | 
| 50 | 
            -
                  :schedule_to_close_timeout,
         | 
| 51 | 
            -
                  :scheduled_time,
         | 
| 52 | 
            -
                  :start_to_close_timeout,
         | 
| 53 | 
            -
                  :started_time,
         | 
| 54 | 
            -
                  :task_queue,
         | 
| 55 | 
            -
                  :task_token,
         | 
| 56 | 
            -
                  :workflow_id,
         | 
| 57 | 
            -
                  :workflow_namespace,
         | 
| 58 | 
            -
                  :workflow_run_id,
         | 
| 59 | 
            -
                  :workflow_type,
         | 
| 60 | 
            -
                  keyword_init: true
         | 
| 61 | 
            -
                )
         | 
| 62 | 
            +
                #
         | 
| 63 | 
            +
                # @note WARNING: This class may have required parameters added to its constructor. Users should not instantiate this
         | 
| 64 | 
            +
                #   class or it may break in incompatible ways.
         | 
| 65 | 
            +
                class Info; end # rubocop:disable Lint/EmptyClass
         | 
| 62 66 | 
             
              end
         | 
| 63 67 | 
             
            end
         | 
    
        data/lib/temporalio/activity.rb
    CHANGED
    
    | @@ -6,64 +6,7 @@ require 'temporalio/activity/definition' | |
| 6 6 | 
             
            require 'temporalio/activity/info'
         | 
| 7 7 |  | 
| 8 8 | 
             
            module Temporalio
         | 
| 9 | 
            -
              #  | 
| 10 | 
            -
               | 
| 11 | 
            -
              # Activities can be given to a worker as instances of this class, which will call execute on the same instance for
         | 
| 12 | 
            -
              # each execution, or given to the worker as the class itself which instantiates the activity for each execution.
         | 
| 13 | 
            -
              #
         | 
| 14 | 
            -
              # All activities must implement {execute}. Inside execute, {Activity::Context.current} can be used to access the
         | 
| 15 | 
            -
              # current context to get information, issue heartbeats, etc.
         | 
| 16 | 
            -
              #
         | 
| 17 | 
            -
              # By default, the activity is named as its unqualified class name. This can be customized with {activity_name}.
         | 
| 18 | 
            -
              #
         | 
| 19 | 
            -
              # By default, the activity uses the `:default` executor which is usually the thread-pool based executor. This can be
         | 
| 20 | 
            -
              # customized with {activity_executor}.
         | 
| 21 | 
            -
              #
         | 
| 22 | 
            -
              # By default, upon cancellation {::Thread.raise} or {::Fiber.raise} is called with a {Error::CanceledError}. This can
         | 
| 23 | 
            -
              # be disabled by passing `false` to {activity_cancel_raise}.
         | 
| 24 | 
            -
              #
         | 
| 25 | 
            -
              # See documentation for more detail on activities.
         | 
| 26 | 
            -
              class Activity
         | 
| 27 | 
            -
                # Override the activity name which is defaulted to the unqualified class name.
         | 
| 28 | 
            -
                #
         | 
| 29 | 
            -
                # @param name [String, Symbol] Name to use.
         | 
| 30 | 
            -
                def self.activity_name(name)
         | 
| 31 | 
            -
                  raise ArgumentError, 'Activity name must be a symbol or string' if !name.is_a?(Symbol) && !name.is_a?(String)
         | 
| 32 | 
            -
             | 
| 33 | 
            -
                  @activity_name = name.to_s
         | 
| 34 | 
            -
                end
         | 
| 35 | 
            -
             | 
| 36 | 
            -
                # Override the activity executor which is defaulted to `:default`.
         | 
| 37 | 
            -
                #
         | 
| 38 | 
            -
                # @param executor_name [Symbol] Executor to use.
         | 
| 39 | 
            -
                def self.activity_executor(executor_name)
         | 
| 40 | 
            -
                  raise ArgumentError, 'Executor name must be a symbol' unless executor_name.is_a?(Symbol)
         | 
| 41 | 
            -
             | 
| 42 | 
            -
                  @activity_executor = executor_name
         | 
| 43 | 
            -
                end
         | 
| 44 | 
            -
             | 
| 45 | 
            -
                # Override whether the activity uses Thread/Fiber raise for cancellation which is defaulted to true.
         | 
| 46 | 
            -
                #
         | 
| 47 | 
            -
                # @param cancel_raise [Boolean] Whether to raise.
         | 
| 48 | 
            -
                def self.activity_cancel_raise(cancel_raise)
         | 
| 49 | 
            -
                  raise ArgumentError, 'Must be a boolean' unless cancel_raise.is_a?(TrueClass) || cancel_raise.is_a?(FalseClass)
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                  @activity_cancel_raise = cancel_raise
         | 
| 52 | 
            -
                end
         | 
| 53 | 
            -
             | 
| 54 | 
            -
                # @!visibility private
         | 
| 55 | 
            -
                def self._activity_definition_details
         | 
| 56 | 
            -
                  {
         | 
| 57 | 
            -
                    activity_name: @activity_name || name.to_s.split('::').last,
         | 
| 58 | 
            -
                    activity_executor: @activity_executor || :default,
         | 
| 59 | 
            -
                    activity_cancel_raise: @activity_cancel_raise.nil? ? true : @activity_cancel_raise
         | 
| 60 | 
            -
                  }
         | 
| 61 | 
            -
                end
         | 
| 62 | 
            -
             | 
| 63 | 
            -
                # Implementation of the activity. The arguments should be positional and this should return the value on success or
         | 
| 64 | 
            -
                # raise an error on failure.
         | 
| 65 | 
            -
                def execute(*args)
         | 
| 66 | 
            -
                  raise NotImplementedError, 'Activity did not implement "execute"'
         | 
| 67 | 
            -
                end
         | 
| 9 | 
            +
              # All activity related classes.
         | 
| 10 | 
            +
              module Activity
         | 
| 68 11 | 
             
              end
         | 
| 69 12 | 
             
            end
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 3 | 
            +
            # source: temporal/api/activity/v1/message.proto
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            require 'google/protobuf'
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            require 'temporalio/api/common/v1/message'
         | 
| 8 | 
            +
            require 'temporalio/api/taskqueue/v1/message'
         | 
| 9 | 
            +
            require 'google/protobuf/duration_pb'
         | 
| 10 | 
            +
             | 
| 11 | 
            +
             | 
| 12 | 
            +
            descriptor_data = "\n&temporal/api/activity/v1/message.proto\x12\x18temporal.api.activity.v1\x1a$temporal/api/common/v1/message.proto\x1a\'temporal/api/taskqueue/v1/message.proto\x1a\x1egoogle/protobuf/duration.proto\"\xf3\x02\n\x0f\x41\x63tivityOptions\x12\x38\n\ntask_queue\x18\x01 \x01(\x0b\x32$.temporal.api.taskqueue.v1.TaskQueue\x12<\n\x19schedule_to_close_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x06 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicyB\x93\x01\n\x1bio.temporal.api.activity.v1B\x0cMessageProtoP\x01Z\'go.temporal.io/api/activity/v1;activity\xaa\x02\x1aTemporalio.Api.Activity.V1\xea\x02\x1dTemporalio::Api::Activity::V1b\x06proto3"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 15 | 
            +
            pool.add_serialized_file(descriptor_data)
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            module Temporalio
         | 
| 18 | 
            +
              module Api
         | 
| 19 | 
            +
                module Activity
         | 
| 20 | 
            +
                  module V1
         | 
| 21 | 
            +
                    ActivityOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.activity.v1.ActivityOptions").msgclass
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -4,13 +4,16 @@ | |
| 4 4 |  | 
| 5 5 | 
             
            require 'google/protobuf'
         | 
| 6 6 |  | 
| 7 | 
            +
            require 'google/protobuf/duration_pb'
         | 
| 8 | 
            +
            require 'google/protobuf/field_mask_pb'
         | 
| 7 9 | 
             
            require 'google/protobuf/timestamp_pb'
         | 
| 8 10 | 
             
            require 'temporalio/api/common/v1/message'
         | 
| 9 11 | 
             
            require 'temporalio/api/enums/v1/batch_operation'
         | 
| 10 12 | 
             
            require 'temporalio/api/enums/v1/reset'
         | 
| 13 | 
            +
            require 'temporalio/api/workflow/v1/message'
         | 
| 11 14 |  | 
| 12 15 |  | 
| 13 | 
            -
            descriptor_data = "\n#temporal/api/batch/v1/message.proto\x12\x15temporal.api.batch.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a+temporal/api/enums/v1/batch_operation.proto\x1a!temporal/api/enums/v1/reset.proto\"\xbf\x01\n\x12\x42\x61tchOperationInfo\x12\x0e\n\x06job_id\x18\x01 \x01(\t\x12\x39\n\x05state\x18\x02 \x01(\x0e\x32*.temporal.api.enums.v1.BatchOperationState\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\"`\n\x19\x42\x61tchOperationTermination\x12\x31\n\x07\x64\x65tails\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x02 \x01(\t\"\x99\x01\n\x14\x42\x61tchOperationSignal\x12\x0e\n\x06signal\x18\x01 \x01(\t\x12/\n\x05input\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12.\n\x06header\x18\x03 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x10\n\x08identity\x18\x04 \x01(\t\".\n\x1a\x42\x61tchOperationCancellation\x12\x10\n\x08identity\x18\x01 \x01(\t\"*\n\x16\x42\x61tchOperationDeletion\x12\x10\n\x08identity\x18\x01 \x01(\t\"\xd9\x01\n\x13\x42\x61tchOperationReset\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x35\n\x07options\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.ResetOptions\x12\x34\n\nreset_type\x18\x01 \x01(\x0e\x32 .temporal.api.enums.v1.ResetType\x12\x43\n\x12reset_reapply_type\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1. | 
| 16 | 
            +
            descriptor_data = "\n#temporal/api/batch/v1/message.proto\x12\x15temporal.api.batch.v1\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a+temporal/api/enums/v1/batch_operation.proto\x1a!temporal/api/enums/v1/reset.proto\x1a&temporal/api/workflow/v1/message.proto\"\xbf\x01\n\x12\x42\x61tchOperationInfo\x12\x0e\n\x06job_id\x18\x01 \x01(\t\x12\x39\n\x05state\x18\x02 \x01(\x0e\x32*.temporal.api.enums.v1.BatchOperationState\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\"`\n\x19\x42\x61tchOperationTermination\x12\x31\n\x07\x64\x65tails\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x10\n\x08identity\x18\x02 \x01(\t\"\x99\x01\n\x14\x42\x61tchOperationSignal\x12\x0e\n\x06signal\x18\x01 \x01(\t\x12/\n\x05input\x18\x02 \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12.\n\x06header\x18\x03 \x01(\x0b\x32\x1e.temporal.api.common.v1.Header\x12\x10\n\x08identity\x18\x04 \x01(\t\".\n\x1a\x42\x61tchOperationCancellation\x12\x10\n\x08identity\x18\x01 \x01(\t\"*\n\x16\x42\x61tchOperationDeletion\x12\x10\n\x08identity\x18\x01 \x01(\t\"\xd9\x01\n\x13\x42\x61tchOperationReset\x12\x10\n\x08identity\x18\x03 \x01(\t\x12\x35\n\x07options\x18\x04 \x01(\x0b\x32$.temporal.api.common.v1.ResetOptions\x12\x34\n\nreset_type\x18\x01 \x01(\x0e\x32 .temporal.api.enums.v1.ResetType\x12\x43\n\x12reset_reapply_type\x18\x02 \x01(\x0e\x32\'.temporal.api.enums.v1.ResetReapplyType\"\xc9\x01\n,BatchOperationUpdateWorkflowExecutionOptions\x12\x10\n\x08identity\x18\x01 \x01(\t\x12V\n\x1aworkflow_execution_options\x18\x02 \x01(\x0b\x32\x32.temporal.api.workflow.v1.WorkflowExecutionOptions\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xc0\x01\n\x1f\x42\x61tchOperationUnpauseActivities\x12\x10\n\x08identity\x18\x01 \x01(\t\x12\x0e\n\x04type\x18\x02 \x01(\tH\x00\x12\x13\n\tmatch_all\x18\x03 \x01(\x08H\x00\x12\x16\n\x0ereset_attempts\x18\x04 \x01(\x08\x12\x17\n\x0freset_heartbeat\x18\x05 \x01(\x08\x12)\n\x06jitter\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\n\n\x08\x61\x63tivityB\x84\x01\n\x18io.temporal.api.batch.v1B\x0cMessageProtoP\x01Z!go.temporal.io/api/batch/v1;batch\xaa\x02\x17Temporalio.Api.Batch.V1\xea\x02\x1aTemporalio::Api::Batch::V1b\x06proto3"
         | 
| 14 17 |  | 
| 15 18 | 
             
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 16 19 | 
             
            pool.add_serialized_file(descriptor_data)
         | 
| @@ -25,6 +28,8 @@ module Temporalio | |
| 25 28 | 
             
                    BatchOperationCancellation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.batch.v1.BatchOperationCancellation").msgclass
         | 
| 26 29 | 
             
                    BatchOperationDeletion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.batch.v1.BatchOperationDeletion").msgclass
         | 
| 27 30 | 
             
                    BatchOperationReset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.batch.v1.BatchOperationReset").msgclass
         | 
| 31 | 
            +
                    BatchOperationUpdateWorkflowExecutionOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions").msgclass
         | 
| 32 | 
            +
                    BatchOperationUnpauseActivities = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.batch.v1.BatchOperationUnpauseActivities").msgclass
         | 
| 28 33 | 
             
                  end
         | 
| 29 34 | 
             
                end
         | 
| 30 35 | 
             
              end
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 3 | 
            +
            # source: temporal/api/cloud/account/v1/message.proto
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            require 'google/protobuf'
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            require 'temporalio/api/cloud/resource/v1/message'
         | 
| 8 | 
            +
             | 
| 9 | 
            +
             | 
| 10 | 
            +
            descriptor_data = "\n+temporal/api/cloud/account/v1/message.proto\x12\x1dtemporal.api.cloud.account.v1\x1a,temporal/api/cloud/resource/v1/message.proto\")\n\x0bMetricsSpec\x12\x1a\n\x12\x61\x63\x63\x65pted_client_ca\x18\x02 \x01(\x0c\"J\n\x0b\x41\x63\x63ountSpec\x12;\n\x07metrics\x18\x01 \x01(\x0b\x32*.temporal.api.cloud.account.v1.MetricsSpec\"\x16\n\x07Metrics\x12\x0b\n\x03uri\x18\x01 \x01(\t\"\xfc\x01\n\x07\x41\x63\x63ount\x12\n\n\x02id\x18\x01 \x01(\t\x12\x38\n\x04spec\x18\x02 \x01(\x0b\x32*.temporal.api.cloud.account.v1.AccountSpec\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12<\n\x05state\x18\x04 \x01(\x0e\x32-.temporal.api.cloud.resource.v1.ResourceState\x12\x1a\n\x12\x61sync_operation_id\x18\x05 \x01(\t\x12\x37\n\x07metrics\x18\x06 \x01(\x0b\x32&.temporal.api.cloud.account.v1.MetricsB\xa7\x01\n io.temporal.api.cloud.account.v1B\x0cMessageProtoP\x01Z+go.temporal.io/api/cloud/account/v1;account\xaa\x02\x1fTemporalio.Api.Cloud.Account.V1\xea\x02#Temporalio::Api::Cloud::Account::V1b\x06proto3"
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 13 | 
            +
            pool.add_serialized_file(descriptor_data)
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            module Temporalio
         | 
| 16 | 
            +
              module Api
         | 
| 17 | 
            +
                module Cloud
         | 
| 18 | 
            +
                  module Account
         | 
| 19 | 
            +
                    module V1
         | 
| 20 | 
            +
                      MetricsSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.account.v1.MetricsSpec").msgclass
         | 
| 21 | 
            +
                      AccountSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.account.v1.AccountSpec").msgclass
         | 
| 22 | 
            +
                      Metrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.account.v1.Metrics").msgclass
         | 
| 23 | 
            +
                      Account = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.account.v1.Account").msgclass
         | 
| 24 | 
            +
                    end
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
| @@ -4,13 +4,17 @@ | |
| 4 4 |  | 
| 5 5 | 
             
            require 'google/protobuf'
         | 
| 6 6 |  | 
| 7 | 
            +
            require 'google/protobuf/timestamp_pb'
         | 
| 7 8 | 
             
            require 'temporalio/api/cloud/operation/v1/message'
         | 
| 8 9 | 
             
            require 'temporalio/api/cloud/identity/v1/message'
         | 
| 9 10 | 
             
            require 'temporalio/api/cloud/namespace/v1/message'
         | 
| 11 | 
            +
            require 'temporalio/api/cloud/nexus/v1/message'
         | 
| 10 12 | 
             
            require 'temporalio/api/cloud/region/v1/message'
         | 
| 13 | 
            +
            require 'temporalio/api/cloud/account/v1/message'
         | 
| 14 | 
            +
            require 'temporalio/api/cloud/usage/v1/message'
         | 
| 11 15 |  | 
| 12 16 |  | 
| 13 | 
            -
            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"
         | 
| 17 | 
            +
            descriptor_data = "\n9temporal/api/cloud/cloudservice/v1/request_response.proto\x12\"temporal.api.cloud.cloudservice.v1\x1a\x1fgoogle/protobuf/timestamp.proto\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/nexus/v1/message.proto\x1a*temporal/api/cloud/region/v1/message.proto\x1a+temporal/api/cloud/account/v1/message.proto\x1a)temporal/api/cloud/usage/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\"\xae\x01\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!\n\x15owner_type_deprecated\x18\x04 \x01(\tB\x02\x18\x01\x12=\n\nowner_type\x18\x05 \x01(\x0e\x32).temporal.api.cloud.identity.v1.OwnerType\"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\"\x87\x01\n\x18GetNexusEndpointsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x1b\n\x13target_namespace_id\x18\x03 \x01(\t\x12\x19\n\x11target_task_queue\x18\x04 \x01(\t\x12\x0c\n\x04name\x18\x05 \x01(\t\"n\n\x19GetNexusEndpointsResponse\x12\x38\n\tendpoints\x18\x01 \x03(\x0b\x32%.temporal.api.cloud.nexus.v1.Endpoint\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\".\n\x17GetNexusEndpointRequest\x12\x13\n\x0b\x65ndpoint_id\x18\x01 \x01(\t\"S\n\x18GetNexusEndpointResponse\x12\x37\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32%.temporal.api.cloud.nexus.v1.Endpoint\"q\n\x1a\x43reateNexusEndpointRequest\x12\x37\n\x04spec\x18\x01 \x01(\x0b\x32).temporal.api.cloud.nexus.v1.EndpointSpec\x12\x1a\n\x12\x61sync_operation_id\x18\x02 \x01(\t\"|\n\x1b\x43reateNexusEndpointResponse\x12\x13\n\x0b\x65ndpoint_id\x18\x01 \x01(\t\x12H\n\x0f\x61sync_operation\x18\x02 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\xa0\x01\n\x1aUpdateNexusEndpointRequest\x12\x13\n\x0b\x65ndpoint_id\x18\x01 \x01(\t\x12\x37\n\x04spec\x18\x02 \x01(\x0b\x32).temporal.api.cloud.nexus.v1.EndpointSpec\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x04 \x01(\t\"g\n\x1bUpdateNexusEndpointResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"g\n\x1a\x44\x65leteNexusEndpointRequest\x12\x13\n\x0b\x65ndpoint_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\"g\n\x1b\x44\x65leteNexusEndpointResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\xf4\x01\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\x14\n\x0c\x64isplay_name\x18\x04 \x01(\t\x12`\n\x0cgoogle_group\x18\x05 \x01(\x0b\x32J.temporal.api.cloud.cloudservice.v1.GetUserGroupsRequest.GoogleGroupFilter\x1a*\n\x11GoogleGroupFilter\x12\x15\n\remail_address\x18\x01 \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.AsyncOperation\"\xaa\x01\n\x0fGetUsageRequest\x12\x38\n\x14start_time_inclusive\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12\x65nd_time_exclusive\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"d\n\x10GetUsageResponse\x12\x37\n\tsummaries\x18\x01 \x03(\x0b\x32$.temporal.api.cloud.usage.v1.Summary\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x13\n\x11GetAccountRequest\"M\n\x12GetAccountResponse\x12\x37\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32&.temporal.api.cloud.account.v1.Account\"\x86\x01\n\x14UpdateAccountRequest\x12\x38\n\x04spec\x18\x01 \x01(\x0b\x32*.temporal.api.cloud.account.v1.AccountSpec\x12\x18\n\x10resource_version\x18\x02 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x03 \x01(\t\"a\n\x15UpdateAccountResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"\x90\x01\n CreateNamespaceExportSinkRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12=\n\x04spec\x18\x02 \x01(\x0b\x32/.temporal.api.cloud.namespace.v1.ExportSinkSpec\x12\x1a\n\x12\x61sync_operation_id\x18\x03 \x01(\t\"m\n!CreateNamespaceExportSinkResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"@\n\x1dGetNamespaceExportSinkRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"[\n\x1eGetNamespaceExportSinkResponse\x12\x39\n\x04sink\x18\x01 \x01(\x0b\x32+.temporal.api.cloud.namespace.v1.ExportSink\"Z\n\x1eGetNamespaceExportSinksRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"v\n\x1fGetNamespaceExportSinksResponse\x12:\n\x05sinks\x18\x01 \x03(\x0b\x32+.temporal.api.cloud.namespace.v1.ExportSink\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xaa\x01\n UpdateNamespaceExportSinkRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12=\n\x04spec\x18\x02 \x01(\x0b\x32/.temporal.api.cloud.namespace.v1.ExportSinkSpec\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x04 \x01(\t\"m\n!UpdateNamespaceExportSinkResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"y\n DeleteNamespaceExportSinkRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x18\n\x10resource_version\x18\x03 \x01(\t\x12\x1a\n\x12\x61sync_operation_id\x18\x04 \x01(\t\"m\n!DeleteNamespaceExportSinkResponse\x12H\n\x0f\x61sync_operation\x18\x01 \x01(\x0b\x32/.temporal.api.cloud.operation.v1.AsyncOperation\"v\n\"ValidateNamespaceExportSinkRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12=\n\x04spec\x18\x02 \x01(\x0b\x32/.temporal.api.cloud.namespace.v1.ExportSinkSpec\"%\n#ValidateNamespaceExportSinkResponseB\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"
         | 
| 14 18 |  | 
| 15 19 | 
             
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 16 20 | 
             
            pool.add_serialized_file(descriptor_data)
         | 
| @@ -64,7 +68,18 @@ module Temporalio | |
| 64 68 | 
             
                      UpdateApiKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateApiKeyResponse").msgclass
         | 
| 65 69 | 
             
                      DeleteApiKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteApiKeyRequest").msgclass
         | 
| 66 70 | 
             
                      DeleteApiKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteApiKeyResponse").msgclass
         | 
| 71 | 
            +
                      GetNexusEndpointsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNexusEndpointsRequest").msgclass
         | 
| 72 | 
            +
                      GetNexusEndpointsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNexusEndpointsResponse").msgclass
         | 
| 73 | 
            +
                      GetNexusEndpointRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNexusEndpointRequest").msgclass
         | 
| 74 | 
            +
                      GetNexusEndpointResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNexusEndpointResponse").msgclass
         | 
| 75 | 
            +
                      CreateNexusEndpointRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateNexusEndpointRequest").msgclass
         | 
| 76 | 
            +
                      CreateNexusEndpointResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateNexusEndpointResponse").msgclass
         | 
| 77 | 
            +
                      UpdateNexusEndpointRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateNexusEndpointRequest").msgclass
         | 
| 78 | 
            +
                      UpdateNexusEndpointResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateNexusEndpointResponse").msgclass
         | 
| 79 | 
            +
                      DeleteNexusEndpointRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteNexusEndpointRequest").msgclass
         | 
| 80 | 
            +
                      DeleteNexusEndpointResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteNexusEndpointResponse").msgclass
         | 
| 67 81 | 
             
                      GetUserGroupsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserGroupsRequest").msgclass
         | 
| 82 | 
            +
                      GetUserGroupsRequest::GoogleGroupFilter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserGroupsRequest.GoogleGroupFilter").msgclass
         | 
| 68 83 | 
             
                      GetUserGroupsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserGroupsResponse").msgclass
         | 
| 69 84 | 
             
                      GetUserGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserGroupRequest").msgclass
         | 
| 70 85 | 
             
                      GetUserGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUserGroupResponse").msgclass
         | 
| @@ -86,6 +101,24 @@ module Temporalio | |
| 86 101 | 
             
                      UpdateServiceAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateServiceAccountResponse").msgclass
         | 
| 87 102 | 
             
                      DeleteServiceAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteServiceAccountRequest").msgclass
         | 
| 88 103 | 
             
                      DeleteServiceAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteServiceAccountResponse").msgclass
         | 
| 104 | 
            +
                      GetUsageRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUsageRequest").msgclass
         | 
| 105 | 
            +
                      GetUsageResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetUsageResponse").msgclass
         | 
| 106 | 
            +
                      GetAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetAccountRequest").msgclass
         | 
| 107 | 
            +
                      GetAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetAccountResponse").msgclass
         | 
| 108 | 
            +
                      UpdateAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateAccountRequest").msgclass
         | 
| 109 | 
            +
                      UpdateAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateAccountResponse").msgclass
         | 
| 110 | 
            +
                      CreateNamespaceExportSinkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateNamespaceExportSinkRequest").msgclass
         | 
| 111 | 
            +
                      CreateNamespaceExportSinkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.CreateNamespaceExportSinkResponse").msgclass
         | 
| 112 | 
            +
                      GetNamespaceExportSinkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNamespaceExportSinkRequest").msgclass
         | 
| 113 | 
            +
                      GetNamespaceExportSinkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNamespaceExportSinkResponse").msgclass
         | 
| 114 | 
            +
                      GetNamespaceExportSinksRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNamespaceExportSinksRequest").msgclass
         | 
| 115 | 
            +
                      GetNamespaceExportSinksResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.GetNamespaceExportSinksResponse").msgclass
         | 
| 116 | 
            +
                      UpdateNamespaceExportSinkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateNamespaceExportSinkRequest").msgclass
         | 
| 117 | 
            +
                      UpdateNamespaceExportSinkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.UpdateNamespaceExportSinkResponse").msgclass
         | 
| 118 | 
            +
                      DeleteNamespaceExportSinkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteNamespaceExportSinkRequest").msgclass
         | 
| 119 | 
            +
                      DeleteNamespaceExportSinkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.DeleteNamespaceExportSinkResponse").msgclass
         | 
| 120 | 
            +
                      ValidateNamespaceExportSinkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.ValidateNamespaceExportSinkRequest").msgclass
         | 
| 121 | 
            +
                      ValidateNamespaceExportSinkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.api.cloud.cloudservice.v1.ValidateNamespaceExportSinkResponse").msgclass
         | 
| 89 122 | 
             
                    end
         | 
| 90 123 | 
             
                  end
         | 
| 91 124 | 
             
                end
         |