...

Source file src/google.golang.org/genproto/googleapis/cloud/ml/v1/job_service.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/ml/v1

     1  // Copyright 2017 Google Inc.
     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/ml/v1/job_service.proto
    20  
    21  package ml
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	_ "google.golang.org/genproto/googleapis/api/serviceconfig"
    30  	grpc "google.golang.org/grpc"
    31  	codes "google.golang.org/grpc/codes"
    32  	status "google.golang.org/grpc/status"
    33  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    34  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    35  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    36  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    37  )
    38  
    39  const (
    40  	// Verify that this generated code is sufficiently up-to-date.
    41  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    42  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    43  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    44  )
    45  
    46  // A scale tier is an abstract representation of the resources Cloud ML
    47  // will allocate to a training job. When selecting a scale tier for your
    48  // training job, you should consider the size of your training dataset and
    49  // the complexity of your model. As the tiers increase, virtual machines are
    50  // added to handle your job, and the individual machines in the cluster
    51  // generally have more memory and greater processing power than they do at
    52  // lower tiers. The number of training units charged per hour of processing
    53  // increases as tiers get more advanced. Refer to the
    54  // [pricing guide](/ml/pricing) for more details. Note that in addition to
    55  // incurring costs, your use of training resources is constrained by the
    56  // [quota policy](/ml/quota).
    57  type TrainingInput_ScaleTier int32
    58  
    59  const (
    60  	// A single worker instance. This tier is suitable for learning how to use
    61  	// Cloud ML, and for experimenting with new models using small datasets.
    62  	TrainingInput_BASIC TrainingInput_ScaleTier = 0
    63  	// Many workers and a few parameter servers.
    64  	TrainingInput_STANDARD_1 TrainingInput_ScaleTier = 1
    65  	// A large number of workers with many parameter servers.
    66  	TrainingInput_PREMIUM_1 TrainingInput_ScaleTier = 3
    67  	// A single worker instance [with a GPU](ml/docs/how-tos/using-gpus).
    68  	TrainingInput_BASIC_GPU TrainingInput_ScaleTier = 6
    69  	// The CUSTOM tier is not a set tier, but rather enables you to use your
    70  	// own cluster specification. When you use this tier, set values to
    71  	// configure your processing cluster according to these guidelines:
    72  	//
    73  	// *   You _must_ set `TrainingInput.masterType` to specify the type
    74  	//     of machine to use for your master node. This is the only required
    75  	//     setting.
    76  	//
    77  	// *   You _may_ set `TrainingInput.workerCount` to specify the number of
    78  	//     workers to use. If you specify one or more workers, you _must_ also
    79  	//     set `TrainingInput.workerType` to specify the type of machine to use
    80  	//     for your worker nodes.
    81  	//
    82  	// *   You _may_ set `TrainingInput.parameterServerCount` to specify the
    83  	//     number of parameter servers to use. If you specify one or more
    84  	//     parameter servers, you _must_ also set
    85  	//     `TrainingInput.parameterServerType` to specify the type of machine to
    86  	//     use for your parameter servers.
    87  	//
    88  	// Note that all of your workers must use the same machine type, which can
    89  	// be different from your parameter server type and master type. Your
    90  	// parameter servers must likewise use the same machine type, which can be
    91  	// different from your worker type and master type.
    92  	TrainingInput_CUSTOM TrainingInput_ScaleTier = 5
    93  )
    94  
    95  // Enum value maps for TrainingInput_ScaleTier.
    96  var (
    97  	TrainingInput_ScaleTier_name = map[int32]string{
    98  		0: "BASIC",
    99  		1: "STANDARD_1",
   100  		3: "PREMIUM_1",
   101  		6: "BASIC_GPU",
   102  		5: "CUSTOM",
   103  	}
   104  	TrainingInput_ScaleTier_value = map[string]int32{
   105  		"BASIC":      0,
   106  		"STANDARD_1": 1,
   107  		"PREMIUM_1":  3,
   108  		"BASIC_GPU":  6,
   109  		"CUSTOM":     5,
   110  	}
   111  )
   112  
   113  func (x TrainingInput_ScaleTier) Enum() *TrainingInput_ScaleTier {
   114  	p := new(TrainingInput_ScaleTier)
   115  	*p = x
   116  	return p
   117  }
   118  
   119  func (x TrainingInput_ScaleTier) String() string {
   120  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   121  }
   122  
   123  func (TrainingInput_ScaleTier) Descriptor() protoreflect.EnumDescriptor {
   124  	return file_google_cloud_ml_v1_job_service_proto_enumTypes[0].Descriptor()
   125  }
   126  
   127  func (TrainingInput_ScaleTier) Type() protoreflect.EnumType {
   128  	return &file_google_cloud_ml_v1_job_service_proto_enumTypes[0]
   129  }
   130  
   131  func (x TrainingInput_ScaleTier) Number() protoreflect.EnumNumber {
   132  	return protoreflect.EnumNumber(x)
   133  }
   134  
   135  // Deprecated: Use TrainingInput_ScaleTier.Descriptor instead.
   136  func (TrainingInput_ScaleTier) EnumDescriptor() ([]byte, []int) {
   137  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{0, 0}
   138  }
   139  
   140  // The available types of optimization goals.
   141  type HyperparameterSpec_GoalType int32
   142  
   143  const (
   144  	// Goal Type will default to maximize.
   145  	HyperparameterSpec_GOAL_TYPE_UNSPECIFIED HyperparameterSpec_GoalType = 0
   146  	// Maximize the goal metric.
   147  	HyperparameterSpec_MAXIMIZE HyperparameterSpec_GoalType = 1
   148  	// Minimize the goal metric.
   149  	HyperparameterSpec_MINIMIZE HyperparameterSpec_GoalType = 2
   150  )
   151  
   152  // Enum value maps for HyperparameterSpec_GoalType.
   153  var (
   154  	HyperparameterSpec_GoalType_name = map[int32]string{
   155  		0: "GOAL_TYPE_UNSPECIFIED",
   156  		1: "MAXIMIZE",
   157  		2: "MINIMIZE",
   158  	}
   159  	HyperparameterSpec_GoalType_value = map[string]int32{
   160  		"GOAL_TYPE_UNSPECIFIED": 0,
   161  		"MAXIMIZE":              1,
   162  		"MINIMIZE":              2,
   163  	}
   164  )
   165  
   166  func (x HyperparameterSpec_GoalType) Enum() *HyperparameterSpec_GoalType {
   167  	p := new(HyperparameterSpec_GoalType)
   168  	*p = x
   169  	return p
   170  }
   171  
   172  func (x HyperparameterSpec_GoalType) String() string {
   173  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   174  }
   175  
   176  func (HyperparameterSpec_GoalType) Descriptor() protoreflect.EnumDescriptor {
   177  	return file_google_cloud_ml_v1_job_service_proto_enumTypes[1].Descriptor()
   178  }
   179  
   180  func (HyperparameterSpec_GoalType) Type() protoreflect.EnumType {
   181  	return &file_google_cloud_ml_v1_job_service_proto_enumTypes[1]
   182  }
   183  
   184  func (x HyperparameterSpec_GoalType) Number() protoreflect.EnumNumber {
   185  	return protoreflect.EnumNumber(x)
   186  }
   187  
   188  // Deprecated: Use HyperparameterSpec_GoalType.Descriptor instead.
   189  func (HyperparameterSpec_GoalType) EnumDescriptor() ([]byte, []int) {
   190  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{1, 0}
   191  }
   192  
   193  // The type of the parameter.
   194  type ParameterSpec_ParameterType int32
   195  
   196  const (
   197  	// You must specify a valid type. Using this unspecified type will result in
   198  	// an error.
   199  	ParameterSpec_PARAMETER_TYPE_UNSPECIFIED ParameterSpec_ParameterType = 0
   200  	// Type for real-valued parameters.
   201  	ParameterSpec_DOUBLE ParameterSpec_ParameterType = 1
   202  	// Type for integral parameters.
   203  	ParameterSpec_INTEGER ParameterSpec_ParameterType = 2
   204  	// The parameter is categorical, with a value chosen from the categories
   205  	// field.
   206  	ParameterSpec_CATEGORICAL ParameterSpec_ParameterType = 3
   207  	// The parameter is real valued, with a fixed set of feasible points. If
   208  	// `type==DISCRETE`, feasible_points must be provided, and
   209  	// {`min_value`, `max_value`} will be ignored.
   210  	ParameterSpec_DISCRETE ParameterSpec_ParameterType = 4
   211  )
   212  
   213  // Enum value maps for ParameterSpec_ParameterType.
   214  var (
   215  	ParameterSpec_ParameterType_name = map[int32]string{
   216  		0: "PARAMETER_TYPE_UNSPECIFIED",
   217  		1: "DOUBLE",
   218  		2: "INTEGER",
   219  		3: "CATEGORICAL",
   220  		4: "DISCRETE",
   221  	}
   222  	ParameterSpec_ParameterType_value = map[string]int32{
   223  		"PARAMETER_TYPE_UNSPECIFIED": 0,
   224  		"DOUBLE":                     1,
   225  		"INTEGER":                    2,
   226  		"CATEGORICAL":                3,
   227  		"DISCRETE":                   4,
   228  	}
   229  )
   230  
   231  func (x ParameterSpec_ParameterType) Enum() *ParameterSpec_ParameterType {
   232  	p := new(ParameterSpec_ParameterType)
   233  	*p = x
   234  	return p
   235  }
   236  
   237  func (x ParameterSpec_ParameterType) String() string {
   238  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   239  }
   240  
   241  func (ParameterSpec_ParameterType) Descriptor() protoreflect.EnumDescriptor {
   242  	return file_google_cloud_ml_v1_job_service_proto_enumTypes[2].Descriptor()
   243  }
   244  
   245  func (ParameterSpec_ParameterType) Type() protoreflect.EnumType {
   246  	return &file_google_cloud_ml_v1_job_service_proto_enumTypes[2]
   247  }
   248  
   249  func (x ParameterSpec_ParameterType) Number() protoreflect.EnumNumber {
   250  	return protoreflect.EnumNumber(x)
   251  }
   252  
   253  // Deprecated: Use ParameterSpec_ParameterType.Descriptor instead.
   254  func (ParameterSpec_ParameterType) EnumDescriptor() ([]byte, []int) {
   255  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{2, 0}
   256  }
   257  
   258  // The type of scaling that should be applied to this parameter.
   259  type ParameterSpec_ScaleType int32
   260  
   261  const (
   262  	// By default, no scaling is applied.
   263  	ParameterSpec_NONE ParameterSpec_ScaleType = 0
   264  	// Scales the feasible space to (0, 1) linearly.
   265  	ParameterSpec_UNIT_LINEAR_SCALE ParameterSpec_ScaleType = 1
   266  	// Scales the feasible space logarithmically to (0, 1). The entire feasible
   267  	// space must be strictly positive.
   268  	ParameterSpec_UNIT_LOG_SCALE ParameterSpec_ScaleType = 2
   269  	// Scales the feasible space "reverse" logarithmically to (0, 1). The result
   270  	// is that values close to the top of the feasible space are spread out more
   271  	// than points near the bottom. The entire feasible space must be strictly
   272  	// positive.
   273  	ParameterSpec_UNIT_REVERSE_LOG_SCALE ParameterSpec_ScaleType = 3
   274  )
   275  
   276  // Enum value maps for ParameterSpec_ScaleType.
   277  var (
   278  	ParameterSpec_ScaleType_name = map[int32]string{
   279  		0: "NONE",
   280  		1: "UNIT_LINEAR_SCALE",
   281  		2: "UNIT_LOG_SCALE",
   282  		3: "UNIT_REVERSE_LOG_SCALE",
   283  	}
   284  	ParameterSpec_ScaleType_value = map[string]int32{
   285  		"NONE":                   0,
   286  		"UNIT_LINEAR_SCALE":      1,
   287  		"UNIT_LOG_SCALE":         2,
   288  		"UNIT_REVERSE_LOG_SCALE": 3,
   289  	}
   290  )
   291  
   292  func (x ParameterSpec_ScaleType) Enum() *ParameterSpec_ScaleType {
   293  	p := new(ParameterSpec_ScaleType)
   294  	*p = x
   295  	return p
   296  }
   297  
   298  func (x ParameterSpec_ScaleType) String() string {
   299  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   300  }
   301  
   302  func (ParameterSpec_ScaleType) Descriptor() protoreflect.EnumDescriptor {
   303  	return file_google_cloud_ml_v1_job_service_proto_enumTypes[3].Descriptor()
   304  }
   305  
   306  func (ParameterSpec_ScaleType) Type() protoreflect.EnumType {
   307  	return &file_google_cloud_ml_v1_job_service_proto_enumTypes[3]
   308  }
   309  
   310  func (x ParameterSpec_ScaleType) Number() protoreflect.EnumNumber {
   311  	return protoreflect.EnumNumber(x)
   312  }
   313  
   314  // Deprecated: Use ParameterSpec_ScaleType.Descriptor instead.
   315  func (ParameterSpec_ScaleType) EnumDescriptor() ([]byte, []int) {
   316  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{2, 1}
   317  }
   318  
   319  // The format used to separate data instances in the source files.
   320  type PredictionInput_DataFormat int32
   321  
   322  const (
   323  	// Unspecified format.
   324  	PredictionInput_DATA_FORMAT_UNSPECIFIED PredictionInput_DataFormat = 0
   325  	// The source file is a text file with instances separated by the
   326  	// new-line character.
   327  	PredictionInput_TEXT PredictionInput_DataFormat = 1
   328  	// The source file is a TFRecord file.
   329  	PredictionInput_TF_RECORD PredictionInput_DataFormat = 2
   330  	// The source file is a GZIP-compressed TFRecord file.
   331  	PredictionInput_TF_RECORD_GZIP PredictionInput_DataFormat = 3
   332  )
   333  
   334  // Enum value maps for PredictionInput_DataFormat.
   335  var (
   336  	PredictionInput_DataFormat_name = map[int32]string{
   337  		0: "DATA_FORMAT_UNSPECIFIED",
   338  		1: "TEXT",
   339  		2: "TF_RECORD",
   340  		3: "TF_RECORD_GZIP",
   341  	}
   342  	PredictionInput_DataFormat_value = map[string]int32{
   343  		"DATA_FORMAT_UNSPECIFIED": 0,
   344  		"TEXT":                    1,
   345  		"TF_RECORD":               2,
   346  		"TF_RECORD_GZIP":          3,
   347  	}
   348  )
   349  
   350  func (x PredictionInput_DataFormat) Enum() *PredictionInput_DataFormat {
   351  	p := new(PredictionInput_DataFormat)
   352  	*p = x
   353  	return p
   354  }
   355  
   356  func (x PredictionInput_DataFormat) String() string {
   357  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   358  }
   359  
   360  func (PredictionInput_DataFormat) Descriptor() protoreflect.EnumDescriptor {
   361  	return file_google_cloud_ml_v1_job_service_proto_enumTypes[4].Descriptor()
   362  }
   363  
   364  func (PredictionInput_DataFormat) Type() protoreflect.EnumType {
   365  	return &file_google_cloud_ml_v1_job_service_proto_enumTypes[4]
   366  }
   367  
   368  func (x PredictionInput_DataFormat) Number() protoreflect.EnumNumber {
   369  	return protoreflect.EnumNumber(x)
   370  }
   371  
   372  // Deprecated: Use PredictionInput_DataFormat.Descriptor instead.
   373  func (PredictionInput_DataFormat) EnumDescriptor() ([]byte, []int) {
   374  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{5, 0}
   375  }
   376  
   377  // Describes the job state.
   378  type Job_State int32
   379  
   380  const (
   381  	// The job state is unspecified.
   382  	Job_STATE_UNSPECIFIED Job_State = 0
   383  	// The job has been just created and processing has not yet begun.
   384  	Job_QUEUED Job_State = 1
   385  	// The service is preparing to run the job.
   386  	Job_PREPARING Job_State = 2
   387  	// The job is in progress.
   388  	Job_RUNNING Job_State = 3
   389  	// The job completed successfully.
   390  	Job_SUCCEEDED Job_State = 4
   391  	// The job failed.
   392  	// `error_message` should contain the details of the failure.
   393  	Job_FAILED Job_State = 5
   394  	// The job is being cancelled.
   395  	// `error_message` should describe the reason for the cancellation.
   396  	Job_CANCELLING Job_State = 6
   397  	// The job has been cancelled.
   398  	// `error_message` should describe the reason for the cancellation.
   399  	Job_CANCELLED Job_State = 7
   400  )
   401  
   402  // Enum value maps for Job_State.
   403  var (
   404  	Job_State_name = map[int32]string{
   405  		0: "STATE_UNSPECIFIED",
   406  		1: "QUEUED",
   407  		2: "PREPARING",
   408  		3: "RUNNING",
   409  		4: "SUCCEEDED",
   410  		5: "FAILED",
   411  		6: "CANCELLING",
   412  		7: "CANCELLED",
   413  	}
   414  	Job_State_value = map[string]int32{
   415  		"STATE_UNSPECIFIED": 0,
   416  		"QUEUED":            1,
   417  		"PREPARING":         2,
   418  		"RUNNING":           3,
   419  		"SUCCEEDED":         4,
   420  		"FAILED":            5,
   421  		"CANCELLING":        6,
   422  		"CANCELLED":         7,
   423  	}
   424  )
   425  
   426  func (x Job_State) Enum() *Job_State {
   427  	p := new(Job_State)
   428  	*p = x
   429  	return p
   430  }
   431  
   432  func (x Job_State) String() string {
   433  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   434  }
   435  
   436  func (Job_State) Descriptor() protoreflect.EnumDescriptor {
   437  	return file_google_cloud_ml_v1_job_service_proto_enumTypes[5].Descriptor()
   438  }
   439  
   440  func (Job_State) Type() protoreflect.EnumType {
   441  	return &file_google_cloud_ml_v1_job_service_proto_enumTypes[5]
   442  }
   443  
   444  func (x Job_State) Number() protoreflect.EnumNumber {
   445  	return protoreflect.EnumNumber(x)
   446  }
   447  
   448  // Deprecated: Use Job_State.Descriptor instead.
   449  func (Job_State) EnumDescriptor() ([]byte, []int) {
   450  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{7, 0}
   451  }
   452  
   453  // Represents input parameters for a training job.
   454  type TrainingInput struct {
   455  	state         protoimpl.MessageState
   456  	sizeCache     protoimpl.SizeCache
   457  	unknownFields protoimpl.UnknownFields
   458  
   459  	// Required. Specifies the machine types, the number of replicas for workers
   460  	// and parameter servers.
   461  	ScaleTier TrainingInput_ScaleTier `protobuf:"varint,1,opt,name=scale_tier,json=scaleTier,proto3,enum=google.cloud.ml.v1.TrainingInput_ScaleTier" json:"scale_tier,omitempty"`
   462  	// Optional. Specifies the type of virtual machine to use for your training
   463  	// job's master worker.
   464  	//
   465  	// The following types are supported:
   466  	//
   467  	// <dl>
   468  	//   <dt>standard</dt>
   469  	//   <dd>
   470  	//   A basic machine configuration suitable for training simple models with
   471  	//   small to moderate datasets.
   472  	//   </dd>
   473  	//   <dt>large_model</dt>
   474  	//   <dd>
   475  	//   A machine with a lot of memory, specially suited for parameter servers
   476  	//   when your model is large (having many hidden layers or layers with very
   477  	//   large numbers of nodes).
   478  	//   </dd>
   479  	//   <dt>complex_model_s</dt>
   480  	//   <dd>
   481  	//   A machine suitable for the master and workers of the cluster when your
   482  	//   model requires more computation than the standard machine can handle
   483  	//   satisfactorily.
   484  	//   </dd>
   485  	//   <dt>complex_model_m</dt>
   486  	//   <dd>
   487  	//   A machine with roughly twice the number of cores and roughly double the
   488  	//   memory of <code suppresswarning="true">complex_model_s</code>.
   489  	//   </dd>
   490  	//   <dt>complex_model_l</dt>
   491  	//   <dd>
   492  	//   A machine with roughly twice the number of cores and roughly double the
   493  	//   memory of <code suppresswarning="true">complex_model_m</code>.
   494  	//   </dd>
   495  	//   <dt>standard_gpu</dt>
   496  	//   <dd>
   497  	//   A machine equivalent to <code suppresswarning="true">standard</code> that
   498  	//   also includes a
   499  	//   <a href="ml/docs/how-tos/using-gpus">
   500  	//   GPU that you can use in your trainer</a>.
   501  	//   </dd>
   502  	//   <dt>complex_model_m_gpu</dt>
   503  	//   <dd>
   504  	//   A machine equivalent to
   505  	//   <code suppresswarning="true">coplex_model_m</code> that also includes
   506  	//   four GPUs.
   507  	//   </dd>
   508  	// </dl>
   509  	//
   510  	// You must set this value when `scaleTier` is set to `CUSTOM`.
   511  	MasterType string `protobuf:"bytes,2,opt,name=master_type,json=masterType,proto3" json:"master_type,omitempty"`
   512  	// Optional. Specifies the type of virtual machine to use for your training
   513  	// job's worker nodes.
   514  	//
   515  	// The supported values are the same as those described in the entry for
   516  	// `masterType`.
   517  	//
   518  	// This value must be present when `scaleTier` is set to `CUSTOM` and
   519  	// `workerCount` is greater than zero.
   520  	WorkerType string `protobuf:"bytes,3,opt,name=worker_type,json=workerType,proto3" json:"worker_type,omitempty"`
   521  	// Optional. Specifies the type of virtual machine to use for your training
   522  	// job's parameter server.
   523  	//
   524  	// The supported values are the same as those described in the entry for
   525  	// `master_type`.
   526  	//
   527  	// This value must be present when `scaleTier` is set to `CUSTOM` and
   528  	// `parameter_server_count` is greater than zero.
   529  	ParameterServerType string `protobuf:"bytes,4,opt,name=parameter_server_type,json=parameterServerType,proto3" json:"parameter_server_type,omitempty"`
   530  	// Optional. The number of worker replicas to use for the training job. Each
   531  	// replica in the cluster will be of the type specified in `worker_type`.
   532  	//
   533  	// This value can only be used when `scale_tier` is set to `CUSTOM`. If you
   534  	// set this value, you must also set `worker_type`.
   535  	WorkerCount int64 `protobuf:"varint,5,opt,name=worker_count,json=workerCount,proto3" json:"worker_count,omitempty"`
   536  	// Optional. The number of parameter server replicas to use for the training
   537  	// job. Each replica in the cluster will be of the type specified in
   538  	// `parameter_server_type`.
   539  	//
   540  	// This value can only be used when `scale_tier` is set to `CUSTOM`.If you
   541  	// set this value, you must also set `parameter_server_type`.
   542  	ParameterServerCount int64 `protobuf:"varint,6,opt,name=parameter_server_count,json=parameterServerCount,proto3" json:"parameter_server_count,omitempty"`
   543  	// Required. The Google Cloud Storage location of the packages with
   544  	// the training program and any additional dependencies.
   545  	PackageUris []string `protobuf:"bytes,7,rep,name=package_uris,json=packageUris,proto3" json:"package_uris,omitempty"`
   546  	// Required. The Python module name to run after installing the packages.
   547  	PythonModule string `protobuf:"bytes,8,opt,name=python_module,json=pythonModule,proto3" json:"python_module,omitempty"`
   548  	// Optional. Command line arguments to pass to the program.
   549  	Args []string `protobuf:"bytes,10,rep,name=args,proto3" json:"args,omitempty"`
   550  	// Optional. The set of Hyperparameters to tune.
   551  	Hyperparameters *HyperparameterSpec `protobuf:"bytes,12,opt,name=hyperparameters,proto3" json:"hyperparameters,omitempty"`
   552  	// Required. The Google Compute Engine region to run the training job in.
   553  	Region string `protobuf:"bytes,14,opt,name=region,proto3" json:"region,omitempty"`
   554  	// Optional. A Google Cloud Storage path in which to store training outputs
   555  	// and other data needed for training. This path is passed to your TensorFlow
   556  	// program as the 'job_dir' command-line argument. The benefit of specifying
   557  	// this field is that Cloud ML validates the path for use in training.
   558  	JobDir string `protobuf:"bytes,16,opt,name=job_dir,json=jobDir,proto3" json:"job_dir,omitempty"`
   559  	// Optional. The Google Cloud ML runtime version to use for training.  If not
   560  	// set, Google Cloud ML will choose the latest stable version.
   561  	RuntimeVersion string `protobuf:"bytes,15,opt,name=runtime_version,json=runtimeVersion,proto3" json:"runtime_version,omitempty"`
   562  }
   563  
   564  func (x *TrainingInput) Reset() {
   565  	*x = TrainingInput{}
   566  	if protoimpl.UnsafeEnabled {
   567  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[0]
   568  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   569  		ms.StoreMessageInfo(mi)
   570  	}
   571  }
   572  
   573  func (x *TrainingInput) String() string {
   574  	return protoimpl.X.MessageStringOf(x)
   575  }
   576  
   577  func (*TrainingInput) ProtoMessage() {}
   578  
   579  func (x *TrainingInput) ProtoReflect() protoreflect.Message {
   580  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[0]
   581  	if protoimpl.UnsafeEnabled && x != nil {
   582  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   583  		if ms.LoadMessageInfo() == nil {
   584  			ms.StoreMessageInfo(mi)
   585  		}
   586  		return ms
   587  	}
   588  	return mi.MessageOf(x)
   589  }
   590  
   591  // Deprecated: Use TrainingInput.ProtoReflect.Descriptor instead.
   592  func (*TrainingInput) Descriptor() ([]byte, []int) {
   593  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{0}
   594  }
   595  
   596  func (x *TrainingInput) GetScaleTier() TrainingInput_ScaleTier {
   597  	if x != nil {
   598  		return x.ScaleTier
   599  	}
   600  	return TrainingInput_BASIC
   601  }
   602  
   603  func (x *TrainingInput) GetMasterType() string {
   604  	if x != nil {
   605  		return x.MasterType
   606  	}
   607  	return ""
   608  }
   609  
   610  func (x *TrainingInput) GetWorkerType() string {
   611  	if x != nil {
   612  		return x.WorkerType
   613  	}
   614  	return ""
   615  }
   616  
   617  func (x *TrainingInput) GetParameterServerType() string {
   618  	if x != nil {
   619  		return x.ParameterServerType
   620  	}
   621  	return ""
   622  }
   623  
   624  func (x *TrainingInput) GetWorkerCount() int64 {
   625  	if x != nil {
   626  		return x.WorkerCount
   627  	}
   628  	return 0
   629  }
   630  
   631  func (x *TrainingInput) GetParameterServerCount() int64 {
   632  	if x != nil {
   633  		return x.ParameterServerCount
   634  	}
   635  	return 0
   636  }
   637  
   638  func (x *TrainingInput) GetPackageUris() []string {
   639  	if x != nil {
   640  		return x.PackageUris
   641  	}
   642  	return nil
   643  }
   644  
   645  func (x *TrainingInput) GetPythonModule() string {
   646  	if x != nil {
   647  		return x.PythonModule
   648  	}
   649  	return ""
   650  }
   651  
   652  func (x *TrainingInput) GetArgs() []string {
   653  	if x != nil {
   654  		return x.Args
   655  	}
   656  	return nil
   657  }
   658  
   659  func (x *TrainingInput) GetHyperparameters() *HyperparameterSpec {
   660  	if x != nil {
   661  		return x.Hyperparameters
   662  	}
   663  	return nil
   664  }
   665  
   666  func (x *TrainingInput) GetRegion() string {
   667  	if x != nil {
   668  		return x.Region
   669  	}
   670  	return ""
   671  }
   672  
   673  func (x *TrainingInput) GetJobDir() string {
   674  	if x != nil {
   675  		return x.JobDir
   676  	}
   677  	return ""
   678  }
   679  
   680  func (x *TrainingInput) GetRuntimeVersion() string {
   681  	if x != nil {
   682  		return x.RuntimeVersion
   683  	}
   684  	return ""
   685  }
   686  
   687  // Represents a set of hyperparameters to optimize.
   688  type HyperparameterSpec struct {
   689  	state         protoimpl.MessageState
   690  	sizeCache     protoimpl.SizeCache
   691  	unknownFields protoimpl.UnknownFields
   692  
   693  	// Required. The type of goal to use for tuning. Available types are
   694  	// `MAXIMIZE` and `MINIMIZE`.
   695  	//
   696  	// Defaults to `MAXIMIZE`.
   697  	Goal HyperparameterSpec_GoalType `protobuf:"varint,1,opt,name=goal,proto3,enum=google.cloud.ml.v1.HyperparameterSpec_GoalType" json:"goal,omitempty"`
   698  	// Required. The set of parameters to tune.
   699  	Params []*ParameterSpec `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"`
   700  	// Optional. How many training trials should be attempted to optimize
   701  	// the specified hyperparameters.
   702  	//
   703  	// Defaults to one.
   704  	MaxTrials int32 `protobuf:"varint,3,opt,name=max_trials,json=maxTrials,proto3" json:"max_trials,omitempty"`
   705  	// Optional. The number of training trials to run concurrently.
   706  	// You can reduce the time it takes to perform hyperparameter tuning by adding
   707  	// trials in parallel. However, each trail only benefits from the information
   708  	// gained in completed trials. That means that a trial does not get access to
   709  	// the results of trials running at the same time, which could reduce the
   710  	// quality of the overall optimization.
   711  	//
   712  	// Each trial will use the same scale tier and machine types.
   713  	//
   714  	// Defaults to one.
   715  	MaxParallelTrials int32 `protobuf:"varint,4,opt,name=max_parallel_trials,json=maxParallelTrials,proto3" json:"max_parallel_trials,omitempty"`
   716  	// Optional. The Tensorflow summary tag name to use for optimizing trials. For
   717  	// current versions of Tensorflow, this tag name should exactly match what is
   718  	// shown in Tensorboard, including all scopes.  For versions of Tensorflow
   719  	// prior to 0.12, this should be only the tag passed to tf.Summary.
   720  	// By default, "training/hptuning/metric" will be used.
   721  	HyperparameterMetricTag string `protobuf:"bytes,5,opt,name=hyperparameter_metric_tag,json=hyperparameterMetricTag,proto3" json:"hyperparameter_metric_tag,omitempty"`
   722  }
   723  
   724  func (x *HyperparameterSpec) Reset() {
   725  	*x = HyperparameterSpec{}
   726  	if protoimpl.UnsafeEnabled {
   727  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[1]
   728  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   729  		ms.StoreMessageInfo(mi)
   730  	}
   731  }
   732  
   733  func (x *HyperparameterSpec) String() string {
   734  	return protoimpl.X.MessageStringOf(x)
   735  }
   736  
   737  func (*HyperparameterSpec) ProtoMessage() {}
   738  
   739  func (x *HyperparameterSpec) ProtoReflect() protoreflect.Message {
   740  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[1]
   741  	if protoimpl.UnsafeEnabled && x != nil {
   742  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   743  		if ms.LoadMessageInfo() == nil {
   744  			ms.StoreMessageInfo(mi)
   745  		}
   746  		return ms
   747  	}
   748  	return mi.MessageOf(x)
   749  }
   750  
   751  // Deprecated: Use HyperparameterSpec.ProtoReflect.Descriptor instead.
   752  func (*HyperparameterSpec) Descriptor() ([]byte, []int) {
   753  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{1}
   754  }
   755  
   756  func (x *HyperparameterSpec) GetGoal() HyperparameterSpec_GoalType {
   757  	if x != nil {
   758  		return x.Goal
   759  	}
   760  	return HyperparameterSpec_GOAL_TYPE_UNSPECIFIED
   761  }
   762  
   763  func (x *HyperparameterSpec) GetParams() []*ParameterSpec {
   764  	if x != nil {
   765  		return x.Params
   766  	}
   767  	return nil
   768  }
   769  
   770  func (x *HyperparameterSpec) GetMaxTrials() int32 {
   771  	if x != nil {
   772  		return x.MaxTrials
   773  	}
   774  	return 0
   775  }
   776  
   777  func (x *HyperparameterSpec) GetMaxParallelTrials() int32 {
   778  	if x != nil {
   779  		return x.MaxParallelTrials
   780  	}
   781  	return 0
   782  }
   783  
   784  func (x *HyperparameterSpec) GetHyperparameterMetricTag() string {
   785  	if x != nil {
   786  		return x.HyperparameterMetricTag
   787  	}
   788  	return ""
   789  }
   790  
   791  // Represents a single hyperparameter to optimize.
   792  type ParameterSpec struct {
   793  	state         protoimpl.MessageState
   794  	sizeCache     protoimpl.SizeCache
   795  	unknownFields protoimpl.UnknownFields
   796  
   797  	// Required. The parameter name must be unique amongst all ParameterConfigs in
   798  	// a HyperparameterSpec message. E.g., "learning_rate".
   799  	ParameterName string `protobuf:"bytes,1,opt,name=parameter_name,json=parameterName,proto3" json:"parameter_name,omitempty"`
   800  	// Required. The type of the parameter.
   801  	Type ParameterSpec_ParameterType `protobuf:"varint,4,opt,name=type,proto3,enum=google.cloud.ml.v1.ParameterSpec_ParameterType" json:"type,omitempty"`
   802  	// Required if type is `DOUBLE` or `INTEGER`. This field
   803  	// should be unset if type is `CATEGORICAL`. This value should be integers if
   804  	// type is INTEGER.
   805  	MinValue float64 `protobuf:"fixed64,2,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"`
   806  	// Required if typeis `DOUBLE` or `INTEGER`. This field
   807  	// should be unset if type is `CATEGORICAL`. This value should be integers if
   808  	// type is `INTEGER`.
   809  	MaxValue float64 `protobuf:"fixed64,3,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"`
   810  	// Required if type is `CATEGORICAL`. The list of possible categories.
   811  	CategoricalValues []string `protobuf:"bytes,5,rep,name=categorical_values,json=categoricalValues,proto3" json:"categorical_values,omitempty"`
   812  	// Required if type is `DISCRETE`.
   813  	// A list of feasible points.
   814  	// The list should be in strictly increasing order. For instance, this
   815  	// parameter might have possible settings of 1.5, 2.5, and 4.0. This list
   816  	// should not contain more than 1,000 values.
   817  	DiscreteValues []float64 `protobuf:"fixed64,6,rep,packed,name=discrete_values,json=discreteValues,proto3" json:"discrete_values,omitempty"`
   818  	// Optional. How the parameter should be scaled to the hypercube.
   819  	// Leave unset for categorical parameters.
   820  	// Some kind of scaling is strongly recommended for real or integral
   821  	// parameters (e.g., `UNIT_LINEAR_SCALE`).
   822  	ScaleType ParameterSpec_ScaleType `protobuf:"varint,7,opt,name=scale_type,json=scaleType,proto3,enum=google.cloud.ml.v1.ParameterSpec_ScaleType" json:"scale_type,omitempty"`
   823  }
   824  
   825  func (x *ParameterSpec) Reset() {
   826  	*x = ParameterSpec{}
   827  	if protoimpl.UnsafeEnabled {
   828  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[2]
   829  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   830  		ms.StoreMessageInfo(mi)
   831  	}
   832  }
   833  
   834  func (x *ParameterSpec) String() string {
   835  	return protoimpl.X.MessageStringOf(x)
   836  }
   837  
   838  func (*ParameterSpec) ProtoMessage() {}
   839  
   840  func (x *ParameterSpec) ProtoReflect() protoreflect.Message {
   841  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[2]
   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 ParameterSpec.ProtoReflect.Descriptor instead.
   853  func (*ParameterSpec) Descriptor() ([]byte, []int) {
   854  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{2}
   855  }
   856  
   857  func (x *ParameterSpec) GetParameterName() string {
   858  	if x != nil {
   859  		return x.ParameterName
   860  	}
   861  	return ""
   862  }
   863  
   864  func (x *ParameterSpec) GetType() ParameterSpec_ParameterType {
   865  	if x != nil {
   866  		return x.Type
   867  	}
   868  	return ParameterSpec_PARAMETER_TYPE_UNSPECIFIED
   869  }
   870  
   871  func (x *ParameterSpec) GetMinValue() float64 {
   872  	if x != nil {
   873  		return x.MinValue
   874  	}
   875  	return 0
   876  }
   877  
   878  func (x *ParameterSpec) GetMaxValue() float64 {
   879  	if x != nil {
   880  		return x.MaxValue
   881  	}
   882  	return 0
   883  }
   884  
   885  func (x *ParameterSpec) GetCategoricalValues() []string {
   886  	if x != nil {
   887  		return x.CategoricalValues
   888  	}
   889  	return nil
   890  }
   891  
   892  func (x *ParameterSpec) GetDiscreteValues() []float64 {
   893  	if x != nil {
   894  		return x.DiscreteValues
   895  	}
   896  	return nil
   897  }
   898  
   899  func (x *ParameterSpec) GetScaleType() ParameterSpec_ScaleType {
   900  	if x != nil {
   901  		return x.ScaleType
   902  	}
   903  	return ParameterSpec_NONE
   904  }
   905  
   906  // Represents the result of a single hyperparameter tuning trial from a
   907  // training job. The TrainingOutput object that is returned on successful
   908  // completion of a training job with hyperparameter tuning includes a list
   909  // of HyperparameterOutput objects, one for each successful trial.
   910  type HyperparameterOutput struct {
   911  	state         protoimpl.MessageState
   912  	sizeCache     protoimpl.SizeCache
   913  	unknownFields protoimpl.UnknownFields
   914  
   915  	// The trial id for these results.
   916  	TrialId string `protobuf:"bytes,1,opt,name=trial_id,json=trialId,proto3" json:"trial_id,omitempty"`
   917  	// The hyperparameters given to this trial.
   918  	Hyperparameters map[string]string `protobuf:"bytes,2,rep,name=hyperparameters,proto3" json:"hyperparameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   919  	// The final objective metric seen for this trial.
   920  	FinalMetric *HyperparameterOutput_HyperparameterMetric `protobuf:"bytes,3,opt,name=final_metric,json=finalMetric,proto3" json:"final_metric,omitempty"`
   921  	// All recorded object metrics for this trial.
   922  	AllMetrics []*HyperparameterOutput_HyperparameterMetric `protobuf:"bytes,4,rep,name=all_metrics,json=allMetrics,proto3" json:"all_metrics,omitempty"`
   923  }
   924  
   925  func (x *HyperparameterOutput) Reset() {
   926  	*x = HyperparameterOutput{}
   927  	if protoimpl.UnsafeEnabled {
   928  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[3]
   929  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   930  		ms.StoreMessageInfo(mi)
   931  	}
   932  }
   933  
   934  func (x *HyperparameterOutput) String() string {
   935  	return protoimpl.X.MessageStringOf(x)
   936  }
   937  
   938  func (*HyperparameterOutput) ProtoMessage() {}
   939  
   940  func (x *HyperparameterOutput) ProtoReflect() protoreflect.Message {
   941  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[3]
   942  	if protoimpl.UnsafeEnabled && x != nil {
   943  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   944  		if ms.LoadMessageInfo() == nil {
   945  			ms.StoreMessageInfo(mi)
   946  		}
   947  		return ms
   948  	}
   949  	return mi.MessageOf(x)
   950  }
   951  
   952  // Deprecated: Use HyperparameterOutput.ProtoReflect.Descriptor instead.
   953  func (*HyperparameterOutput) Descriptor() ([]byte, []int) {
   954  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{3}
   955  }
   956  
   957  func (x *HyperparameterOutput) GetTrialId() string {
   958  	if x != nil {
   959  		return x.TrialId
   960  	}
   961  	return ""
   962  }
   963  
   964  func (x *HyperparameterOutput) GetHyperparameters() map[string]string {
   965  	if x != nil {
   966  		return x.Hyperparameters
   967  	}
   968  	return nil
   969  }
   970  
   971  func (x *HyperparameterOutput) GetFinalMetric() *HyperparameterOutput_HyperparameterMetric {
   972  	if x != nil {
   973  		return x.FinalMetric
   974  	}
   975  	return nil
   976  }
   977  
   978  func (x *HyperparameterOutput) GetAllMetrics() []*HyperparameterOutput_HyperparameterMetric {
   979  	if x != nil {
   980  		return x.AllMetrics
   981  	}
   982  	return nil
   983  }
   984  
   985  // Represents results of a training job. Output only.
   986  type TrainingOutput struct {
   987  	state         protoimpl.MessageState
   988  	sizeCache     protoimpl.SizeCache
   989  	unknownFields protoimpl.UnknownFields
   990  
   991  	// The number of hyperparameter tuning trials that completed successfully.
   992  	// Only set for hyperparameter tuning jobs.
   993  	CompletedTrialCount int64 `protobuf:"varint,1,opt,name=completed_trial_count,json=completedTrialCount,proto3" json:"completed_trial_count,omitempty"`
   994  	// Results for individual Hyperparameter trials.
   995  	// Only set for hyperparameter tuning jobs.
   996  	Trials []*HyperparameterOutput `protobuf:"bytes,2,rep,name=trials,proto3" json:"trials,omitempty"`
   997  	// The amount of ML units consumed by the job.
   998  	ConsumedMlUnits float64 `protobuf:"fixed64,3,opt,name=consumed_ml_units,json=consumedMlUnits,proto3" json:"consumed_ml_units,omitempty"`
   999  	// Whether this job is a hyperparameter tuning job.
  1000  	IsHyperparameterTuningJob bool `protobuf:"varint,4,opt,name=is_hyperparameter_tuning_job,json=isHyperparameterTuningJob,proto3" json:"is_hyperparameter_tuning_job,omitempty"`
  1001  }
  1002  
  1003  func (x *TrainingOutput) Reset() {
  1004  	*x = TrainingOutput{}
  1005  	if protoimpl.UnsafeEnabled {
  1006  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[4]
  1007  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1008  		ms.StoreMessageInfo(mi)
  1009  	}
  1010  }
  1011  
  1012  func (x *TrainingOutput) String() string {
  1013  	return protoimpl.X.MessageStringOf(x)
  1014  }
  1015  
  1016  func (*TrainingOutput) ProtoMessage() {}
  1017  
  1018  func (x *TrainingOutput) ProtoReflect() protoreflect.Message {
  1019  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[4]
  1020  	if protoimpl.UnsafeEnabled && x != nil {
  1021  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1022  		if ms.LoadMessageInfo() == nil {
  1023  			ms.StoreMessageInfo(mi)
  1024  		}
  1025  		return ms
  1026  	}
  1027  	return mi.MessageOf(x)
  1028  }
  1029  
  1030  // Deprecated: Use TrainingOutput.ProtoReflect.Descriptor instead.
  1031  func (*TrainingOutput) Descriptor() ([]byte, []int) {
  1032  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{4}
  1033  }
  1034  
  1035  func (x *TrainingOutput) GetCompletedTrialCount() int64 {
  1036  	if x != nil {
  1037  		return x.CompletedTrialCount
  1038  	}
  1039  	return 0
  1040  }
  1041  
  1042  func (x *TrainingOutput) GetTrials() []*HyperparameterOutput {
  1043  	if x != nil {
  1044  		return x.Trials
  1045  	}
  1046  	return nil
  1047  }
  1048  
  1049  func (x *TrainingOutput) GetConsumedMlUnits() float64 {
  1050  	if x != nil {
  1051  		return x.ConsumedMlUnits
  1052  	}
  1053  	return 0
  1054  }
  1055  
  1056  func (x *TrainingOutput) GetIsHyperparameterTuningJob() bool {
  1057  	if x != nil {
  1058  		return x.IsHyperparameterTuningJob
  1059  	}
  1060  	return false
  1061  }
  1062  
  1063  // Represents input parameters for a prediction job.
  1064  type PredictionInput struct {
  1065  	state         protoimpl.MessageState
  1066  	sizeCache     protoimpl.SizeCache
  1067  	unknownFields protoimpl.UnknownFields
  1068  
  1069  	// Required. The model or the version to use for prediction.
  1070  	//
  1071  	// Types that are assignable to ModelVersion:
  1072  	//	*PredictionInput_ModelName
  1073  	//	*PredictionInput_VersionName
  1074  	//	*PredictionInput_Uri
  1075  	ModelVersion isPredictionInput_ModelVersion `protobuf_oneof:"model_version"`
  1076  	// Required. The format of the input data files.
  1077  	DataFormat PredictionInput_DataFormat `protobuf:"varint,3,opt,name=data_format,json=dataFormat,proto3,enum=google.cloud.ml.v1.PredictionInput_DataFormat" json:"data_format,omitempty"`
  1078  	// Required. The Google Cloud Storage location of the input data files.
  1079  	// May contain wildcards.
  1080  	InputPaths []string `protobuf:"bytes,4,rep,name=input_paths,json=inputPaths,proto3" json:"input_paths,omitempty"`
  1081  	// Required. The output Google Cloud Storage location.
  1082  	OutputPath string `protobuf:"bytes,5,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
  1083  	// Optional. The maximum number of workers to be used for parallel processing.
  1084  	// Defaults to 10 if not specified.
  1085  	MaxWorkerCount int64 `protobuf:"varint,6,opt,name=max_worker_count,json=maxWorkerCount,proto3" json:"max_worker_count,omitempty"`
  1086  	// Required. The Google Compute Engine region to run the prediction job in.
  1087  	Region string `protobuf:"bytes,7,opt,name=region,proto3" json:"region,omitempty"`
  1088  	// Optional. The Google Cloud ML runtime version to use for this batch
  1089  	// prediction. If not set, Google Cloud ML will pick the runtime version used
  1090  	// during the CreateVersion request for this model version, or choose the
  1091  	// latest stable version when model version information is not available
  1092  	// such as when the model is specified by uri.
  1093  	RuntimeVersion string `protobuf:"bytes,8,opt,name=runtime_version,json=runtimeVersion,proto3" json:"runtime_version,omitempty"`
  1094  }
  1095  
  1096  func (x *PredictionInput) Reset() {
  1097  	*x = PredictionInput{}
  1098  	if protoimpl.UnsafeEnabled {
  1099  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[5]
  1100  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1101  		ms.StoreMessageInfo(mi)
  1102  	}
  1103  }
  1104  
  1105  func (x *PredictionInput) String() string {
  1106  	return protoimpl.X.MessageStringOf(x)
  1107  }
  1108  
  1109  func (*PredictionInput) ProtoMessage() {}
  1110  
  1111  func (x *PredictionInput) ProtoReflect() protoreflect.Message {
  1112  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[5]
  1113  	if protoimpl.UnsafeEnabled && x != nil {
  1114  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1115  		if ms.LoadMessageInfo() == nil {
  1116  			ms.StoreMessageInfo(mi)
  1117  		}
  1118  		return ms
  1119  	}
  1120  	return mi.MessageOf(x)
  1121  }
  1122  
  1123  // Deprecated: Use PredictionInput.ProtoReflect.Descriptor instead.
  1124  func (*PredictionInput) Descriptor() ([]byte, []int) {
  1125  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{5}
  1126  }
  1127  
  1128  func (m *PredictionInput) GetModelVersion() isPredictionInput_ModelVersion {
  1129  	if m != nil {
  1130  		return m.ModelVersion
  1131  	}
  1132  	return nil
  1133  }
  1134  
  1135  func (x *PredictionInput) GetModelName() string {
  1136  	if x, ok := x.GetModelVersion().(*PredictionInput_ModelName); ok {
  1137  		return x.ModelName
  1138  	}
  1139  	return ""
  1140  }
  1141  
  1142  func (x *PredictionInput) GetVersionName() string {
  1143  	if x, ok := x.GetModelVersion().(*PredictionInput_VersionName); ok {
  1144  		return x.VersionName
  1145  	}
  1146  	return ""
  1147  }
  1148  
  1149  func (x *PredictionInput) GetUri() string {
  1150  	if x, ok := x.GetModelVersion().(*PredictionInput_Uri); ok {
  1151  		return x.Uri
  1152  	}
  1153  	return ""
  1154  }
  1155  
  1156  func (x *PredictionInput) GetDataFormat() PredictionInput_DataFormat {
  1157  	if x != nil {
  1158  		return x.DataFormat
  1159  	}
  1160  	return PredictionInput_DATA_FORMAT_UNSPECIFIED
  1161  }
  1162  
  1163  func (x *PredictionInput) GetInputPaths() []string {
  1164  	if x != nil {
  1165  		return x.InputPaths
  1166  	}
  1167  	return nil
  1168  }
  1169  
  1170  func (x *PredictionInput) GetOutputPath() string {
  1171  	if x != nil {
  1172  		return x.OutputPath
  1173  	}
  1174  	return ""
  1175  }
  1176  
  1177  func (x *PredictionInput) GetMaxWorkerCount() int64 {
  1178  	if x != nil {
  1179  		return x.MaxWorkerCount
  1180  	}
  1181  	return 0
  1182  }
  1183  
  1184  func (x *PredictionInput) GetRegion() string {
  1185  	if x != nil {
  1186  		return x.Region
  1187  	}
  1188  	return ""
  1189  }
  1190  
  1191  func (x *PredictionInput) GetRuntimeVersion() string {
  1192  	if x != nil {
  1193  		return x.RuntimeVersion
  1194  	}
  1195  	return ""
  1196  }
  1197  
  1198  type isPredictionInput_ModelVersion interface {
  1199  	isPredictionInput_ModelVersion()
  1200  }
  1201  
  1202  type PredictionInput_ModelName struct {
  1203  	// Use this field if you want to use the default version for the specified
  1204  	// model. The string must use the following format:
  1205  	//
  1206  	// `"projects/<var>[YOUR_PROJECT]</var>/models/<var>[YOUR_MODEL]</var>"`
  1207  	ModelName string `protobuf:"bytes,1,opt,name=model_name,json=modelName,proto3,oneof"`
  1208  }
  1209  
  1210  type PredictionInput_VersionName struct {
  1211  	// Use this field if you want to specify a version of the model to use. The
  1212  	// string is formatted the same way as `model_version`, with the addition
  1213  	// of the version information:
  1214  	//
  1215  	// `"projects/<var>[YOUR_PROJECT]</var>/models/<var>YOUR_MODEL/versions/<var>[YOUR_VERSION]</var>"`
  1216  	VersionName string `protobuf:"bytes,2,opt,name=version_name,json=versionName,proto3,oneof"`
  1217  }
  1218  
  1219  type PredictionInput_Uri struct {
  1220  	// Use this field if you want to specify a Google Cloud Storage path for
  1221  	// the model to use.
  1222  	Uri string `protobuf:"bytes,9,opt,name=uri,proto3,oneof"`
  1223  }
  1224  
  1225  func (*PredictionInput_ModelName) isPredictionInput_ModelVersion() {}
  1226  
  1227  func (*PredictionInput_VersionName) isPredictionInput_ModelVersion() {}
  1228  
  1229  func (*PredictionInput_Uri) isPredictionInput_ModelVersion() {}
  1230  
  1231  // Represents results of a prediction job.
  1232  type PredictionOutput struct {
  1233  	state         protoimpl.MessageState
  1234  	sizeCache     protoimpl.SizeCache
  1235  	unknownFields protoimpl.UnknownFields
  1236  
  1237  	// The output Google Cloud Storage location provided at the job creation time.
  1238  	OutputPath string `protobuf:"bytes,1,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
  1239  	// The number of generated predictions.
  1240  	PredictionCount int64 `protobuf:"varint,2,opt,name=prediction_count,json=predictionCount,proto3" json:"prediction_count,omitempty"`
  1241  	// The number of data instances which resulted in errors.
  1242  	ErrorCount int64 `protobuf:"varint,3,opt,name=error_count,json=errorCount,proto3" json:"error_count,omitempty"`
  1243  	// Node hours used by the batch prediction job.
  1244  	NodeHours float64 `protobuf:"fixed64,4,opt,name=node_hours,json=nodeHours,proto3" json:"node_hours,omitempty"`
  1245  }
  1246  
  1247  func (x *PredictionOutput) Reset() {
  1248  	*x = PredictionOutput{}
  1249  	if protoimpl.UnsafeEnabled {
  1250  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[6]
  1251  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1252  		ms.StoreMessageInfo(mi)
  1253  	}
  1254  }
  1255  
  1256  func (x *PredictionOutput) String() string {
  1257  	return protoimpl.X.MessageStringOf(x)
  1258  }
  1259  
  1260  func (*PredictionOutput) ProtoMessage() {}
  1261  
  1262  func (x *PredictionOutput) ProtoReflect() protoreflect.Message {
  1263  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[6]
  1264  	if protoimpl.UnsafeEnabled && x != nil {
  1265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1266  		if ms.LoadMessageInfo() == nil {
  1267  			ms.StoreMessageInfo(mi)
  1268  		}
  1269  		return ms
  1270  	}
  1271  	return mi.MessageOf(x)
  1272  }
  1273  
  1274  // Deprecated: Use PredictionOutput.ProtoReflect.Descriptor instead.
  1275  func (*PredictionOutput) Descriptor() ([]byte, []int) {
  1276  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{6}
  1277  }
  1278  
  1279  func (x *PredictionOutput) GetOutputPath() string {
  1280  	if x != nil {
  1281  		return x.OutputPath
  1282  	}
  1283  	return ""
  1284  }
  1285  
  1286  func (x *PredictionOutput) GetPredictionCount() int64 {
  1287  	if x != nil {
  1288  		return x.PredictionCount
  1289  	}
  1290  	return 0
  1291  }
  1292  
  1293  func (x *PredictionOutput) GetErrorCount() int64 {
  1294  	if x != nil {
  1295  		return x.ErrorCount
  1296  	}
  1297  	return 0
  1298  }
  1299  
  1300  func (x *PredictionOutput) GetNodeHours() float64 {
  1301  	if x != nil {
  1302  		return x.NodeHours
  1303  	}
  1304  	return 0
  1305  }
  1306  
  1307  // Represents a training or prediction job.
  1308  type Job struct {
  1309  	state         protoimpl.MessageState
  1310  	sizeCache     protoimpl.SizeCache
  1311  	unknownFields protoimpl.UnknownFields
  1312  
  1313  	// Required. The user-specified id of the job.
  1314  	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
  1315  	// Required. Parameters to create a job.
  1316  	//
  1317  	// Types that are assignable to Input:
  1318  	//	*Job_TrainingInput
  1319  	//	*Job_PredictionInput
  1320  	Input isJob_Input `protobuf_oneof:"input"`
  1321  	// Output only. When the job was created.
  1322  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  1323  	// Output only. When the job processing was started.
  1324  	StartTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  1325  	// Output only. When the job processing was completed.
  1326  	EndTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  1327  	// Output only. The detailed state of a job.
  1328  	State Job_State `protobuf:"varint,7,opt,name=state,proto3,enum=google.cloud.ml.v1.Job_State" json:"state,omitempty"`
  1329  	// Output only. The details of a failure or a cancellation.
  1330  	ErrorMessage string `protobuf:"bytes,8,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
  1331  	// Output only. The current result of the job.
  1332  	//
  1333  	// Types that are assignable to Output:
  1334  	//	*Job_TrainingOutput
  1335  	//	*Job_PredictionOutput
  1336  	Output isJob_Output `protobuf_oneof:"output"`
  1337  }
  1338  
  1339  func (x *Job) Reset() {
  1340  	*x = Job{}
  1341  	if protoimpl.UnsafeEnabled {
  1342  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[7]
  1343  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1344  		ms.StoreMessageInfo(mi)
  1345  	}
  1346  }
  1347  
  1348  func (x *Job) String() string {
  1349  	return protoimpl.X.MessageStringOf(x)
  1350  }
  1351  
  1352  func (*Job) ProtoMessage() {}
  1353  
  1354  func (x *Job) ProtoReflect() protoreflect.Message {
  1355  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[7]
  1356  	if protoimpl.UnsafeEnabled && x != nil {
  1357  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1358  		if ms.LoadMessageInfo() == nil {
  1359  			ms.StoreMessageInfo(mi)
  1360  		}
  1361  		return ms
  1362  	}
  1363  	return mi.MessageOf(x)
  1364  }
  1365  
  1366  // Deprecated: Use Job.ProtoReflect.Descriptor instead.
  1367  func (*Job) Descriptor() ([]byte, []int) {
  1368  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{7}
  1369  }
  1370  
  1371  func (x *Job) GetJobId() string {
  1372  	if x != nil {
  1373  		return x.JobId
  1374  	}
  1375  	return ""
  1376  }
  1377  
  1378  func (m *Job) GetInput() isJob_Input {
  1379  	if m != nil {
  1380  		return m.Input
  1381  	}
  1382  	return nil
  1383  }
  1384  
  1385  func (x *Job) GetTrainingInput() *TrainingInput {
  1386  	if x, ok := x.GetInput().(*Job_TrainingInput); ok {
  1387  		return x.TrainingInput
  1388  	}
  1389  	return nil
  1390  }
  1391  
  1392  func (x *Job) GetPredictionInput() *PredictionInput {
  1393  	if x, ok := x.GetInput().(*Job_PredictionInput); ok {
  1394  		return x.PredictionInput
  1395  	}
  1396  	return nil
  1397  }
  1398  
  1399  func (x *Job) GetCreateTime() *timestamppb.Timestamp {
  1400  	if x != nil {
  1401  		return x.CreateTime
  1402  	}
  1403  	return nil
  1404  }
  1405  
  1406  func (x *Job) GetStartTime() *timestamppb.Timestamp {
  1407  	if x != nil {
  1408  		return x.StartTime
  1409  	}
  1410  	return nil
  1411  }
  1412  
  1413  func (x *Job) GetEndTime() *timestamppb.Timestamp {
  1414  	if x != nil {
  1415  		return x.EndTime
  1416  	}
  1417  	return nil
  1418  }
  1419  
  1420  func (x *Job) GetState() Job_State {
  1421  	if x != nil {
  1422  		return x.State
  1423  	}
  1424  	return Job_STATE_UNSPECIFIED
  1425  }
  1426  
  1427  func (x *Job) GetErrorMessage() string {
  1428  	if x != nil {
  1429  		return x.ErrorMessage
  1430  	}
  1431  	return ""
  1432  }
  1433  
  1434  func (m *Job) GetOutput() isJob_Output {
  1435  	if m != nil {
  1436  		return m.Output
  1437  	}
  1438  	return nil
  1439  }
  1440  
  1441  func (x *Job) GetTrainingOutput() *TrainingOutput {
  1442  	if x, ok := x.GetOutput().(*Job_TrainingOutput); ok {
  1443  		return x.TrainingOutput
  1444  	}
  1445  	return nil
  1446  }
  1447  
  1448  func (x *Job) GetPredictionOutput() *PredictionOutput {
  1449  	if x, ok := x.GetOutput().(*Job_PredictionOutput); ok {
  1450  		return x.PredictionOutput
  1451  	}
  1452  	return nil
  1453  }
  1454  
  1455  type isJob_Input interface {
  1456  	isJob_Input()
  1457  }
  1458  
  1459  type Job_TrainingInput struct {
  1460  	// Input parameters to create a training job.
  1461  	TrainingInput *TrainingInput `protobuf:"bytes,2,opt,name=training_input,json=trainingInput,proto3,oneof"`
  1462  }
  1463  
  1464  type Job_PredictionInput struct {
  1465  	// Input parameters to create a prediction job.
  1466  	PredictionInput *PredictionInput `protobuf:"bytes,3,opt,name=prediction_input,json=predictionInput,proto3,oneof"`
  1467  }
  1468  
  1469  func (*Job_TrainingInput) isJob_Input() {}
  1470  
  1471  func (*Job_PredictionInput) isJob_Input() {}
  1472  
  1473  type isJob_Output interface {
  1474  	isJob_Output()
  1475  }
  1476  
  1477  type Job_TrainingOutput struct {
  1478  	// The current training job result.
  1479  	TrainingOutput *TrainingOutput `protobuf:"bytes,9,opt,name=training_output,json=trainingOutput,proto3,oneof"`
  1480  }
  1481  
  1482  type Job_PredictionOutput struct {
  1483  	// The current prediction job result.
  1484  	PredictionOutput *PredictionOutput `protobuf:"bytes,10,opt,name=prediction_output,json=predictionOutput,proto3,oneof"`
  1485  }
  1486  
  1487  func (*Job_TrainingOutput) isJob_Output() {}
  1488  
  1489  func (*Job_PredictionOutput) isJob_Output() {}
  1490  
  1491  // Request message for the CreateJob method.
  1492  type CreateJobRequest struct {
  1493  	state         protoimpl.MessageState
  1494  	sizeCache     protoimpl.SizeCache
  1495  	unknownFields protoimpl.UnknownFields
  1496  
  1497  	// Required. The project name.
  1498  	//
  1499  	// Authorization: requires `Editor` role on the specified project.
  1500  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1501  	// Required. The job to create.
  1502  	Job *Job `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"`
  1503  }
  1504  
  1505  func (x *CreateJobRequest) Reset() {
  1506  	*x = CreateJobRequest{}
  1507  	if protoimpl.UnsafeEnabled {
  1508  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[8]
  1509  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1510  		ms.StoreMessageInfo(mi)
  1511  	}
  1512  }
  1513  
  1514  func (x *CreateJobRequest) String() string {
  1515  	return protoimpl.X.MessageStringOf(x)
  1516  }
  1517  
  1518  func (*CreateJobRequest) ProtoMessage() {}
  1519  
  1520  func (x *CreateJobRequest) ProtoReflect() protoreflect.Message {
  1521  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[8]
  1522  	if protoimpl.UnsafeEnabled && x != nil {
  1523  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1524  		if ms.LoadMessageInfo() == nil {
  1525  			ms.StoreMessageInfo(mi)
  1526  		}
  1527  		return ms
  1528  	}
  1529  	return mi.MessageOf(x)
  1530  }
  1531  
  1532  // Deprecated: Use CreateJobRequest.ProtoReflect.Descriptor instead.
  1533  func (*CreateJobRequest) Descriptor() ([]byte, []int) {
  1534  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{8}
  1535  }
  1536  
  1537  func (x *CreateJobRequest) GetParent() string {
  1538  	if x != nil {
  1539  		return x.Parent
  1540  	}
  1541  	return ""
  1542  }
  1543  
  1544  func (x *CreateJobRequest) GetJob() *Job {
  1545  	if x != nil {
  1546  		return x.Job
  1547  	}
  1548  	return nil
  1549  }
  1550  
  1551  // Request message for the ListJobs method.
  1552  type ListJobsRequest struct {
  1553  	state         protoimpl.MessageState
  1554  	sizeCache     protoimpl.SizeCache
  1555  	unknownFields protoimpl.UnknownFields
  1556  
  1557  	// Required. The name of the project for which to list jobs.
  1558  	//
  1559  	// Authorization: requires `Viewer` role on the specified project.
  1560  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1561  	// Optional. Specifies the subset of jobs to retrieve.
  1562  	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  1563  	// Optional. A page token to request the next page of results.
  1564  	//
  1565  	// You get the token from the `next_page_token` field of the response from
  1566  	// the previous call.
  1567  	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1568  	// Optional. The number of jobs to retrieve per "page" of results. If there
  1569  	// are more remaining results than this number, the response message will
  1570  	// contain a valid value in the `next_page_token` field.
  1571  	//
  1572  	// The default value is 20, and the maximum page size is 100.
  1573  	PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  1574  }
  1575  
  1576  func (x *ListJobsRequest) Reset() {
  1577  	*x = ListJobsRequest{}
  1578  	if protoimpl.UnsafeEnabled {
  1579  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[9]
  1580  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1581  		ms.StoreMessageInfo(mi)
  1582  	}
  1583  }
  1584  
  1585  func (x *ListJobsRequest) String() string {
  1586  	return protoimpl.X.MessageStringOf(x)
  1587  }
  1588  
  1589  func (*ListJobsRequest) ProtoMessage() {}
  1590  
  1591  func (x *ListJobsRequest) ProtoReflect() protoreflect.Message {
  1592  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[9]
  1593  	if protoimpl.UnsafeEnabled && x != nil {
  1594  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1595  		if ms.LoadMessageInfo() == nil {
  1596  			ms.StoreMessageInfo(mi)
  1597  		}
  1598  		return ms
  1599  	}
  1600  	return mi.MessageOf(x)
  1601  }
  1602  
  1603  // Deprecated: Use ListJobsRequest.ProtoReflect.Descriptor instead.
  1604  func (*ListJobsRequest) Descriptor() ([]byte, []int) {
  1605  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{9}
  1606  }
  1607  
  1608  func (x *ListJobsRequest) GetParent() string {
  1609  	if x != nil {
  1610  		return x.Parent
  1611  	}
  1612  	return ""
  1613  }
  1614  
  1615  func (x *ListJobsRequest) GetFilter() string {
  1616  	if x != nil {
  1617  		return x.Filter
  1618  	}
  1619  	return ""
  1620  }
  1621  
  1622  func (x *ListJobsRequest) GetPageToken() string {
  1623  	if x != nil {
  1624  		return x.PageToken
  1625  	}
  1626  	return ""
  1627  }
  1628  
  1629  func (x *ListJobsRequest) GetPageSize() int32 {
  1630  	if x != nil {
  1631  		return x.PageSize
  1632  	}
  1633  	return 0
  1634  }
  1635  
  1636  // Response message for the ListJobs method.
  1637  type ListJobsResponse struct {
  1638  	state         protoimpl.MessageState
  1639  	sizeCache     protoimpl.SizeCache
  1640  	unknownFields protoimpl.UnknownFields
  1641  
  1642  	// The list of jobs.
  1643  	Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
  1644  	// Optional. Pass this token as the `page_token` field of the request for a
  1645  	// subsequent call.
  1646  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  1647  }
  1648  
  1649  func (x *ListJobsResponse) Reset() {
  1650  	*x = ListJobsResponse{}
  1651  	if protoimpl.UnsafeEnabled {
  1652  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[10]
  1653  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1654  		ms.StoreMessageInfo(mi)
  1655  	}
  1656  }
  1657  
  1658  func (x *ListJobsResponse) String() string {
  1659  	return protoimpl.X.MessageStringOf(x)
  1660  }
  1661  
  1662  func (*ListJobsResponse) ProtoMessage() {}
  1663  
  1664  func (x *ListJobsResponse) ProtoReflect() protoreflect.Message {
  1665  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[10]
  1666  	if protoimpl.UnsafeEnabled && x != nil {
  1667  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1668  		if ms.LoadMessageInfo() == nil {
  1669  			ms.StoreMessageInfo(mi)
  1670  		}
  1671  		return ms
  1672  	}
  1673  	return mi.MessageOf(x)
  1674  }
  1675  
  1676  // Deprecated: Use ListJobsResponse.ProtoReflect.Descriptor instead.
  1677  func (*ListJobsResponse) Descriptor() ([]byte, []int) {
  1678  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{10}
  1679  }
  1680  
  1681  func (x *ListJobsResponse) GetJobs() []*Job {
  1682  	if x != nil {
  1683  		return x.Jobs
  1684  	}
  1685  	return nil
  1686  }
  1687  
  1688  func (x *ListJobsResponse) GetNextPageToken() string {
  1689  	if x != nil {
  1690  		return x.NextPageToken
  1691  	}
  1692  	return ""
  1693  }
  1694  
  1695  // Request message for the GetJob method.
  1696  type GetJobRequest struct {
  1697  	state         protoimpl.MessageState
  1698  	sizeCache     protoimpl.SizeCache
  1699  	unknownFields protoimpl.UnknownFields
  1700  
  1701  	// Required. The name of the job to get the description of.
  1702  	//
  1703  	// Authorization: requires `Viewer` role on the parent project.
  1704  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1705  }
  1706  
  1707  func (x *GetJobRequest) Reset() {
  1708  	*x = GetJobRequest{}
  1709  	if protoimpl.UnsafeEnabled {
  1710  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[11]
  1711  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1712  		ms.StoreMessageInfo(mi)
  1713  	}
  1714  }
  1715  
  1716  func (x *GetJobRequest) String() string {
  1717  	return protoimpl.X.MessageStringOf(x)
  1718  }
  1719  
  1720  func (*GetJobRequest) ProtoMessage() {}
  1721  
  1722  func (x *GetJobRequest) ProtoReflect() protoreflect.Message {
  1723  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[11]
  1724  	if protoimpl.UnsafeEnabled && x != nil {
  1725  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1726  		if ms.LoadMessageInfo() == nil {
  1727  			ms.StoreMessageInfo(mi)
  1728  		}
  1729  		return ms
  1730  	}
  1731  	return mi.MessageOf(x)
  1732  }
  1733  
  1734  // Deprecated: Use GetJobRequest.ProtoReflect.Descriptor instead.
  1735  func (*GetJobRequest) Descriptor() ([]byte, []int) {
  1736  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{11}
  1737  }
  1738  
  1739  func (x *GetJobRequest) GetName() string {
  1740  	if x != nil {
  1741  		return x.Name
  1742  	}
  1743  	return ""
  1744  }
  1745  
  1746  // Request message for the CancelJob method.
  1747  type CancelJobRequest struct {
  1748  	state         protoimpl.MessageState
  1749  	sizeCache     protoimpl.SizeCache
  1750  	unknownFields protoimpl.UnknownFields
  1751  
  1752  	// Required. The name of the job to cancel.
  1753  	//
  1754  	// Authorization: requires `Editor` role on the parent project.
  1755  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1756  }
  1757  
  1758  func (x *CancelJobRequest) Reset() {
  1759  	*x = CancelJobRequest{}
  1760  	if protoimpl.UnsafeEnabled {
  1761  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[12]
  1762  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1763  		ms.StoreMessageInfo(mi)
  1764  	}
  1765  }
  1766  
  1767  func (x *CancelJobRequest) String() string {
  1768  	return protoimpl.X.MessageStringOf(x)
  1769  }
  1770  
  1771  func (*CancelJobRequest) ProtoMessage() {}
  1772  
  1773  func (x *CancelJobRequest) ProtoReflect() protoreflect.Message {
  1774  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[12]
  1775  	if protoimpl.UnsafeEnabled && x != nil {
  1776  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1777  		if ms.LoadMessageInfo() == nil {
  1778  			ms.StoreMessageInfo(mi)
  1779  		}
  1780  		return ms
  1781  	}
  1782  	return mi.MessageOf(x)
  1783  }
  1784  
  1785  // Deprecated: Use CancelJobRequest.ProtoReflect.Descriptor instead.
  1786  func (*CancelJobRequest) Descriptor() ([]byte, []int) {
  1787  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{12}
  1788  }
  1789  
  1790  func (x *CancelJobRequest) GetName() string {
  1791  	if x != nil {
  1792  		return x.Name
  1793  	}
  1794  	return ""
  1795  }
  1796  
  1797  // An observed value of a metric.
  1798  type HyperparameterOutput_HyperparameterMetric struct {
  1799  	state         protoimpl.MessageState
  1800  	sizeCache     protoimpl.SizeCache
  1801  	unknownFields protoimpl.UnknownFields
  1802  
  1803  	// The global training step for this metric.
  1804  	TrainingStep int64 `protobuf:"varint,1,opt,name=training_step,json=trainingStep,proto3" json:"training_step,omitempty"`
  1805  	// The objective value at this training step.
  1806  	ObjectiveValue float64 `protobuf:"fixed64,2,opt,name=objective_value,json=objectiveValue,proto3" json:"objective_value,omitempty"`
  1807  }
  1808  
  1809  func (x *HyperparameterOutput_HyperparameterMetric) Reset() {
  1810  	*x = HyperparameterOutput_HyperparameterMetric{}
  1811  	if protoimpl.UnsafeEnabled {
  1812  		mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[13]
  1813  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1814  		ms.StoreMessageInfo(mi)
  1815  	}
  1816  }
  1817  
  1818  func (x *HyperparameterOutput_HyperparameterMetric) String() string {
  1819  	return protoimpl.X.MessageStringOf(x)
  1820  }
  1821  
  1822  func (*HyperparameterOutput_HyperparameterMetric) ProtoMessage() {}
  1823  
  1824  func (x *HyperparameterOutput_HyperparameterMetric) ProtoReflect() protoreflect.Message {
  1825  	mi := &file_google_cloud_ml_v1_job_service_proto_msgTypes[13]
  1826  	if protoimpl.UnsafeEnabled && x != nil {
  1827  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1828  		if ms.LoadMessageInfo() == nil {
  1829  			ms.StoreMessageInfo(mi)
  1830  		}
  1831  		return ms
  1832  	}
  1833  	return mi.MessageOf(x)
  1834  }
  1835  
  1836  // Deprecated: Use HyperparameterOutput_HyperparameterMetric.ProtoReflect.Descriptor instead.
  1837  func (*HyperparameterOutput_HyperparameterMetric) Descriptor() ([]byte, []int) {
  1838  	return file_google_cloud_ml_v1_job_service_proto_rawDescGZIP(), []int{3, 0}
  1839  }
  1840  
  1841  func (x *HyperparameterOutput_HyperparameterMetric) GetTrainingStep() int64 {
  1842  	if x != nil {
  1843  		return x.TrainingStep
  1844  	}
  1845  	return 0
  1846  }
  1847  
  1848  func (x *HyperparameterOutput_HyperparameterMetric) GetObjectiveValue() float64 {
  1849  	if x != nil {
  1850  		return x.ObjectiveValue
  1851  	}
  1852  	return 0
  1853  }
  1854  
  1855  var File_google_cloud_ml_v1_job_service_proto protoreflect.FileDescriptor
  1856  
  1857  var file_google_cloud_ml_v1_job_service_proto_rawDesc = []byte{
  1858  	0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6d,
  1859  	0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
  1860  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1861  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67,
  1862  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
  1863  	0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1864  	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  1865  	0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1866  	0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
  1867  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
  1868  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x05,
  1869  	0x0a, 0x0d, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12,
  1870  	0x4a, 0x0a, 0x0a, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20,
  1871  	0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1872  	0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e,
  1873  	0x67, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x65, 0x72,
  1874  	0x52, 0x09, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
  1875  	0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1876  	0x52, 0x0a, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
  1877  	0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  1878  	0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a,
  1879  	0x15, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65,
  1880  	0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61,
  1881  	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70,
  1882  	0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
  1883  	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43,
  1884  	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
  1885  	0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06,
  1886  	0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53,
  1887  	0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61,
  1888  	0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09,
  1889  	0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x73, 0x12, 0x23, 0x0a,
  1890  	0x0d, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x08,
  1891  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x75,
  1892  	0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09,
  1893  	0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70,
  1894  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1895  	0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d,
  1896  	0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65,
  1897  	0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61,
  1898  	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69,
  1899  	0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
  1900  	0x12, 0x17, 0x0a, 0x07, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28,
  1901  	0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x44, 0x69, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e,
  1902  	0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01,
  1903  	0x28, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
  1904  	0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x09, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x65, 0x72, 0x12,
  1905  	0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54,
  1906  	0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x31, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52,
  1907  	0x45, 0x4d, 0x49, 0x55, 0x4d, 0x5f, 0x31, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x41, 0x53,
  1908  	0x49, 0x43, 0x5f, 0x47, 0x50, 0x55, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54,
  1909  	0x4f, 0x4d, 0x10, 0x05, 0x22, 0xe2, 0x02, 0x0a, 0x12, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61,
  1910  	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x43, 0x0a, 0x04, 0x67,
  1911  	0x6f, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1912  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x48,
  1913  	0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65,
  1914  	0x63, 0x2e, 0x47, 0x6f, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x67, 0x6f, 0x61, 0x6c,
  1915  	0x12, 0x39, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  1916  	0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1917  	0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53,
  1918  	0x70, 0x65, 0x63, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d,
  1919  	0x61, 0x78, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
  1920  	0x09, 0x6d, 0x61, 0x78, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x61,
  1921  	0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c,
  1922  	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x61,
  1923  	0x6c, 0x6c, 0x65, 0x6c, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x68, 0x79,
  1924  	0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74,
  1925  	0x72, 0x69, 0x63, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x68,
  1926  	0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74,
  1927  	0x72, 0x69, 0x63, 0x54, 0x61, 0x67, 0x22, 0x41, 0x0a, 0x08, 0x47, 0x6f, 0x61, 0x6c, 0x54, 0x79,
  1928  	0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x4f, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
  1929  	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a,
  1930  	0x08, 0x4d, 0x41, 0x58, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4d,
  1931  	0x49, 0x4e, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x10, 0x02, 0x22, 0xa0, 0x04, 0x0a, 0x0d, 0x50, 0x61,
  1932  	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x25, 0x0a, 0x0e, 0x70,
  1933  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  1934  	0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61,
  1935  	0x6d, 0x65, 0x12, 0x43, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
  1936  	0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1937  	0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53,
  1938  	0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70,
  1939  	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76,
  1940  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56,
  1941  	0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75,
  1942  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75,
  1943  	0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c,
  1944  	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x63,
  1945  	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
  1946  	0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c,
  1947  	0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x01, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x72,
  1948  	0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x73, 0x63, 0x61,
  1949  	0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e,
  1950  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e,
  1951  	0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63,
  1952  	0x2e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x63, 0x61, 0x6c,
  1953  	0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x67, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
  1954  	0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45,
  1955  	0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
  1956  	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45,
  1957  	0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0x02, 0x12,
  1958  	0x0f, 0x0a, 0x0b, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x03,
  1959  	0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x43, 0x52, 0x45, 0x54, 0x45, 0x10, 0x04, 0x22, 0x5c,
  1960  	0x0a, 0x09, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e,
  1961  	0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4c, 0x49,
  1962  	0x4e, 0x45, 0x41, 0x52, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e,
  1963  	0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x02,
  1964  	0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45,
  1965  	0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x03, 0x22, 0x86, 0x04, 0x0a,
  1966  	0x14, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4f,
  1967  	0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69,
  1968  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64,
  1969  	0x12, 0x67, 0x0a, 0x0f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
  1970  	0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1971  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x48,
  1972  	0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4f, 0x75, 0x74,
  1973  	0x70, 0x75, 0x74, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
  1974  	0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70,
  1975  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x60, 0x0a, 0x0c, 0x66, 0x69, 0x6e,
  1976  	0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1977  	0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d,
  1978  	0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65,
  1979  	0x74, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70,
  1980  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0b,
  1981  	0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x5e, 0x0a, 0x0b, 0x61,
  1982  	0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
  1983  	0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1984  	0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d,
  1985  	0x65, 0x74, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72,
  1986  	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52,
  1987  	0x0a, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x64, 0x0a, 0x14, 0x48,
  1988  	0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74,
  1989  	0x72, 0x69, 0x63, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f,
  1990  	0x73, 0x74, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x69,
  1991  	0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x65, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x62, 0x6a, 0x65,
  1992  	0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  1993  	0x01, 0x52, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75,
  1994  	0x65, 0x1a, 0x42, 0x0a, 0x14, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65,
  1995  	0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
  1996  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
  1997  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
  1998  	0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf3, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69,
  1999  	0x6e, 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70,
  2000  	0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
  2001  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
  2002  	0x65, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x06,
  2003  	0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
  2004  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76,
  2005  	0x31, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
  2006  	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2a,
  2007  	0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x5f, 0x6d, 0x6c, 0x5f, 0x75, 0x6e,
  2008  	0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x75,
  2009  	0x6d, 0x65, 0x64, 0x4d, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x69, 0x73,
  2010  	0x5f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f,
  2011  	0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
  2012  	0x52, 0x19, 0x69, 0x73, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
  2013  	0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x22, 0xd2, 0x03, 0x0a, 0x0f,
  2014  	0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12,
  2015  	0x1f, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  2016  	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65,
  2017  	0x12, 0x23, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
  2018  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
  2019  	0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x09, 0x20, 0x01,
  2020  	0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x61, 0x74,
  2021  	0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e,
  2022  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c,
  2023  	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
  2024  	0x70, 0x75, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0a,
  2025  	0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e,
  2026  	0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
  2027  	0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6f,
  2028  	0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
  2029  	0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10,
  2030  	0x6d, 0x61, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  2031  	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x57, 0x6f, 0x72, 0x6b, 0x65,
  2032  	0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
  2033  	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x27,
  2034  	0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
  2035  	0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,
  2036  	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x56, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46,
  2037  	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f,
  2038  	0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  2039  	0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09,
  2040  	0x54, 0x46, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x54,
  2041  	0x46, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x47, 0x5a, 0x49, 0x50, 0x10, 0x03, 0x42,
  2042  	0x0f, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  2043  	0x22, 0x9e, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f,
  2044  	0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
  2045  	0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70,
  2046  	0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63,
  2047  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
  2048  	0x52, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
  2049  	0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  2050  	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x75,
  2051  	0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73,
  2052  	0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x48, 0x6f, 0x75, 0x72,
  2053  	0x73, 0x22, 0xfd, 0x05, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62,
  2054  	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64,
  2055  	0x12, 0x4a, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x70,
  2056  	0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2057  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72,
  2058  	0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x74,
  2059  	0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x50, 0x0a, 0x10,
  2060  	0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74,
  2061  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2062  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64,
  2063  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x70,
  2064  	0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x3b,
  2065  	0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
  2066  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  2067  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
  2068  	0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73,
  2069  	0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2070  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  2071  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61,
  2072  	0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69,
  2073  	0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2074  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
  2075  	0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a,
  2076  	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x67,
  2077  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76,
  2078  	0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
  2079  	0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73,
  2080  	0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72,
  2081  	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x69, 0x6e,
  2082  	0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
  2083  	0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2084  	0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4f, 0x75,
  2085  	0x74, 0x70, 0x75, 0x74, 0x48, 0x01, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
  2086  	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x53, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63,
  2087  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
  2088  	0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2089  	0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f,
  2090  	0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x01, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69,
  2091  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x80, 0x01, 0x0a, 0x05,
  2092  	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55,
  2093  	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06,
  2094  	0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x50,
  2095  	0x41, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49,
  2096  	0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45,
  2097  	0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12,
  2098  	0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12,
  2099  	0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x42, 0x07,
  2100  	0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75,
  2101  	0x74, 0x22, 0x55, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65,
  2102  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
  2103  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a,
  2104  	0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f,
  2105  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e,
  2106  	0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x7d, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74,
  2107  	0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70,
  2108  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72,
  2109  	0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20,
  2110  	0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
  2111  	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
  2112  	0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
  2113  	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
  2114  	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x67, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4a,
  2115  	0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a,
  2116  	0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2117  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4a,
  2118  	0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74,
  2119  	0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
  2120  	0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
  2121  	0x22, 0x23, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  2122  	0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2123  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a,
  2124  	0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
  2125  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xe7, 0x03,
  2126  	0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x09,
  2127  	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2128  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43,
  2129  	0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  2130  	0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d,
  2131  	0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23,
  2132  	0x22, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
  2133  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x03,
  2134  	0x6a, 0x6f, 0x62, 0x12, 0x7b, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12,
  2135  	0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d,
  2136  	0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71,
  2137  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2138  	0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f,
  2139  	0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93,
  2140  	0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
  2141  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73,
  2142  	0x12, 0x6a, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f,
  2143  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e,
  2144  	0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e,
  2145  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e,
  2146  	0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c,
  2147  	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  2148  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x79, 0x0a, 0x09,
  2149  	0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2150  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43,
  2151  	0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  2152  	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  2153  	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22,
  2154  	0x23, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  2155  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61,
  2156  	0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0x42, 0x65, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67,
  2157  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6d, 0x6c, 0x2e, 0x61,
  2158  	0x70, 0x69, 0x2e, 0x76, 0x31, 0x42, 0x0f, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
  2159  	0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2160  	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70,
  2161  	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f,
  2162  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6d, 0x6c, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x6c, 0x62, 0x06,
  2163  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2164  }
  2165  
  2166  var (
  2167  	file_google_cloud_ml_v1_job_service_proto_rawDescOnce sync.Once
  2168  	file_google_cloud_ml_v1_job_service_proto_rawDescData = file_google_cloud_ml_v1_job_service_proto_rawDesc
  2169  )
  2170  
  2171  func file_google_cloud_ml_v1_job_service_proto_rawDescGZIP() []byte {
  2172  	file_google_cloud_ml_v1_job_service_proto_rawDescOnce.Do(func() {
  2173  		file_google_cloud_ml_v1_job_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ml_v1_job_service_proto_rawDescData)
  2174  	})
  2175  	return file_google_cloud_ml_v1_job_service_proto_rawDescData
  2176  }
  2177  
  2178  var file_google_cloud_ml_v1_job_service_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
  2179  var file_google_cloud_ml_v1_job_service_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
  2180  var file_google_cloud_ml_v1_job_service_proto_goTypes = []interface{}{
  2181  	(TrainingInput_ScaleTier)(0),                      // 0: google.cloud.ml.v1.TrainingInput.ScaleTier
  2182  	(HyperparameterSpec_GoalType)(0),                  // 1: google.cloud.ml.v1.HyperparameterSpec.GoalType
  2183  	(ParameterSpec_ParameterType)(0),                  // 2: google.cloud.ml.v1.ParameterSpec.ParameterType
  2184  	(ParameterSpec_ScaleType)(0),                      // 3: google.cloud.ml.v1.ParameterSpec.ScaleType
  2185  	(PredictionInput_DataFormat)(0),                   // 4: google.cloud.ml.v1.PredictionInput.DataFormat
  2186  	(Job_State)(0),                                    // 5: google.cloud.ml.v1.Job.State
  2187  	(*TrainingInput)(nil),                             // 6: google.cloud.ml.v1.TrainingInput
  2188  	(*HyperparameterSpec)(nil),                        // 7: google.cloud.ml.v1.HyperparameterSpec
  2189  	(*ParameterSpec)(nil),                             // 8: google.cloud.ml.v1.ParameterSpec
  2190  	(*HyperparameterOutput)(nil),                      // 9: google.cloud.ml.v1.HyperparameterOutput
  2191  	(*TrainingOutput)(nil),                            // 10: google.cloud.ml.v1.TrainingOutput
  2192  	(*PredictionInput)(nil),                           // 11: google.cloud.ml.v1.PredictionInput
  2193  	(*PredictionOutput)(nil),                          // 12: google.cloud.ml.v1.PredictionOutput
  2194  	(*Job)(nil),                                       // 13: google.cloud.ml.v1.Job
  2195  	(*CreateJobRequest)(nil),                          // 14: google.cloud.ml.v1.CreateJobRequest
  2196  	(*ListJobsRequest)(nil),                           // 15: google.cloud.ml.v1.ListJobsRequest
  2197  	(*ListJobsResponse)(nil),                          // 16: google.cloud.ml.v1.ListJobsResponse
  2198  	(*GetJobRequest)(nil),                             // 17: google.cloud.ml.v1.GetJobRequest
  2199  	(*CancelJobRequest)(nil),                          // 18: google.cloud.ml.v1.CancelJobRequest
  2200  	(*HyperparameterOutput_HyperparameterMetric)(nil), // 19: google.cloud.ml.v1.HyperparameterOutput.HyperparameterMetric
  2201  	nil,                           // 20: google.cloud.ml.v1.HyperparameterOutput.HyperparametersEntry
  2202  	(*timestamppb.Timestamp)(nil), // 21: google.protobuf.Timestamp
  2203  	(*emptypb.Empty)(nil),         // 22: google.protobuf.Empty
  2204  }
  2205  var file_google_cloud_ml_v1_job_service_proto_depIdxs = []int32{
  2206  	0,  // 0: google.cloud.ml.v1.TrainingInput.scale_tier:type_name -> google.cloud.ml.v1.TrainingInput.ScaleTier
  2207  	7,  // 1: google.cloud.ml.v1.TrainingInput.hyperparameters:type_name -> google.cloud.ml.v1.HyperparameterSpec
  2208  	1,  // 2: google.cloud.ml.v1.HyperparameterSpec.goal:type_name -> google.cloud.ml.v1.HyperparameterSpec.GoalType
  2209  	8,  // 3: google.cloud.ml.v1.HyperparameterSpec.params:type_name -> google.cloud.ml.v1.ParameterSpec
  2210  	2,  // 4: google.cloud.ml.v1.ParameterSpec.type:type_name -> google.cloud.ml.v1.ParameterSpec.ParameterType
  2211  	3,  // 5: google.cloud.ml.v1.ParameterSpec.scale_type:type_name -> google.cloud.ml.v1.ParameterSpec.ScaleType
  2212  	20, // 6: google.cloud.ml.v1.HyperparameterOutput.hyperparameters:type_name -> google.cloud.ml.v1.HyperparameterOutput.HyperparametersEntry
  2213  	19, // 7: google.cloud.ml.v1.HyperparameterOutput.final_metric:type_name -> google.cloud.ml.v1.HyperparameterOutput.HyperparameterMetric
  2214  	19, // 8: google.cloud.ml.v1.HyperparameterOutput.all_metrics:type_name -> google.cloud.ml.v1.HyperparameterOutput.HyperparameterMetric
  2215  	9,  // 9: google.cloud.ml.v1.TrainingOutput.trials:type_name -> google.cloud.ml.v1.HyperparameterOutput
  2216  	4,  // 10: google.cloud.ml.v1.PredictionInput.data_format:type_name -> google.cloud.ml.v1.PredictionInput.DataFormat
  2217  	6,  // 11: google.cloud.ml.v1.Job.training_input:type_name -> google.cloud.ml.v1.TrainingInput
  2218  	11, // 12: google.cloud.ml.v1.Job.prediction_input:type_name -> google.cloud.ml.v1.PredictionInput
  2219  	21, // 13: google.cloud.ml.v1.Job.create_time:type_name -> google.protobuf.Timestamp
  2220  	21, // 14: google.cloud.ml.v1.Job.start_time:type_name -> google.protobuf.Timestamp
  2221  	21, // 15: google.cloud.ml.v1.Job.end_time:type_name -> google.protobuf.Timestamp
  2222  	5,  // 16: google.cloud.ml.v1.Job.state:type_name -> google.cloud.ml.v1.Job.State
  2223  	10, // 17: google.cloud.ml.v1.Job.training_output:type_name -> google.cloud.ml.v1.TrainingOutput
  2224  	12, // 18: google.cloud.ml.v1.Job.prediction_output:type_name -> google.cloud.ml.v1.PredictionOutput
  2225  	13, // 19: google.cloud.ml.v1.CreateJobRequest.job:type_name -> google.cloud.ml.v1.Job
  2226  	13, // 20: google.cloud.ml.v1.ListJobsResponse.jobs:type_name -> google.cloud.ml.v1.Job
  2227  	14, // 21: google.cloud.ml.v1.JobService.CreateJob:input_type -> google.cloud.ml.v1.CreateJobRequest
  2228  	15, // 22: google.cloud.ml.v1.JobService.ListJobs:input_type -> google.cloud.ml.v1.ListJobsRequest
  2229  	17, // 23: google.cloud.ml.v1.JobService.GetJob:input_type -> google.cloud.ml.v1.GetJobRequest
  2230  	18, // 24: google.cloud.ml.v1.JobService.CancelJob:input_type -> google.cloud.ml.v1.CancelJobRequest
  2231  	13, // 25: google.cloud.ml.v1.JobService.CreateJob:output_type -> google.cloud.ml.v1.Job
  2232  	16, // 26: google.cloud.ml.v1.JobService.ListJobs:output_type -> google.cloud.ml.v1.ListJobsResponse
  2233  	13, // 27: google.cloud.ml.v1.JobService.GetJob:output_type -> google.cloud.ml.v1.Job
  2234  	22, // 28: google.cloud.ml.v1.JobService.CancelJob:output_type -> google.protobuf.Empty
  2235  	25, // [25:29] is the sub-list for method output_type
  2236  	21, // [21:25] is the sub-list for method input_type
  2237  	21, // [21:21] is the sub-list for extension type_name
  2238  	21, // [21:21] is the sub-list for extension extendee
  2239  	0,  // [0:21] is the sub-list for field type_name
  2240  }
  2241  
  2242  func init() { file_google_cloud_ml_v1_job_service_proto_init() }
  2243  func file_google_cloud_ml_v1_job_service_proto_init() {
  2244  	if File_google_cloud_ml_v1_job_service_proto != nil {
  2245  		return
  2246  	}
  2247  	if !protoimpl.UnsafeEnabled {
  2248  		file_google_cloud_ml_v1_job_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2249  			switch v := v.(*TrainingInput); i {
  2250  			case 0:
  2251  				return &v.state
  2252  			case 1:
  2253  				return &v.sizeCache
  2254  			case 2:
  2255  				return &v.unknownFields
  2256  			default:
  2257  				return nil
  2258  			}
  2259  		}
  2260  		file_google_cloud_ml_v1_job_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2261  			switch v := v.(*HyperparameterSpec); i {
  2262  			case 0:
  2263  				return &v.state
  2264  			case 1:
  2265  				return &v.sizeCache
  2266  			case 2:
  2267  				return &v.unknownFields
  2268  			default:
  2269  				return nil
  2270  			}
  2271  		}
  2272  		file_google_cloud_ml_v1_job_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2273  			switch v := v.(*ParameterSpec); i {
  2274  			case 0:
  2275  				return &v.state
  2276  			case 1:
  2277  				return &v.sizeCache
  2278  			case 2:
  2279  				return &v.unknownFields
  2280  			default:
  2281  				return nil
  2282  			}
  2283  		}
  2284  		file_google_cloud_ml_v1_job_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2285  			switch v := v.(*HyperparameterOutput); i {
  2286  			case 0:
  2287  				return &v.state
  2288  			case 1:
  2289  				return &v.sizeCache
  2290  			case 2:
  2291  				return &v.unknownFields
  2292  			default:
  2293  				return nil
  2294  			}
  2295  		}
  2296  		file_google_cloud_ml_v1_job_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2297  			switch v := v.(*TrainingOutput); i {
  2298  			case 0:
  2299  				return &v.state
  2300  			case 1:
  2301  				return &v.sizeCache
  2302  			case 2:
  2303  				return &v.unknownFields
  2304  			default:
  2305  				return nil
  2306  			}
  2307  		}
  2308  		file_google_cloud_ml_v1_job_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2309  			switch v := v.(*PredictionInput); i {
  2310  			case 0:
  2311  				return &v.state
  2312  			case 1:
  2313  				return &v.sizeCache
  2314  			case 2:
  2315  				return &v.unknownFields
  2316  			default:
  2317  				return nil
  2318  			}
  2319  		}
  2320  		file_google_cloud_ml_v1_job_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2321  			switch v := v.(*PredictionOutput); i {
  2322  			case 0:
  2323  				return &v.state
  2324  			case 1:
  2325  				return &v.sizeCache
  2326  			case 2:
  2327  				return &v.unknownFields
  2328  			default:
  2329  				return nil
  2330  			}
  2331  		}
  2332  		file_google_cloud_ml_v1_job_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2333  			switch v := v.(*Job); i {
  2334  			case 0:
  2335  				return &v.state
  2336  			case 1:
  2337  				return &v.sizeCache
  2338  			case 2:
  2339  				return &v.unknownFields
  2340  			default:
  2341  				return nil
  2342  			}
  2343  		}
  2344  		file_google_cloud_ml_v1_job_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2345  			switch v := v.(*CreateJobRequest); i {
  2346  			case 0:
  2347  				return &v.state
  2348  			case 1:
  2349  				return &v.sizeCache
  2350  			case 2:
  2351  				return &v.unknownFields
  2352  			default:
  2353  				return nil
  2354  			}
  2355  		}
  2356  		file_google_cloud_ml_v1_job_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2357  			switch v := v.(*ListJobsRequest); i {
  2358  			case 0:
  2359  				return &v.state
  2360  			case 1:
  2361  				return &v.sizeCache
  2362  			case 2:
  2363  				return &v.unknownFields
  2364  			default:
  2365  				return nil
  2366  			}
  2367  		}
  2368  		file_google_cloud_ml_v1_job_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2369  			switch v := v.(*ListJobsResponse); i {
  2370  			case 0:
  2371  				return &v.state
  2372  			case 1:
  2373  				return &v.sizeCache
  2374  			case 2:
  2375  				return &v.unknownFields
  2376  			default:
  2377  				return nil
  2378  			}
  2379  		}
  2380  		file_google_cloud_ml_v1_job_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2381  			switch v := v.(*GetJobRequest); i {
  2382  			case 0:
  2383  				return &v.state
  2384  			case 1:
  2385  				return &v.sizeCache
  2386  			case 2:
  2387  				return &v.unknownFields
  2388  			default:
  2389  				return nil
  2390  			}
  2391  		}
  2392  		file_google_cloud_ml_v1_job_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2393  			switch v := v.(*CancelJobRequest); i {
  2394  			case 0:
  2395  				return &v.state
  2396  			case 1:
  2397  				return &v.sizeCache
  2398  			case 2:
  2399  				return &v.unknownFields
  2400  			default:
  2401  				return nil
  2402  			}
  2403  		}
  2404  		file_google_cloud_ml_v1_job_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2405  			switch v := v.(*HyperparameterOutput_HyperparameterMetric); i {
  2406  			case 0:
  2407  				return &v.state
  2408  			case 1:
  2409  				return &v.sizeCache
  2410  			case 2:
  2411  				return &v.unknownFields
  2412  			default:
  2413  				return nil
  2414  			}
  2415  		}
  2416  	}
  2417  	file_google_cloud_ml_v1_job_service_proto_msgTypes[5].OneofWrappers = []interface{}{
  2418  		(*PredictionInput_ModelName)(nil),
  2419  		(*PredictionInput_VersionName)(nil),
  2420  		(*PredictionInput_Uri)(nil),
  2421  	}
  2422  	file_google_cloud_ml_v1_job_service_proto_msgTypes[7].OneofWrappers = []interface{}{
  2423  		(*Job_TrainingInput)(nil),
  2424  		(*Job_PredictionInput)(nil),
  2425  		(*Job_TrainingOutput)(nil),
  2426  		(*Job_PredictionOutput)(nil),
  2427  	}
  2428  	type x struct{}
  2429  	out := protoimpl.TypeBuilder{
  2430  		File: protoimpl.DescBuilder{
  2431  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2432  			RawDescriptor: file_google_cloud_ml_v1_job_service_proto_rawDesc,
  2433  			NumEnums:      6,
  2434  			NumMessages:   15,
  2435  			NumExtensions: 0,
  2436  			NumServices:   1,
  2437  		},
  2438  		GoTypes:           file_google_cloud_ml_v1_job_service_proto_goTypes,
  2439  		DependencyIndexes: file_google_cloud_ml_v1_job_service_proto_depIdxs,
  2440  		EnumInfos:         file_google_cloud_ml_v1_job_service_proto_enumTypes,
  2441  		MessageInfos:      file_google_cloud_ml_v1_job_service_proto_msgTypes,
  2442  	}.Build()
  2443  	File_google_cloud_ml_v1_job_service_proto = out.File
  2444  	file_google_cloud_ml_v1_job_service_proto_rawDesc = nil
  2445  	file_google_cloud_ml_v1_job_service_proto_goTypes = nil
  2446  	file_google_cloud_ml_v1_job_service_proto_depIdxs = nil
  2447  }
  2448  
  2449  // Reference imports to suppress errors if they are not otherwise used.
  2450  var _ context.Context
  2451  var _ grpc.ClientConnInterface
  2452  
  2453  // This is a compile-time assertion to ensure that this generated file
  2454  // is compatible with the grpc package it is being compiled against.
  2455  const _ = grpc.SupportPackageIsVersion6
  2456  
  2457  // JobServiceClient is the client API for JobService service.
  2458  //
  2459  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  2460  type JobServiceClient interface {
  2461  	// Creates a training or a batch prediction job.
  2462  	CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error)
  2463  	// Lists the jobs in the project.
  2464  	ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error)
  2465  	// Describes a job.
  2466  	GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error)
  2467  	// Cancels a running job.
  2468  	CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  2469  }
  2470  
  2471  type jobServiceClient struct {
  2472  	cc grpc.ClientConnInterface
  2473  }
  2474  
  2475  func NewJobServiceClient(cc grpc.ClientConnInterface) JobServiceClient {
  2476  	return &jobServiceClient{cc}
  2477  }
  2478  
  2479  func (c *jobServiceClient) CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error) {
  2480  	out := new(Job)
  2481  	err := c.cc.Invoke(ctx, "/google.cloud.ml.v1.JobService/CreateJob", in, out, opts...)
  2482  	if err != nil {
  2483  		return nil, err
  2484  	}
  2485  	return out, nil
  2486  }
  2487  
  2488  func (c *jobServiceClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) {
  2489  	out := new(ListJobsResponse)
  2490  	err := c.cc.Invoke(ctx, "/google.cloud.ml.v1.JobService/ListJobs", in, out, opts...)
  2491  	if err != nil {
  2492  		return nil, err
  2493  	}
  2494  	return out, nil
  2495  }
  2496  
  2497  func (c *jobServiceClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) {
  2498  	out := new(Job)
  2499  	err := c.cc.Invoke(ctx, "/google.cloud.ml.v1.JobService/GetJob", in, out, opts...)
  2500  	if err != nil {
  2501  		return nil, err
  2502  	}
  2503  	return out, nil
  2504  }
  2505  
  2506  func (c *jobServiceClient) CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  2507  	out := new(emptypb.Empty)
  2508  	err := c.cc.Invoke(ctx, "/google.cloud.ml.v1.JobService/CancelJob", in, out, opts...)
  2509  	if err != nil {
  2510  		return nil, err
  2511  	}
  2512  	return out, nil
  2513  }
  2514  
  2515  // JobServiceServer is the server API for JobService service.
  2516  type JobServiceServer interface {
  2517  	// Creates a training or a batch prediction job.
  2518  	CreateJob(context.Context, *CreateJobRequest) (*Job, error)
  2519  	// Lists the jobs in the project.
  2520  	ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
  2521  	// Describes a job.
  2522  	GetJob(context.Context, *GetJobRequest) (*Job, error)
  2523  	// Cancels a running job.
  2524  	CancelJob(context.Context, *CancelJobRequest) (*emptypb.Empty, error)
  2525  }
  2526  
  2527  // UnimplementedJobServiceServer can be embedded to have forward compatible implementations.
  2528  type UnimplementedJobServiceServer struct {
  2529  }
  2530  
  2531  func (*UnimplementedJobServiceServer) CreateJob(context.Context, *CreateJobRequest) (*Job, error) {
  2532  	return nil, status.Errorf(codes.Unimplemented, "method CreateJob not implemented")
  2533  }
  2534  func (*UnimplementedJobServiceServer) ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error) {
  2535  	return nil, status.Errorf(codes.Unimplemented, "method ListJobs not implemented")
  2536  }
  2537  func (*UnimplementedJobServiceServer) GetJob(context.Context, *GetJobRequest) (*Job, error) {
  2538  	return nil, status.Errorf(codes.Unimplemented, "method GetJob not implemented")
  2539  }
  2540  func (*UnimplementedJobServiceServer) CancelJob(context.Context, *CancelJobRequest) (*emptypb.Empty, error) {
  2541  	return nil, status.Errorf(codes.Unimplemented, "method CancelJob not implemented")
  2542  }
  2543  
  2544  func RegisterJobServiceServer(s *grpc.Server, srv JobServiceServer) {
  2545  	s.RegisterService(&_JobService_serviceDesc, srv)
  2546  }
  2547  
  2548  func _JobService_CreateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2549  	in := new(CreateJobRequest)
  2550  	if err := dec(in); err != nil {
  2551  		return nil, err
  2552  	}
  2553  	if interceptor == nil {
  2554  		return srv.(JobServiceServer).CreateJob(ctx, in)
  2555  	}
  2556  	info := &grpc.UnaryServerInfo{
  2557  		Server:     srv,
  2558  		FullMethod: "/google.cloud.ml.v1.JobService/CreateJob",
  2559  	}
  2560  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2561  		return srv.(JobServiceServer).CreateJob(ctx, req.(*CreateJobRequest))
  2562  	}
  2563  	return interceptor(ctx, in, info, handler)
  2564  }
  2565  
  2566  func _JobService_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2567  	in := new(ListJobsRequest)
  2568  	if err := dec(in); err != nil {
  2569  		return nil, err
  2570  	}
  2571  	if interceptor == nil {
  2572  		return srv.(JobServiceServer).ListJobs(ctx, in)
  2573  	}
  2574  	info := &grpc.UnaryServerInfo{
  2575  		Server:     srv,
  2576  		FullMethod: "/google.cloud.ml.v1.JobService/ListJobs",
  2577  	}
  2578  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2579  		return srv.(JobServiceServer).ListJobs(ctx, req.(*ListJobsRequest))
  2580  	}
  2581  	return interceptor(ctx, in, info, handler)
  2582  }
  2583  
  2584  func _JobService_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2585  	in := new(GetJobRequest)
  2586  	if err := dec(in); err != nil {
  2587  		return nil, err
  2588  	}
  2589  	if interceptor == nil {
  2590  		return srv.(JobServiceServer).GetJob(ctx, in)
  2591  	}
  2592  	info := &grpc.UnaryServerInfo{
  2593  		Server:     srv,
  2594  		FullMethod: "/google.cloud.ml.v1.JobService/GetJob",
  2595  	}
  2596  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2597  		return srv.(JobServiceServer).GetJob(ctx, req.(*GetJobRequest))
  2598  	}
  2599  	return interceptor(ctx, in, info, handler)
  2600  }
  2601  
  2602  func _JobService_CancelJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2603  	in := new(CancelJobRequest)
  2604  	if err := dec(in); err != nil {
  2605  		return nil, err
  2606  	}
  2607  	if interceptor == nil {
  2608  		return srv.(JobServiceServer).CancelJob(ctx, in)
  2609  	}
  2610  	info := &grpc.UnaryServerInfo{
  2611  		Server:     srv,
  2612  		FullMethod: "/google.cloud.ml.v1.JobService/CancelJob",
  2613  	}
  2614  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2615  		return srv.(JobServiceServer).CancelJob(ctx, req.(*CancelJobRequest))
  2616  	}
  2617  	return interceptor(ctx, in, info, handler)
  2618  }
  2619  
  2620  var _JobService_serviceDesc = grpc.ServiceDesc{
  2621  	ServiceName: "google.cloud.ml.v1.JobService",
  2622  	HandlerType: (*JobServiceServer)(nil),
  2623  	Methods: []grpc.MethodDesc{
  2624  		{
  2625  			MethodName: "CreateJob",
  2626  			Handler:    _JobService_CreateJob_Handler,
  2627  		},
  2628  		{
  2629  			MethodName: "ListJobs",
  2630  			Handler:    _JobService_ListJobs_Handler,
  2631  		},
  2632  		{
  2633  			MethodName: "GetJob",
  2634  			Handler:    _JobService_GetJob_Handler,
  2635  		},
  2636  		{
  2637  			MethodName: "CancelJob",
  2638  			Handler:    _JobService_CancelJob_Handler,
  2639  		},
  2640  	},
  2641  	Streams:  []grpc.StreamDesc{},
  2642  	Metadata: "google/cloud/ml/v1/job_service.proto",
  2643  }
  2644  

View as plain text