class Temporalio::Client::Schedule::Action::StartWorkflow

def _to_proto(data_converter)

@!visibility private
def _to_proto(data_converter)
  Api::Schedule::V1::ScheduleAction.new(
    start_workflow: Api::Workflow::V1::NewWorkflowExecutionInfo.new(
      workflow_id: id,
      workflow_type: Api::Common::V1::WorkflowType.new(name: workflow),
      task_queue: Api::TaskQueue::V1::TaskQueue.new(name: task_queue),
      input: data_converter.to_payloads(args),
      workflow_execution_timeout: Internal::ProtoUtils.seconds_to_duration(execution_timeout),
      workflow_run_timeout: Internal::ProtoUtils.seconds_to_duration(run_timeout),
      workflow_task_timeout: Internal::ProtoUtils.seconds_to_duration(task_timeout),
      retry_policy: retry_policy&._to_proto,
      memo: Internal::ProtoUtils.memo_to_proto(memo, data_converter),
      search_attributes: search_attributes&._to_proto,
      header: Internal::ProtoUtils.headers_to_proto(headers, data_converter)
    )
  )
end