...

Source file src/google.golang.org/genproto/googleapis/cloud/batch/v1alpha1/task.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/batch/v1alpha1

     1  // Copyright 2022 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v3.12.2
    19  // source: google/cloud/batch/v1alpha1/task.proto
    20  
    21  package batch
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	_ "google.golang.org/genproto/googleapis/api/annotations"
    28  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    29  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    30  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    31  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    32  )
    33  
    34  const (
    35  	// Verify that this generated code is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    37  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    39  )
    40  
    41  // Task states.
    42  type TaskStatus_State int32
    43  
    44  const (
    45  	// unknown state
    46  	TaskStatus_STATE_UNSPECIFIED TaskStatus_State = 0
    47  	// The Task is created and waiting for resources.
    48  	TaskStatus_PENDING TaskStatus_State = 1
    49  	// The Task is assigned to at least one VM.
    50  	TaskStatus_ASSIGNED TaskStatus_State = 2
    51  	// The Task is running.
    52  	TaskStatus_RUNNING TaskStatus_State = 3
    53  	// The Task has failed.
    54  	TaskStatus_FAILED TaskStatus_State = 4
    55  	// The Task has succeeded.
    56  	TaskStatus_SUCCEEDED TaskStatus_State = 5
    57  )
    58  
    59  // Enum value maps for TaskStatus_State.
    60  var (
    61  	TaskStatus_State_name = map[int32]string{
    62  		0: "STATE_UNSPECIFIED",
    63  		1: "PENDING",
    64  		2: "ASSIGNED",
    65  		3: "RUNNING",
    66  		4: "FAILED",
    67  		5: "SUCCEEDED",
    68  	}
    69  	TaskStatus_State_value = map[string]int32{
    70  		"STATE_UNSPECIFIED": 0,
    71  		"PENDING":           1,
    72  		"ASSIGNED":          2,
    73  		"RUNNING":           3,
    74  		"FAILED":            4,
    75  		"SUCCEEDED":         5,
    76  	}
    77  )
    78  
    79  func (x TaskStatus_State) Enum() *TaskStatus_State {
    80  	p := new(TaskStatus_State)
    81  	*p = x
    82  	return p
    83  }
    84  
    85  func (x TaskStatus_State) String() string {
    86  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    87  }
    88  
    89  func (TaskStatus_State) Descriptor() protoreflect.EnumDescriptor {
    90  	return file_google_cloud_batch_v1alpha1_task_proto_enumTypes[0].Descriptor()
    91  }
    92  
    93  func (TaskStatus_State) Type() protoreflect.EnumType {
    94  	return &file_google_cloud_batch_v1alpha1_task_proto_enumTypes[0]
    95  }
    96  
    97  func (x TaskStatus_State) Number() protoreflect.EnumNumber {
    98  	return protoreflect.EnumNumber(x)
    99  }
   100  
   101  // Deprecated: Use TaskStatus_State.Descriptor instead.
   102  func (TaskStatus_State) EnumDescriptor() ([]byte, []int) {
   103  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{3, 0}
   104  }
   105  
   106  // Action on task failures based on different conditions.
   107  type LifecyclePolicy_Action int32
   108  
   109  const (
   110  	// Action unspecified.
   111  	LifecyclePolicy_ACTION_UNSPECIFIED LifecyclePolicy_Action = 0
   112  	// Action that tasks in the group will be scheduled to re-execute.
   113  	LifecyclePolicy_RETRY_TASK LifecyclePolicy_Action = 1
   114  	// Action that tasks in the group will be stopped immediately.
   115  	LifecyclePolicy_FAIL_TASK LifecyclePolicy_Action = 2
   116  )
   117  
   118  // Enum value maps for LifecyclePolicy_Action.
   119  var (
   120  	LifecyclePolicy_Action_name = map[int32]string{
   121  		0: "ACTION_UNSPECIFIED",
   122  		1: "RETRY_TASK",
   123  		2: "FAIL_TASK",
   124  	}
   125  	LifecyclePolicy_Action_value = map[string]int32{
   126  		"ACTION_UNSPECIFIED": 0,
   127  		"RETRY_TASK":         1,
   128  		"FAIL_TASK":          2,
   129  	}
   130  )
   131  
   132  func (x LifecyclePolicy_Action) Enum() *LifecyclePolicy_Action {
   133  	p := new(LifecyclePolicy_Action)
   134  	*p = x
   135  	return p
   136  }
   137  
   138  func (x LifecyclePolicy_Action) String() string {
   139  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   140  }
   141  
   142  func (LifecyclePolicy_Action) Descriptor() protoreflect.EnumDescriptor {
   143  	return file_google_cloud_batch_v1alpha1_task_proto_enumTypes[1].Descriptor()
   144  }
   145  
   146  func (LifecyclePolicy_Action) Type() protoreflect.EnumType {
   147  	return &file_google_cloud_batch_v1alpha1_task_proto_enumTypes[1]
   148  }
   149  
   150  func (x LifecyclePolicy_Action) Number() protoreflect.EnumNumber {
   151  	return protoreflect.EnumNumber(x)
   152  }
   153  
   154  // Deprecated: Use LifecyclePolicy_Action.Descriptor instead.
   155  func (LifecyclePolicy_Action) EnumDescriptor() ([]byte, []int) {
   156  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{6, 0}
   157  }
   158  
   159  // Compute resource requirements
   160  type ComputeResource struct {
   161  	state         protoimpl.MessageState
   162  	sizeCache     protoimpl.SizeCache
   163  	unknownFields protoimpl.UnknownFields
   164  
   165  	// The milliCPU count.
   166  	CpuMilli int64 `protobuf:"varint,1,opt,name=cpu_milli,json=cpuMilli,proto3" json:"cpu_milli,omitempty"`
   167  	// Memory in MiB.
   168  	MemoryMib int64 `protobuf:"varint,2,opt,name=memory_mib,json=memoryMib,proto3" json:"memory_mib,omitempty"`
   169  	// The GPU count.
   170  	GpuCount int64 `protobuf:"varint,3,opt,name=gpu_count,json=gpuCount,proto3" json:"gpu_count,omitempty"`
   171  	// Boot disk size in MiB
   172  	BootDiskMib int64 `protobuf:"varint,4,opt,name=boot_disk_mib,json=bootDiskMib,proto3" json:"boot_disk_mib,omitempty"`
   173  }
   174  
   175  func (x *ComputeResource) Reset() {
   176  	*x = ComputeResource{}
   177  	if protoimpl.UnsafeEnabled {
   178  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[0]
   179  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   180  		ms.StoreMessageInfo(mi)
   181  	}
   182  }
   183  
   184  func (x *ComputeResource) String() string {
   185  	return protoimpl.X.MessageStringOf(x)
   186  }
   187  
   188  func (*ComputeResource) ProtoMessage() {}
   189  
   190  func (x *ComputeResource) ProtoReflect() protoreflect.Message {
   191  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[0]
   192  	if protoimpl.UnsafeEnabled && x != nil {
   193  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   194  		if ms.LoadMessageInfo() == nil {
   195  			ms.StoreMessageInfo(mi)
   196  		}
   197  		return ms
   198  	}
   199  	return mi.MessageOf(x)
   200  }
   201  
   202  // Deprecated: Use ComputeResource.ProtoReflect.Descriptor instead.
   203  func (*ComputeResource) Descriptor() ([]byte, []int) {
   204  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{0}
   205  }
   206  
   207  func (x *ComputeResource) GetCpuMilli() int64 {
   208  	if x != nil {
   209  		return x.CpuMilli
   210  	}
   211  	return 0
   212  }
   213  
   214  func (x *ComputeResource) GetMemoryMib() int64 {
   215  	if x != nil {
   216  		return x.MemoryMib
   217  	}
   218  	return 0
   219  }
   220  
   221  func (x *ComputeResource) GetGpuCount() int64 {
   222  	if x != nil {
   223  		return x.GpuCount
   224  	}
   225  	return 0
   226  }
   227  
   228  func (x *ComputeResource) GetBootDiskMib() int64 {
   229  	if x != nil {
   230  		return x.BootDiskMib
   231  	}
   232  	return 0
   233  }
   234  
   235  // Status event
   236  type StatusEvent struct {
   237  	state         protoimpl.MessageState
   238  	sizeCache     protoimpl.SizeCache
   239  	unknownFields protoimpl.UnknownFields
   240  
   241  	// Type of the event.
   242  	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
   243  	// Description of the event.
   244  	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
   245  	// The time this event occurred.
   246  	EventTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"`
   247  	// Task Execution
   248  	TaskExecution *TaskExecution `protobuf:"bytes,4,opt,name=task_execution,json=taskExecution,proto3" json:"task_execution,omitempty"`
   249  }
   250  
   251  func (x *StatusEvent) Reset() {
   252  	*x = StatusEvent{}
   253  	if protoimpl.UnsafeEnabled {
   254  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[1]
   255  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   256  		ms.StoreMessageInfo(mi)
   257  	}
   258  }
   259  
   260  func (x *StatusEvent) String() string {
   261  	return protoimpl.X.MessageStringOf(x)
   262  }
   263  
   264  func (*StatusEvent) ProtoMessage() {}
   265  
   266  func (x *StatusEvent) ProtoReflect() protoreflect.Message {
   267  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[1]
   268  	if protoimpl.UnsafeEnabled && x != nil {
   269  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   270  		if ms.LoadMessageInfo() == nil {
   271  			ms.StoreMessageInfo(mi)
   272  		}
   273  		return ms
   274  	}
   275  	return mi.MessageOf(x)
   276  }
   277  
   278  // Deprecated: Use StatusEvent.ProtoReflect.Descriptor instead.
   279  func (*StatusEvent) Descriptor() ([]byte, []int) {
   280  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{1}
   281  }
   282  
   283  func (x *StatusEvent) GetType() string {
   284  	if x != nil {
   285  		return x.Type
   286  	}
   287  	return ""
   288  }
   289  
   290  func (x *StatusEvent) GetDescription() string {
   291  	if x != nil {
   292  		return x.Description
   293  	}
   294  	return ""
   295  }
   296  
   297  func (x *StatusEvent) GetEventTime() *timestamppb.Timestamp {
   298  	if x != nil {
   299  		return x.EventTime
   300  	}
   301  	return nil
   302  }
   303  
   304  func (x *StatusEvent) GetTaskExecution() *TaskExecution {
   305  	if x != nil {
   306  		return x.TaskExecution
   307  	}
   308  	return nil
   309  }
   310  
   311  // This Task Execution field includes detail information for
   312  // task execution procedures, based on StatusEvent types.
   313  type TaskExecution struct {
   314  	state         protoimpl.MessageState
   315  	sizeCache     protoimpl.SizeCache
   316  	unknownFields protoimpl.UnknownFields
   317  
   318  	// When task is completed as the status of FAILED or SUCCEEDED,
   319  	// exit code is for one task execution result, default is 0 as success.
   320  	ExitCode int32 `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
   321  }
   322  
   323  func (x *TaskExecution) Reset() {
   324  	*x = TaskExecution{}
   325  	if protoimpl.UnsafeEnabled {
   326  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[2]
   327  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   328  		ms.StoreMessageInfo(mi)
   329  	}
   330  }
   331  
   332  func (x *TaskExecution) String() string {
   333  	return protoimpl.X.MessageStringOf(x)
   334  }
   335  
   336  func (*TaskExecution) ProtoMessage() {}
   337  
   338  func (x *TaskExecution) ProtoReflect() protoreflect.Message {
   339  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[2]
   340  	if protoimpl.UnsafeEnabled && x != nil {
   341  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   342  		if ms.LoadMessageInfo() == nil {
   343  			ms.StoreMessageInfo(mi)
   344  		}
   345  		return ms
   346  	}
   347  	return mi.MessageOf(x)
   348  }
   349  
   350  // Deprecated: Use TaskExecution.ProtoReflect.Descriptor instead.
   351  func (*TaskExecution) Descriptor() ([]byte, []int) {
   352  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{2}
   353  }
   354  
   355  func (x *TaskExecution) GetExitCode() int32 {
   356  	if x != nil {
   357  		return x.ExitCode
   358  	}
   359  	return 0
   360  }
   361  
   362  // Status of a task
   363  type TaskStatus struct {
   364  	state         protoimpl.MessageState
   365  	sizeCache     protoimpl.SizeCache
   366  	unknownFields protoimpl.UnknownFields
   367  
   368  	// Task state
   369  	State TaskStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.batch.v1alpha1.TaskStatus_State" json:"state,omitempty"`
   370  	// Detailed info about why the state is reached.
   371  	StatusEvents []*StatusEvent `protobuf:"bytes,2,rep,name=status_events,json=statusEvents,proto3" json:"status_events,omitempty"`
   372  }
   373  
   374  func (x *TaskStatus) Reset() {
   375  	*x = TaskStatus{}
   376  	if protoimpl.UnsafeEnabled {
   377  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[3]
   378  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   379  		ms.StoreMessageInfo(mi)
   380  	}
   381  }
   382  
   383  func (x *TaskStatus) String() string {
   384  	return protoimpl.X.MessageStringOf(x)
   385  }
   386  
   387  func (*TaskStatus) ProtoMessage() {}
   388  
   389  func (x *TaskStatus) ProtoReflect() protoreflect.Message {
   390  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[3]
   391  	if protoimpl.UnsafeEnabled && x != nil {
   392  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   393  		if ms.LoadMessageInfo() == nil {
   394  			ms.StoreMessageInfo(mi)
   395  		}
   396  		return ms
   397  	}
   398  	return mi.MessageOf(x)
   399  }
   400  
   401  // Deprecated: Use TaskStatus.ProtoReflect.Descriptor instead.
   402  func (*TaskStatus) Descriptor() ([]byte, []int) {
   403  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{3}
   404  }
   405  
   406  func (x *TaskStatus) GetState() TaskStatus_State {
   407  	if x != nil {
   408  		return x.State
   409  	}
   410  	return TaskStatus_STATE_UNSPECIFIED
   411  }
   412  
   413  func (x *TaskStatus) GetStatusEvents() []*StatusEvent {
   414  	if x != nil {
   415  		return x.StatusEvents
   416  	}
   417  	return nil
   418  }
   419  
   420  // Runnable describes instructions for executing a specific script or container
   421  // as part of a Task.
   422  type Runnable struct {
   423  	state         protoimpl.MessageState
   424  	sizeCache     protoimpl.SizeCache
   425  	unknownFields protoimpl.UnknownFields
   426  
   427  	// The script or container to run.
   428  	//
   429  	// Types that are assignable to Executable:
   430  	//	*Runnable_Container_
   431  	//	*Runnable_Script_
   432  	//	*Runnable_Barrier_
   433  	Executable isRunnable_Executable `protobuf_oneof:"executable"`
   434  	// Normally, a non-zero exit status causes the Task to fail. This flag allows
   435  	// execution of other Runnables to continue instead.
   436  	IgnoreExitStatus bool `protobuf:"varint,3,opt,name=ignore_exit_status,json=ignoreExitStatus,proto3" json:"ignore_exit_status,omitempty"`
   437  	// This flag allows a Runnable to continue running in the background while the
   438  	// Task executes subsequent Runnables. This is useful to provide services to
   439  	// other Runnables (or to provide debugging support tools like SSH servers).
   440  	Background bool `protobuf:"varint,4,opt,name=background,proto3" json:"background,omitempty"`
   441  	// By default, after a Runnable fails, no further Runnable are executed. This
   442  	// flag indicates that this Runnable must be run even if the Task has already
   443  	// failed. This is useful for Runnables that copy output files off of the VM
   444  	// or for debugging.
   445  	//
   446  	// The always_run flag does not override the Task's overall max_run_duration.
   447  	// If the max_run_duration has expired then no further Runnables will execute,
   448  	// not even always_run Runnables.
   449  	AlwaysRun bool `protobuf:"varint,5,opt,name=always_run,json=alwaysRun,proto3" json:"always_run,omitempty"`
   450  }
   451  
   452  func (x *Runnable) Reset() {
   453  	*x = Runnable{}
   454  	if protoimpl.UnsafeEnabled {
   455  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[4]
   456  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   457  		ms.StoreMessageInfo(mi)
   458  	}
   459  }
   460  
   461  func (x *Runnable) String() string {
   462  	return protoimpl.X.MessageStringOf(x)
   463  }
   464  
   465  func (*Runnable) ProtoMessage() {}
   466  
   467  func (x *Runnable) ProtoReflect() protoreflect.Message {
   468  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[4]
   469  	if protoimpl.UnsafeEnabled && x != nil {
   470  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   471  		if ms.LoadMessageInfo() == nil {
   472  			ms.StoreMessageInfo(mi)
   473  		}
   474  		return ms
   475  	}
   476  	return mi.MessageOf(x)
   477  }
   478  
   479  // Deprecated: Use Runnable.ProtoReflect.Descriptor instead.
   480  func (*Runnable) Descriptor() ([]byte, []int) {
   481  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{4}
   482  }
   483  
   484  func (m *Runnable) GetExecutable() isRunnable_Executable {
   485  	if m != nil {
   486  		return m.Executable
   487  	}
   488  	return nil
   489  }
   490  
   491  func (x *Runnable) GetContainer() *Runnable_Container {
   492  	if x, ok := x.GetExecutable().(*Runnable_Container_); ok {
   493  		return x.Container
   494  	}
   495  	return nil
   496  }
   497  
   498  func (x *Runnable) GetScript() *Runnable_Script {
   499  	if x, ok := x.GetExecutable().(*Runnable_Script_); ok {
   500  		return x.Script
   501  	}
   502  	return nil
   503  }
   504  
   505  func (x *Runnable) GetBarrier() *Runnable_Barrier {
   506  	if x, ok := x.GetExecutable().(*Runnable_Barrier_); ok {
   507  		return x.Barrier
   508  	}
   509  	return nil
   510  }
   511  
   512  func (x *Runnable) GetIgnoreExitStatus() bool {
   513  	if x != nil {
   514  		return x.IgnoreExitStatus
   515  	}
   516  	return false
   517  }
   518  
   519  func (x *Runnable) GetBackground() bool {
   520  	if x != nil {
   521  		return x.Background
   522  	}
   523  	return false
   524  }
   525  
   526  func (x *Runnable) GetAlwaysRun() bool {
   527  	if x != nil {
   528  		return x.AlwaysRun
   529  	}
   530  	return false
   531  }
   532  
   533  type isRunnable_Executable interface {
   534  	isRunnable_Executable()
   535  }
   536  
   537  type Runnable_Container_ struct {
   538  	// Container runnable.
   539  	Container *Runnable_Container `protobuf:"bytes,1,opt,name=container,proto3,oneof"`
   540  }
   541  
   542  type Runnable_Script_ struct {
   543  	// Script runnable.
   544  	Script *Runnable_Script `protobuf:"bytes,2,opt,name=script,proto3,oneof"`
   545  }
   546  
   547  type Runnable_Barrier_ struct {
   548  	// Barrier runnable.
   549  	Barrier *Runnable_Barrier `protobuf:"bytes,6,opt,name=barrier,proto3,oneof"`
   550  }
   551  
   552  func (*Runnable_Container_) isRunnable_Executable() {}
   553  
   554  func (*Runnable_Script_) isRunnable_Executable() {}
   555  
   556  func (*Runnable_Barrier_) isRunnable_Executable() {}
   557  
   558  // Spec of a task
   559  type TaskSpec struct {
   560  	state         protoimpl.MessageState
   561  	sizeCache     protoimpl.SizeCache
   562  	unknownFields protoimpl.UnknownFields
   563  
   564  	// The sequence of scripts or containers to run for this Task. Each Task using
   565  	// this TaskSpec executes its list of runnables in order. The Task succeeds if
   566  	// all of its runnables either exit with a zero status or any that exit with a
   567  	// non-zero status have the ignore_exit_status flag.
   568  	//
   569  	// Background runnables are killed automatically (if they have not already
   570  	// exited) a short time after all foreground runnables have completed. Even
   571  	// though this is likely to result in a non-zero exit status for the
   572  	// background runnable, these automatic kills are not treated as Task
   573  	// failures.
   574  	Runnables []*Runnable `protobuf:"bytes,8,rep,name=runnables,proto3" json:"runnables,omitempty"`
   575  	// ComputeResource requirements.
   576  	ComputeResource *ComputeResource `protobuf:"bytes,3,opt,name=compute_resource,json=computeResource,proto3" json:"compute_resource,omitempty"`
   577  	// Maximum duration the task should run.
   578  	// The task will be killed and marked as FAILED if over this limit.
   579  	MaxRunDuration *durationpb.Duration `protobuf:"bytes,4,opt,name=max_run_duration,json=maxRunDuration,proto3" json:"max_run_duration,omitempty"`
   580  	// Maximum number of retries on failures.
   581  	// The default, 0, which means never retry.
   582  	// The valid value range is [0, 10].
   583  	MaxRetryCount int32 `protobuf:"varint,5,opt,name=max_retry_count,json=maxRetryCount,proto3" json:"max_retry_count,omitempty"`
   584  	// Lifecycle management schema when any task in a task group is failed.
   585  	// The valid size of lifecycle policies are [0, 10].
   586  	// For each lifecycle policy, when the condition is met,
   587  	// the action in that policy will be executed.
   588  	// If there are multiple policies that the task execution result matches,
   589  	// we use the action from the first matched policy. If task execution result
   590  	// does not meet with any of the defined lifecycle policy, we consider it as
   591  	// the default policy. Default policy means if the exit code is 0, exit task.
   592  	// If task ends with non-zero exit code, retry the task with max_retry_count.
   593  	LifecyclePolicies []*LifecyclePolicy `protobuf:"bytes,9,rep,name=lifecycle_policies,json=lifecyclePolicies,proto3" json:"lifecycle_policies,omitempty"`
   594  	// Environment variables to set before running the Task.
   595  	// You can set up to 100 environments.
   596  	Environments map[string]string `protobuf:"bytes,6,rep,name=environments,proto3" json:"environments,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   597  	// Volumes to mount before running Tasks using this TaskSpec.
   598  	Volumes []*Volume `protobuf:"bytes,7,rep,name=volumes,proto3" json:"volumes,omitempty"`
   599  }
   600  
   601  func (x *TaskSpec) Reset() {
   602  	*x = TaskSpec{}
   603  	if protoimpl.UnsafeEnabled {
   604  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[5]
   605  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   606  		ms.StoreMessageInfo(mi)
   607  	}
   608  }
   609  
   610  func (x *TaskSpec) String() string {
   611  	return protoimpl.X.MessageStringOf(x)
   612  }
   613  
   614  func (*TaskSpec) ProtoMessage() {}
   615  
   616  func (x *TaskSpec) ProtoReflect() protoreflect.Message {
   617  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[5]
   618  	if protoimpl.UnsafeEnabled && x != nil {
   619  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   620  		if ms.LoadMessageInfo() == nil {
   621  			ms.StoreMessageInfo(mi)
   622  		}
   623  		return ms
   624  	}
   625  	return mi.MessageOf(x)
   626  }
   627  
   628  // Deprecated: Use TaskSpec.ProtoReflect.Descriptor instead.
   629  func (*TaskSpec) Descriptor() ([]byte, []int) {
   630  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{5}
   631  }
   632  
   633  func (x *TaskSpec) GetRunnables() []*Runnable {
   634  	if x != nil {
   635  		return x.Runnables
   636  	}
   637  	return nil
   638  }
   639  
   640  func (x *TaskSpec) GetComputeResource() *ComputeResource {
   641  	if x != nil {
   642  		return x.ComputeResource
   643  	}
   644  	return nil
   645  }
   646  
   647  func (x *TaskSpec) GetMaxRunDuration() *durationpb.Duration {
   648  	if x != nil {
   649  		return x.MaxRunDuration
   650  	}
   651  	return nil
   652  }
   653  
   654  func (x *TaskSpec) GetMaxRetryCount() int32 {
   655  	if x != nil {
   656  		return x.MaxRetryCount
   657  	}
   658  	return 0
   659  }
   660  
   661  func (x *TaskSpec) GetLifecyclePolicies() []*LifecyclePolicy {
   662  	if x != nil {
   663  		return x.LifecyclePolicies
   664  	}
   665  	return nil
   666  }
   667  
   668  func (x *TaskSpec) GetEnvironments() map[string]string {
   669  	if x != nil {
   670  		return x.Environments
   671  	}
   672  	return nil
   673  }
   674  
   675  func (x *TaskSpec) GetVolumes() []*Volume {
   676  	if x != nil {
   677  		return x.Volumes
   678  	}
   679  	return nil
   680  }
   681  
   682  // LifecyclePolicy describes how to deal with task failures
   683  // based on different conditions.
   684  type LifecyclePolicy struct {
   685  	state         protoimpl.MessageState
   686  	sizeCache     protoimpl.SizeCache
   687  	unknownFields protoimpl.UnknownFields
   688  
   689  	// Action to execute when ActionCondition is true.
   690  	Action LifecyclePolicy_Action `protobuf:"varint,1,opt,name=action,proto3,enum=google.cloud.batch.v1alpha1.LifecyclePolicy_Action" json:"action,omitempty"`
   691  	// Conditions that decide why a task failure is dealt with a specific action.
   692  	ActionCondition *LifecyclePolicy_ActionCondition `protobuf:"bytes,2,opt,name=action_condition,json=actionCondition,proto3" json:"action_condition,omitempty"`
   693  }
   694  
   695  func (x *LifecyclePolicy) Reset() {
   696  	*x = LifecyclePolicy{}
   697  	if protoimpl.UnsafeEnabled {
   698  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[6]
   699  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   700  		ms.StoreMessageInfo(mi)
   701  	}
   702  }
   703  
   704  func (x *LifecyclePolicy) String() string {
   705  	return protoimpl.X.MessageStringOf(x)
   706  }
   707  
   708  func (*LifecyclePolicy) ProtoMessage() {}
   709  
   710  func (x *LifecyclePolicy) ProtoReflect() protoreflect.Message {
   711  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[6]
   712  	if protoimpl.UnsafeEnabled && x != nil {
   713  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   714  		if ms.LoadMessageInfo() == nil {
   715  			ms.StoreMessageInfo(mi)
   716  		}
   717  		return ms
   718  	}
   719  	return mi.MessageOf(x)
   720  }
   721  
   722  // Deprecated: Use LifecyclePolicy.ProtoReflect.Descriptor instead.
   723  func (*LifecyclePolicy) Descriptor() ([]byte, []int) {
   724  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{6}
   725  }
   726  
   727  func (x *LifecyclePolicy) GetAction() LifecyclePolicy_Action {
   728  	if x != nil {
   729  		return x.Action
   730  	}
   731  	return LifecyclePolicy_ACTION_UNSPECIFIED
   732  }
   733  
   734  func (x *LifecyclePolicy) GetActionCondition() *LifecyclePolicy_ActionCondition {
   735  	if x != nil {
   736  		return x.ActionCondition
   737  	}
   738  	return nil
   739  }
   740  
   741  // A Cloud Batch task.
   742  type Task struct {
   743  	state         protoimpl.MessageState
   744  	sizeCache     protoimpl.SizeCache
   745  	unknownFields protoimpl.UnknownFields
   746  
   747  	// Task name.
   748  	// The name is generated from the parent TaskGroup name and 'id' field.
   749  	// For example:
   750  	// "projects/123456/locations/us-west1/jobs/job01/taskGroups/group01/tasks/task01".
   751  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   752  	// Task Status.
   753  	Status *TaskStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
   754  }
   755  
   756  func (x *Task) Reset() {
   757  	*x = Task{}
   758  	if protoimpl.UnsafeEnabled {
   759  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[7]
   760  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   761  		ms.StoreMessageInfo(mi)
   762  	}
   763  }
   764  
   765  func (x *Task) String() string {
   766  	return protoimpl.X.MessageStringOf(x)
   767  }
   768  
   769  func (*Task) ProtoMessage() {}
   770  
   771  func (x *Task) ProtoReflect() protoreflect.Message {
   772  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[7]
   773  	if protoimpl.UnsafeEnabled && x != nil {
   774  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   775  		if ms.LoadMessageInfo() == nil {
   776  			ms.StoreMessageInfo(mi)
   777  		}
   778  		return ms
   779  	}
   780  	return mi.MessageOf(x)
   781  }
   782  
   783  // Deprecated: Use Task.ProtoReflect.Descriptor instead.
   784  func (*Task) Descriptor() ([]byte, []int) {
   785  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{7}
   786  }
   787  
   788  func (x *Task) GetName() string {
   789  	if x != nil {
   790  		return x.Name
   791  	}
   792  	return ""
   793  }
   794  
   795  func (x *Task) GetStatus() *TaskStatus {
   796  	if x != nil {
   797  		return x.Status
   798  	}
   799  	return nil
   800  }
   801  
   802  // Container runnable.
   803  type Runnable_Container struct {
   804  	state         protoimpl.MessageState
   805  	sizeCache     protoimpl.SizeCache
   806  	unknownFields protoimpl.UnknownFields
   807  
   808  	// The URI to pull the container image from.
   809  	ImageUri string `protobuf:"bytes,1,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
   810  	// Overrides the `CMD` specified in the container. If there is an ENTRYPOINT
   811  	// (either in the container image or with the entrypoint field below) then
   812  	// commands are appended as arguments to the ENTRYPOINT.
   813  	Commands []string `protobuf:"bytes,2,rep,name=commands,proto3" json:"commands,omitempty"`
   814  	// Overrides the `ENTRYPOINT` specified in the container.
   815  	Entrypoint string `protobuf:"bytes,3,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"`
   816  	// Volumes to mount (bind mount) from the host machine files or directories
   817  	// into the container, formatted to match docker run's --volume option,
   818  	// e.g. /foo:/bar, or /foo:/bar:ro
   819  	Volumes []string `protobuf:"bytes,7,rep,name=volumes,proto3" json:"volumes,omitempty"`
   820  	// Arbitrary additional options to include in the "docker run" command when
   821  	// running this container, e.g. "--network host".
   822  	Options string `protobuf:"bytes,8,opt,name=options,proto3" json:"options,omitempty"`
   823  }
   824  
   825  func (x *Runnable_Container) Reset() {
   826  	*x = Runnable_Container{}
   827  	if protoimpl.UnsafeEnabled {
   828  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[8]
   829  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   830  		ms.StoreMessageInfo(mi)
   831  	}
   832  }
   833  
   834  func (x *Runnable_Container) String() string {
   835  	return protoimpl.X.MessageStringOf(x)
   836  }
   837  
   838  func (*Runnable_Container) ProtoMessage() {}
   839  
   840  func (x *Runnable_Container) ProtoReflect() protoreflect.Message {
   841  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[8]
   842  	if protoimpl.UnsafeEnabled && x != nil {
   843  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   844  		if ms.LoadMessageInfo() == nil {
   845  			ms.StoreMessageInfo(mi)
   846  		}
   847  		return ms
   848  	}
   849  	return mi.MessageOf(x)
   850  }
   851  
   852  // Deprecated: Use Runnable_Container.ProtoReflect.Descriptor instead.
   853  func (*Runnable_Container) Descriptor() ([]byte, []int) {
   854  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{4, 0}
   855  }
   856  
   857  func (x *Runnable_Container) GetImageUri() string {
   858  	if x != nil {
   859  		return x.ImageUri
   860  	}
   861  	return ""
   862  }
   863  
   864  func (x *Runnable_Container) GetCommands() []string {
   865  	if x != nil {
   866  		return x.Commands
   867  	}
   868  	return nil
   869  }
   870  
   871  func (x *Runnable_Container) GetEntrypoint() string {
   872  	if x != nil {
   873  		return x.Entrypoint
   874  	}
   875  	return ""
   876  }
   877  
   878  func (x *Runnable_Container) GetVolumes() []string {
   879  	if x != nil {
   880  		return x.Volumes
   881  	}
   882  	return nil
   883  }
   884  
   885  func (x *Runnable_Container) GetOptions() string {
   886  	if x != nil {
   887  		return x.Options
   888  	}
   889  	return ""
   890  }
   891  
   892  // Script runnable.
   893  type Runnable_Script struct {
   894  	state         protoimpl.MessageState
   895  	sizeCache     protoimpl.SizeCache
   896  	unknownFields protoimpl.UnknownFields
   897  
   898  	// Types that are assignable to Command:
   899  	//	*Runnable_Script_Path
   900  	//	*Runnable_Script_Text
   901  	Command isRunnable_Script_Command `protobuf_oneof:"command"`
   902  }
   903  
   904  func (x *Runnable_Script) Reset() {
   905  	*x = Runnable_Script{}
   906  	if protoimpl.UnsafeEnabled {
   907  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[9]
   908  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   909  		ms.StoreMessageInfo(mi)
   910  	}
   911  }
   912  
   913  func (x *Runnable_Script) String() string {
   914  	return protoimpl.X.MessageStringOf(x)
   915  }
   916  
   917  func (*Runnable_Script) ProtoMessage() {}
   918  
   919  func (x *Runnable_Script) ProtoReflect() protoreflect.Message {
   920  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[9]
   921  	if protoimpl.UnsafeEnabled && x != nil {
   922  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   923  		if ms.LoadMessageInfo() == nil {
   924  			ms.StoreMessageInfo(mi)
   925  		}
   926  		return ms
   927  	}
   928  	return mi.MessageOf(x)
   929  }
   930  
   931  // Deprecated: Use Runnable_Script.ProtoReflect.Descriptor instead.
   932  func (*Runnable_Script) Descriptor() ([]byte, []int) {
   933  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{4, 1}
   934  }
   935  
   936  func (m *Runnable_Script) GetCommand() isRunnable_Script_Command {
   937  	if m != nil {
   938  		return m.Command
   939  	}
   940  	return nil
   941  }
   942  
   943  func (x *Runnable_Script) GetPath() string {
   944  	if x, ok := x.GetCommand().(*Runnable_Script_Path); ok {
   945  		return x.Path
   946  	}
   947  	return ""
   948  }
   949  
   950  func (x *Runnable_Script) GetText() string {
   951  	if x, ok := x.GetCommand().(*Runnable_Script_Text); ok {
   952  		return x.Text
   953  	}
   954  	return ""
   955  }
   956  
   957  type isRunnable_Script_Command interface {
   958  	isRunnable_Script_Command()
   959  }
   960  
   961  type Runnable_Script_Path struct {
   962  	// Script file path.
   963  	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
   964  }
   965  
   966  type Runnable_Script_Text struct {
   967  	// Shell script text.
   968  	Text string `protobuf:"bytes,2,opt,name=text,proto3,oneof"`
   969  }
   970  
   971  func (*Runnable_Script_Path) isRunnable_Script_Command() {}
   972  
   973  func (*Runnable_Script_Text) isRunnable_Script_Command() {}
   974  
   975  // Barrier runnable blocks until all tasks in a taskgroup reach it.
   976  type Runnable_Barrier struct {
   977  	state         protoimpl.MessageState
   978  	sizeCache     protoimpl.SizeCache
   979  	unknownFields protoimpl.UnknownFields
   980  
   981  	// Barriers are identified by their index in runnable list.
   982  	// Names are not required, but if present should be an identifier.
   983  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   984  }
   985  
   986  func (x *Runnable_Barrier) Reset() {
   987  	*x = Runnable_Barrier{}
   988  	if protoimpl.UnsafeEnabled {
   989  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[10]
   990  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   991  		ms.StoreMessageInfo(mi)
   992  	}
   993  }
   994  
   995  func (x *Runnable_Barrier) String() string {
   996  	return protoimpl.X.MessageStringOf(x)
   997  }
   998  
   999  func (*Runnable_Barrier) ProtoMessage() {}
  1000  
  1001  func (x *Runnable_Barrier) ProtoReflect() protoreflect.Message {
  1002  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[10]
  1003  	if protoimpl.UnsafeEnabled && x != nil {
  1004  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1005  		if ms.LoadMessageInfo() == nil {
  1006  			ms.StoreMessageInfo(mi)
  1007  		}
  1008  		return ms
  1009  	}
  1010  	return mi.MessageOf(x)
  1011  }
  1012  
  1013  // Deprecated: Use Runnable_Barrier.ProtoReflect.Descriptor instead.
  1014  func (*Runnable_Barrier) Descriptor() ([]byte, []int) {
  1015  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{4, 2}
  1016  }
  1017  
  1018  func (x *Runnable_Barrier) GetName() string {
  1019  	if x != nil {
  1020  		return x.Name
  1021  	}
  1022  	return ""
  1023  }
  1024  
  1025  // Conditions for actions to deal with task failures.
  1026  type LifecyclePolicy_ActionCondition struct {
  1027  	state         protoimpl.MessageState
  1028  	sizeCache     protoimpl.SizeCache
  1029  	unknownFields protoimpl.UnknownFields
  1030  
  1031  	// Exit codes of a task execution.
  1032  	// If there are more than 1 exit codes,
  1033  	// when task executes with any of the exit code in the list,
  1034  	// the condition is met and the action will be executed.
  1035  	ExitCodes []int32 `protobuf:"varint,1,rep,packed,name=exit_codes,json=exitCodes,proto3" json:"exit_codes,omitempty"`
  1036  }
  1037  
  1038  func (x *LifecyclePolicy_ActionCondition) Reset() {
  1039  	*x = LifecyclePolicy_ActionCondition{}
  1040  	if protoimpl.UnsafeEnabled {
  1041  		mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[12]
  1042  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1043  		ms.StoreMessageInfo(mi)
  1044  	}
  1045  }
  1046  
  1047  func (x *LifecyclePolicy_ActionCondition) String() string {
  1048  	return protoimpl.X.MessageStringOf(x)
  1049  }
  1050  
  1051  func (*LifecyclePolicy_ActionCondition) ProtoMessage() {}
  1052  
  1053  func (x *LifecyclePolicy_ActionCondition) ProtoReflect() protoreflect.Message {
  1054  	mi := &file_google_cloud_batch_v1alpha1_task_proto_msgTypes[12]
  1055  	if protoimpl.UnsafeEnabled && x != nil {
  1056  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1057  		if ms.LoadMessageInfo() == nil {
  1058  			ms.StoreMessageInfo(mi)
  1059  		}
  1060  		return ms
  1061  	}
  1062  	return mi.MessageOf(x)
  1063  }
  1064  
  1065  // Deprecated: Use LifecyclePolicy_ActionCondition.ProtoReflect.Descriptor instead.
  1066  func (*LifecyclePolicy_ActionCondition) Descriptor() ([]byte, []int) {
  1067  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP(), []int{6, 0}
  1068  }
  1069  
  1070  func (x *LifecyclePolicy_ActionCondition) GetExitCodes() []int32 {
  1071  	if x != nil {
  1072  		return x.ExitCodes
  1073  	}
  1074  	return nil
  1075  }
  1076  
  1077  var File_google_cloud_batch_v1alpha1_task_proto protoreflect.FileDescriptor
  1078  
  1079  var file_google_cloud_batch_v1alpha1_task_proto_rawDesc = []byte{
  1080  	0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
  1081  	0x61, 0x74, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x74, 0x61,
  1082  	0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1083  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61,
  1084  	0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
  1085  	0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1086  	0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
  1087  	0x61, 0x74, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x6f,
  1088  	0x6c, 0x75, 0x6d, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
  1089  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61,
  1090  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
  1091  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
  1092  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x0f,
  1093  	0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
  1094  	0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x18, 0x01, 0x20, 0x01,
  1095  	0x28, 0x03, 0x52, 0x08, 0x63, 0x70, 0x75, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x12, 0x1d, 0x0a, 0x0a,
  1096  	0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x69, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
  1097  	0x52, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x69, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x67,
  1098  	0x70, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
  1099  	0x67, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x74,
  1100  	0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6d, 0x69, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
  1101  	0x0b, 0x62, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x4d, 0x69, 0x62, 0x22, 0xd1, 0x01, 0x0a,
  1102  	0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04,
  1103  	0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
  1104  	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  1105  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  1106  	0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  1107  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1108  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  1109  	0x6d, 0x70, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x51, 0x0a,
  1110  	0x0e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  1111  	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1112  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  1113  	0x68, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
  1114  	0x6e, 0x52, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
  1115  	0x22, 0x2c, 0x0a, 0x0d, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
  1116  	0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
  1117  	0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x83,
  1118  	0x02, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a,
  1119  	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67,
  1120  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63,
  1121  	0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53,
  1122  	0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
  1123  	0x74, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x65, 0x76, 0x65,
  1124  	0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1125  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76,
  1126  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x76,
  1127  	0x65, 0x6e, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74,
  1128  	0x73, 0x22, 0x61, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54,
  1129  	0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
  1130  	0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c,
  1131  	0x0a, 0x08, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07,
  1132  	0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49,
  1133  	0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44,
  1134  	0x45, 0x44, 0x10, 0x05, 0x22, 0xe4, 0x04, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c,
  1135  	0x65, 0x12, 0x4f, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01,
  1136  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  1137  	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  1138  	0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
  1139  	0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
  1140  	0x65, 0x72, 0x12, 0x46, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01,
  1141  	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  1142  	0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
  1143  	0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74,
  1144  	0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x49, 0x0a, 0x07, 0x62, 0x61,
  1145  	0x72, 0x72, 0x69, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f,
  1146  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68,
  1147  	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x61, 0x62,
  1148  	0x6c, 0x65, 0x2e, 0x42, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x62, 0x61,
  1149  	0x72, 0x72, 0x69, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f,
  1150  	0x65, 0x78, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
  1151  	0x08, 0x52, 0x10, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x78, 0x69, 0x74, 0x53, 0x74, 0x61,
  1152  	0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
  1153  	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f,
  1154  	0x75, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x75,
  1155  	0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x52,
  1156  	0x75, 0x6e, 0x1a, 0x98, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
  1157  	0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20,
  1158  	0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a,
  1159  	0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
  1160  	0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74,
  1161  	0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65,
  1162  	0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x6f, 0x6c,
  1163  	0x75, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75,
  1164  	0x6d, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08,
  1165  	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3f, 0x0a,
  1166  	0x06, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
  1167  	0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a,
  1168  	0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74,
  1169  	0x65, 0x78, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x1a, 0x1d,
  1170  	0x0a, 0x07, 0x42, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
  1171  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a,
  1172  	0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xcf, 0x04, 0x0a, 0x08,
  1173  	0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x43, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e,
  1174  	0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
  1175  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68,
  1176  	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x61, 0x62,
  1177  	0x6c, 0x65, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x57, 0x0a,
  1178  	0x10, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1179  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1180  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61,
  1181  	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73,
  1182  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x65,
  1183  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x75,
  1184  	0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
  1185  	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1186  	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6d, 0x61, 0x78,
  1187  	0x52, 0x75, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6d,
  1188  	0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05,
  1189  	0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f,
  1190  	0x75, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x12, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65,
  1191  	0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1192  	0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
  1193  	0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69,
  1194  	0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x11, 0x6c,
  1195  	0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73,
  1196  	0x12, 0x5b, 0x0a, 0x0c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
  1197  	0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1198  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  1199  	0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x45, 0x6e,
  1200  	0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
  1201  	0x0c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3d, 0x0a,
  1202  	0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23,
  1203  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61,
  1204  	0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x6f, 0x6c,
  1205  	0x75, 0x6d, 0x65, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x1a, 0x3f, 0x0a, 0x11,
  1206  	0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72,
  1207  	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
  1208  	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
  1209  	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xba, 0x02,
  1210  	0x0a, 0x0f, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
  1211  	0x79, 0x12, 0x4b, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
  1212  	0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  1213  	0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
  1214  	0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
  1215  	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67,
  1216  	0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
  1217  	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1218  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31,
  1219  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65,
  1220  	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e,
  1221  	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
  1222  	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x30, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x6f,
  1223  	0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78,
  1224  	0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09,
  1225  	0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x06, 0x41, 0x63, 0x74,
  1226  	0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e,
  1227  	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52,
  1228  	0x45, 0x54, 0x52, 0x59, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x46,
  1229  	0x41, 0x49, 0x4c, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x10, 0x02, 0x22, 0xd4, 0x01, 0x0a, 0x04, 0x54,
  1230  	0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  1231  	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
  1232  	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1233  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61,
  1234  	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
  1235  	0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x77, 0xea, 0x41, 0x74, 0x0a, 0x19, 0x62,
  1236  	0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  1237  	0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x57, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  1238  	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63,
  1239  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1240  	0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x7d, 0x2f, 0x74, 0x61, 0x73,
  1241  	0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x67, 0x72,
  1242  	0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x73, 0x6b,
  1243  	0x7d, 0x42, 0x76, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1244  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  1245  	0x70, 0x68, 0x61, 0x31, 0x42, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
  1246  	0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
  1247  	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
  1248  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
  1249  	0x61, 0x74, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x62, 0x61,
  1250  	0x74, 0x63, 0x68, 0xa2, 0x02, 0x03, 0x47, 0x43, 0x42, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1251  	0x33,
  1252  }
  1253  
  1254  var (
  1255  	file_google_cloud_batch_v1alpha1_task_proto_rawDescOnce sync.Once
  1256  	file_google_cloud_batch_v1alpha1_task_proto_rawDescData = file_google_cloud_batch_v1alpha1_task_proto_rawDesc
  1257  )
  1258  
  1259  func file_google_cloud_batch_v1alpha1_task_proto_rawDescGZIP() []byte {
  1260  	file_google_cloud_batch_v1alpha1_task_proto_rawDescOnce.Do(func() {
  1261  		file_google_cloud_batch_v1alpha1_task_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_batch_v1alpha1_task_proto_rawDescData)
  1262  	})
  1263  	return file_google_cloud_batch_v1alpha1_task_proto_rawDescData
  1264  }
  1265  
  1266  var file_google_cloud_batch_v1alpha1_task_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1267  var file_google_cloud_batch_v1alpha1_task_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
  1268  var file_google_cloud_batch_v1alpha1_task_proto_goTypes = []interface{}{
  1269  	(TaskStatus_State)(0),                   // 0: google.cloud.batch.v1alpha1.TaskStatus.State
  1270  	(LifecyclePolicy_Action)(0),             // 1: google.cloud.batch.v1alpha1.LifecyclePolicy.Action
  1271  	(*ComputeResource)(nil),                 // 2: google.cloud.batch.v1alpha1.ComputeResource
  1272  	(*StatusEvent)(nil),                     // 3: google.cloud.batch.v1alpha1.StatusEvent
  1273  	(*TaskExecution)(nil),                   // 4: google.cloud.batch.v1alpha1.TaskExecution
  1274  	(*TaskStatus)(nil),                      // 5: google.cloud.batch.v1alpha1.TaskStatus
  1275  	(*Runnable)(nil),                        // 6: google.cloud.batch.v1alpha1.Runnable
  1276  	(*TaskSpec)(nil),                        // 7: google.cloud.batch.v1alpha1.TaskSpec
  1277  	(*LifecyclePolicy)(nil),                 // 8: google.cloud.batch.v1alpha1.LifecyclePolicy
  1278  	(*Task)(nil),                            // 9: google.cloud.batch.v1alpha1.Task
  1279  	(*Runnable_Container)(nil),              // 10: google.cloud.batch.v1alpha1.Runnable.Container
  1280  	(*Runnable_Script)(nil),                 // 11: google.cloud.batch.v1alpha1.Runnable.Script
  1281  	(*Runnable_Barrier)(nil),                // 12: google.cloud.batch.v1alpha1.Runnable.Barrier
  1282  	nil,                                     // 13: google.cloud.batch.v1alpha1.TaskSpec.EnvironmentsEntry
  1283  	(*LifecyclePolicy_ActionCondition)(nil), // 14: google.cloud.batch.v1alpha1.LifecyclePolicy.ActionCondition
  1284  	(*timestamppb.Timestamp)(nil),           // 15: google.protobuf.Timestamp
  1285  	(*durationpb.Duration)(nil),             // 16: google.protobuf.Duration
  1286  	(*Volume)(nil),                          // 17: google.cloud.batch.v1alpha1.Volume
  1287  }
  1288  var file_google_cloud_batch_v1alpha1_task_proto_depIdxs = []int32{
  1289  	15, // 0: google.cloud.batch.v1alpha1.StatusEvent.event_time:type_name -> google.protobuf.Timestamp
  1290  	4,  // 1: google.cloud.batch.v1alpha1.StatusEvent.task_execution:type_name -> google.cloud.batch.v1alpha1.TaskExecution
  1291  	0,  // 2: google.cloud.batch.v1alpha1.TaskStatus.state:type_name -> google.cloud.batch.v1alpha1.TaskStatus.State
  1292  	3,  // 3: google.cloud.batch.v1alpha1.TaskStatus.status_events:type_name -> google.cloud.batch.v1alpha1.StatusEvent
  1293  	10, // 4: google.cloud.batch.v1alpha1.Runnable.container:type_name -> google.cloud.batch.v1alpha1.Runnable.Container
  1294  	11, // 5: google.cloud.batch.v1alpha1.Runnable.script:type_name -> google.cloud.batch.v1alpha1.Runnable.Script
  1295  	12, // 6: google.cloud.batch.v1alpha1.Runnable.barrier:type_name -> google.cloud.batch.v1alpha1.Runnable.Barrier
  1296  	6,  // 7: google.cloud.batch.v1alpha1.TaskSpec.runnables:type_name -> google.cloud.batch.v1alpha1.Runnable
  1297  	2,  // 8: google.cloud.batch.v1alpha1.TaskSpec.compute_resource:type_name -> google.cloud.batch.v1alpha1.ComputeResource
  1298  	16, // 9: google.cloud.batch.v1alpha1.TaskSpec.max_run_duration:type_name -> google.protobuf.Duration
  1299  	8,  // 10: google.cloud.batch.v1alpha1.TaskSpec.lifecycle_policies:type_name -> google.cloud.batch.v1alpha1.LifecyclePolicy
  1300  	13, // 11: google.cloud.batch.v1alpha1.TaskSpec.environments:type_name -> google.cloud.batch.v1alpha1.TaskSpec.EnvironmentsEntry
  1301  	17, // 12: google.cloud.batch.v1alpha1.TaskSpec.volumes:type_name -> google.cloud.batch.v1alpha1.Volume
  1302  	1,  // 13: google.cloud.batch.v1alpha1.LifecyclePolicy.action:type_name -> google.cloud.batch.v1alpha1.LifecyclePolicy.Action
  1303  	14, // 14: google.cloud.batch.v1alpha1.LifecyclePolicy.action_condition:type_name -> google.cloud.batch.v1alpha1.LifecyclePolicy.ActionCondition
  1304  	5,  // 15: google.cloud.batch.v1alpha1.Task.status:type_name -> google.cloud.batch.v1alpha1.TaskStatus
  1305  	16, // [16:16] is the sub-list for method output_type
  1306  	16, // [16:16] is the sub-list for method input_type
  1307  	16, // [16:16] is the sub-list for extension type_name
  1308  	16, // [16:16] is the sub-list for extension extendee
  1309  	0,  // [0:16] is the sub-list for field type_name
  1310  }
  1311  
  1312  func init() { file_google_cloud_batch_v1alpha1_task_proto_init() }
  1313  func file_google_cloud_batch_v1alpha1_task_proto_init() {
  1314  	if File_google_cloud_batch_v1alpha1_task_proto != nil {
  1315  		return
  1316  	}
  1317  	file_google_cloud_batch_v1alpha1_volume_proto_init()
  1318  	if !protoimpl.UnsafeEnabled {
  1319  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1320  			switch v := v.(*ComputeResource); i {
  1321  			case 0:
  1322  				return &v.state
  1323  			case 1:
  1324  				return &v.sizeCache
  1325  			case 2:
  1326  				return &v.unknownFields
  1327  			default:
  1328  				return nil
  1329  			}
  1330  		}
  1331  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1332  			switch v := v.(*StatusEvent); i {
  1333  			case 0:
  1334  				return &v.state
  1335  			case 1:
  1336  				return &v.sizeCache
  1337  			case 2:
  1338  				return &v.unknownFields
  1339  			default:
  1340  				return nil
  1341  			}
  1342  		}
  1343  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1344  			switch v := v.(*TaskExecution); i {
  1345  			case 0:
  1346  				return &v.state
  1347  			case 1:
  1348  				return &v.sizeCache
  1349  			case 2:
  1350  				return &v.unknownFields
  1351  			default:
  1352  				return nil
  1353  			}
  1354  		}
  1355  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1356  			switch v := v.(*TaskStatus); i {
  1357  			case 0:
  1358  				return &v.state
  1359  			case 1:
  1360  				return &v.sizeCache
  1361  			case 2:
  1362  				return &v.unknownFields
  1363  			default:
  1364  				return nil
  1365  			}
  1366  		}
  1367  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1368  			switch v := v.(*Runnable); i {
  1369  			case 0:
  1370  				return &v.state
  1371  			case 1:
  1372  				return &v.sizeCache
  1373  			case 2:
  1374  				return &v.unknownFields
  1375  			default:
  1376  				return nil
  1377  			}
  1378  		}
  1379  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1380  			switch v := v.(*TaskSpec); i {
  1381  			case 0:
  1382  				return &v.state
  1383  			case 1:
  1384  				return &v.sizeCache
  1385  			case 2:
  1386  				return &v.unknownFields
  1387  			default:
  1388  				return nil
  1389  			}
  1390  		}
  1391  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1392  			switch v := v.(*LifecyclePolicy); i {
  1393  			case 0:
  1394  				return &v.state
  1395  			case 1:
  1396  				return &v.sizeCache
  1397  			case 2:
  1398  				return &v.unknownFields
  1399  			default:
  1400  				return nil
  1401  			}
  1402  		}
  1403  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1404  			switch v := v.(*Task); i {
  1405  			case 0:
  1406  				return &v.state
  1407  			case 1:
  1408  				return &v.sizeCache
  1409  			case 2:
  1410  				return &v.unknownFields
  1411  			default:
  1412  				return nil
  1413  			}
  1414  		}
  1415  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1416  			switch v := v.(*Runnable_Container); i {
  1417  			case 0:
  1418  				return &v.state
  1419  			case 1:
  1420  				return &v.sizeCache
  1421  			case 2:
  1422  				return &v.unknownFields
  1423  			default:
  1424  				return nil
  1425  			}
  1426  		}
  1427  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1428  			switch v := v.(*Runnable_Script); i {
  1429  			case 0:
  1430  				return &v.state
  1431  			case 1:
  1432  				return &v.sizeCache
  1433  			case 2:
  1434  				return &v.unknownFields
  1435  			default:
  1436  				return nil
  1437  			}
  1438  		}
  1439  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1440  			switch v := v.(*Runnable_Barrier); i {
  1441  			case 0:
  1442  				return &v.state
  1443  			case 1:
  1444  				return &v.sizeCache
  1445  			case 2:
  1446  				return &v.unknownFields
  1447  			default:
  1448  				return nil
  1449  			}
  1450  		}
  1451  		file_google_cloud_batch_v1alpha1_task_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1452  			switch v := v.(*LifecyclePolicy_ActionCondition); i {
  1453  			case 0:
  1454  				return &v.state
  1455  			case 1:
  1456  				return &v.sizeCache
  1457  			case 2:
  1458  				return &v.unknownFields
  1459  			default:
  1460  				return nil
  1461  			}
  1462  		}
  1463  	}
  1464  	file_google_cloud_batch_v1alpha1_task_proto_msgTypes[4].OneofWrappers = []interface{}{
  1465  		(*Runnable_Container_)(nil),
  1466  		(*Runnable_Script_)(nil),
  1467  		(*Runnable_Barrier_)(nil),
  1468  	}
  1469  	file_google_cloud_batch_v1alpha1_task_proto_msgTypes[9].OneofWrappers = []interface{}{
  1470  		(*Runnable_Script_Path)(nil),
  1471  		(*Runnable_Script_Text)(nil),
  1472  	}
  1473  	type x struct{}
  1474  	out := protoimpl.TypeBuilder{
  1475  		File: protoimpl.DescBuilder{
  1476  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1477  			RawDescriptor: file_google_cloud_batch_v1alpha1_task_proto_rawDesc,
  1478  			NumEnums:      2,
  1479  			NumMessages:   13,
  1480  			NumExtensions: 0,
  1481  			NumServices:   0,
  1482  		},
  1483  		GoTypes:           file_google_cloud_batch_v1alpha1_task_proto_goTypes,
  1484  		DependencyIndexes: file_google_cloud_batch_v1alpha1_task_proto_depIdxs,
  1485  		EnumInfos:         file_google_cloud_batch_v1alpha1_task_proto_enumTypes,
  1486  		MessageInfos:      file_google_cloud_batch_v1alpha1_task_proto_msgTypes,
  1487  	}.Build()
  1488  	File_google_cloud_batch_v1alpha1_task_proto = out.File
  1489  	file_google_cloud_batch_v1alpha1_task_proto_rawDesc = nil
  1490  	file_google_cloud_batch_v1alpha1_task_proto_goTypes = nil
  1491  	file_google_cloud_batch_v1alpha1_task_proto_depIdxs = nil
  1492  }
  1493  

View as plain text