cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/batch_prediction_job.pb.go (about)

     1  // Copyright 2025 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1/batch_prediction_job.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	status "google.golang.org/genproto/googleapis/rpc/status"
    26  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    27  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    28  	structpb "google.golang.org/protobuf/types/known/structpb"
    29  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    30  	reflect "reflect"
    31  	sync "sync"
    32  )
    33  
    34  const (
    35  	// Verify that this generated code is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    37  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    39  )
    40  
    41  // A job that uses a
    42  // [Model][google.cloud.aiplatform.v1.BatchPredictionJob.model] to produce
    43  // predictions on multiple [input
    44  // instances][google.cloud.aiplatform.v1.BatchPredictionJob.input_config]. If
    45  // predictions for significant portion of the instances fail, the job may finish
    46  // without attempting predictions for all remaining instances.
    47  type BatchPredictionJob struct {
    48  	state         protoimpl.MessageState
    49  	sizeCache     protoimpl.SizeCache
    50  	unknownFields protoimpl.UnknownFields
    51  
    52  	// Output only. Resource name of the BatchPredictionJob.
    53  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    54  	// Required. The user-defined name of this BatchPredictionJob.
    55  	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
    56  	// The name of the Model resource that produces the predictions via this job,
    57  	// must share the same ancestor Location.
    58  	// Starting this job has no impact on any existing deployments of the Model
    59  	// and their resources.
    60  	// Exactly one of model and unmanaged_container_model must be set.
    61  	//
    62  	// The model resource name may contain version id or version alias to specify
    63  	// the version.
    64  	//
    65  	//	Example: `projects/{project}/locations/{location}/models/{model}@2`
    66  	//	            or
    67  	//	          `projects/{project}/locations/{location}/models/{model}@golden`
    68  	//
    69  	// if no version is specified, the default version will be deployed.
    70  	//
    71  	// The model resource could also be a publisher model.
    72  	//
    73  	//	Example: `publishers/{publisher}/models/{model}`
    74  	//	            or
    75  	//	         `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`
    76  	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
    77  	// Output only. The version ID of the Model that produces the predictions via
    78  	// this job.
    79  	ModelVersionId string `protobuf:"bytes,30,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"`
    80  	// Contains model information necessary to perform batch prediction without
    81  	// requiring uploading to model registry.
    82  	// Exactly one of model and unmanaged_container_model must be set.
    83  	UnmanagedContainerModel *UnmanagedContainerModel `protobuf:"bytes,28,opt,name=unmanaged_container_model,json=unmanagedContainerModel,proto3" json:"unmanaged_container_model,omitempty"`
    84  	// Required. Input configuration of the instances on which predictions are
    85  	// performed. The schema of any single instance may be specified via the
    86  	// [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model]
    87  	// [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata]
    88  	// [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri].
    89  	InputConfig *BatchPredictionJob_InputConfig `protobuf:"bytes,4,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
    90  	// Configuration for how to convert batch prediction input instances to the
    91  	// prediction instances that are sent to the Model.
    92  	InstanceConfig *BatchPredictionJob_InstanceConfig `protobuf:"bytes,27,opt,name=instance_config,json=instanceConfig,proto3" json:"instance_config,omitempty"`
    93  	// The parameters that govern the predictions. The schema of the parameters
    94  	// may be specified via the
    95  	// [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model]
    96  	// [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata]
    97  	// [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri].
    98  	ModelParameters *structpb.Value `protobuf:"bytes,5,opt,name=model_parameters,json=modelParameters,proto3" json:"model_parameters,omitempty"`
    99  	// Required. The Configuration specifying where output predictions should
   100  	// be written.
   101  	// The schema of any single prediction may be specified as a concatenation
   102  	// of [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model]
   103  	// [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata]
   104  	// [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
   105  	// and
   106  	// [prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri].
   107  	OutputConfig *BatchPredictionJob_OutputConfig `protobuf:"bytes,6,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
   108  	// The config of resources used by the Model during the batch prediction. If
   109  	// the Model
   110  	// [supports][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types]
   111  	// DEDICATED_RESOURCES this config may be provided (and the job will use these
   112  	// resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config
   113  	// must be provided.
   114  	DedicatedResources *BatchDedicatedResources `protobuf:"bytes,7,opt,name=dedicated_resources,json=dedicatedResources,proto3" json:"dedicated_resources,omitempty"`
   115  	// The service account that the DeployedModel's container runs as. If not
   116  	// specified, a system generated one will be used, which
   117  	// has minimal permissions and the custom container, if used, may not have
   118  	// enough permission to access other Google Cloud resources.
   119  	//
   120  	// Users deploying the Model must have the `iam.serviceAccounts.actAs`
   121  	// permission on this service account.
   122  	ServiceAccount string `protobuf:"bytes,29,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
   123  	// Immutable. Parameters configuring the batch behavior. Currently only
   124  	// applicable when
   125  	// [dedicated_resources][google.cloud.aiplatform.v1.BatchPredictionJob.dedicated_resources]
   126  	// are used (in other cases Vertex AI does the tuning itself).
   127  	ManualBatchTuningParameters *ManualBatchTuningParameters `protobuf:"bytes,8,opt,name=manual_batch_tuning_parameters,json=manualBatchTuningParameters,proto3" json:"manual_batch_tuning_parameters,omitempty"`
   128  	// Generate explanation with the batch prediction results.
   129  	//
   130  	// When set to `true`, the batch prediction output changes based on the
   131  	// `predictions_format` field of the
   132  	// [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config]
   133  	// object:
   134  	//
   135  	//   - `bigquery`: output includes a column named `explanation`. The value
   136  	//     is a struct that conforms to the
   137  	//     [Explanation][google.cloud.aiplatform.v1.Explanation] object.
   138  	//   - `jsonl`: The JSON objects on each line include an additional entry
   139  	//     keyed `explanation`. The value of the entry is a JSON object that
   140  	//     conforms to the [Explanation][google.cloud.aiplatform.v1.Explanation]
   141  	//     object.
   142  	//   - `csv`: Generating explanations for CSV format is not supported.
   143  	//
   144  	// If this field is set to true, either the
   145  	// [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec]
   146  	// or
   147  	// [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
   148  	// must be populated.
   149  	GenerateExplanation bool `protobuf:"varint,23,opt,name=generate_explanation,json=generateExplanation,proto3" json:"generate_explanation,omitempty"`
   150  	// Explanation configuration for this BatchPredictionJob. Can be
   151  	// specified only if
   152  	// [generate_explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation]
   153  	// is set to `true`.
   154  	//
   155  	// This value overrides the value of
   156  	// [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec].
   157  	// All fields of
   158  	// [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
   159  	// are optional in the request. If a field of the
   160  	// [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec]
   161  	// object is not populated, the corresponding field of the
   162  	// [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec]
   163  	// object is inherited.
   164  	ExplanationSpec *ExplanationSpec `protobuf:"bytes,25,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"`
   165  	// Output only. Information further describing the output of this job.
   166  	OutputInfo *BatchPredictionJob_OutputInfo `protobuf:"bytes,9,opt,name=output_info,json=outputInfo,proto3" json:"output_info,omitempty"`
   167  	// Output only. The detailed state of the job.
   168  	State JobState `protobuf:"varint,10,opt,name=state,proto3,enum=google.cloud.aiplatform.v1.JobState" json:"state,omitempty"`
   169  	// Output only. Only populated when the job's state is JOB_STATE_FAILED or
   170  	// JOB_STATE_CANCELLED.
   171  	Error *status.Status `protobuf:"bytes,11,opt,name=error,proto3" json:"error,omitempty"`
   172  	// Output only. Partial failures encountered.
   173  	// For example, single files that can't be read.
   174  	// This field never exceeds 20 entries.
   175  	// Status details fields contain standard Google Cloud error details.
   176  	PartialFailures []*status.Status `protobuf:"bytes,12,rep,name=partial_failures,json=partialFailures,proto3" json:"partial_failures,omitempty"`
   177  	// Output only. Information about resources that had been consumed by this
   178  	// job. Provided in real time at best effort basis, as well as a final value
   179  	// once the job completes.
   180  	//
   181  	// Note: This field currently may be not populated for batch predictions that
   182  	// use AutoML Models.
   183  	ResourcesConsumed *ResourcesConsumed `protobuf:"bytes,13,opt,name=resources_consumed,json=resourcesConsumed,proto3" json:"resources_consumed,omitempty"`
   184  	// Output only. Statistics on completed and failed prediction instances.
   185  	CompletionStats *CompletionStats `protobuf:"bytes,14,opt,name=completion_stats,json=completionStats,proto3" json:"completion_stats,omitempty"`
   186  	// Output only. Time when the BatchPredictionJob was created.
   187  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   188  	// Output only. Time when the BatchPredictionJob for the first time entered
   189  	// the `JOB_STATE_RUNNING` state.
   190  	StartTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
   191  	// Output only. Time when the BatchPredictionJob entered any of the following
   192  	// states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.
   193  	EndTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
   194  	// Output only. Time when the BatchPredictionJob was most recently updated.
   195  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   196  	// The labels with user-defined metadata to organize BatchPredictionJobs.
   197  	//
   198  	// Label keys and values can be no longer than 64 characters
   199  	// (Unicode codepoints), can only contain lowercase letters, numeric
   200  	// characters, underscores and dashes. International characters are allowed.
   201  	//
   202  	// See https://goo.gl/xmQnxf for more information and examples of labels.
   203  	Labels map[string]string `protobuf:"bytes,19,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   204  	// Customer-managed encryption key options for a BatchPredictionJob. If this
   205  	// is set, then all resources created by the BatchPredictionJob will be
   206  	// encrypted with the provided encryption key.
   207  	EncryptionSpec *EncryptionSpec `protobuf:"bytes,24,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"`
   208  	// For custom-trained Models and AutoML Tabular Models, the container of the
   209  	// DeployedModel instances will send `stderr` and `stdout` streams to
   210  	// Cloud Logging by default. Please note that the logs incur cost,
   211  	// which are subject to [Cloud Logging
   212  	// pricing](https://cloud.google.com/logging/pricing).
   213  	//
   214  	// User can disable container logging by setting this flag to true.
   215  	DisableContainerLogging bool `protobuf:"varint,34,opt,name=disable_container_logging,json=disableContainerLogging,proto3" json:"disable_container_logging,omitempty"`
   216  	// Output only. Reserved for future use.
   217  	SatisfiesPzs bool `protobuf:"varint,36,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
   218  	// Output only. Reserved for future use.
   219  	SatisfiesPzi bool `protobuf:"varint,37,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"`
   220  }
   221  
   222  func (x *BatchPredictionJob) Reset() {
   223  	*x = BatchPredictionJob{}
   224  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[0]
   225  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   226  	ms.StoreMessageInfo(mi)
   227  }
   228  
   229  func (x *BatchPredictionJob) String() string {
   230  	return protoimpl.X.MessageStringOf(x)
   231  }
   232  
   233  func (*BatchPredictionJob) ProtoMessage() {}
   234  
   235  func (x *BatchPredictionJob) ProtoReflect() protoreflect.Message {
   236  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[0]
   237  	if x != nil {
   238  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   239  		if ms.LoadMessageInfo() == nil {
   240  			ms.StoreMessageInfo(mi)
   241  		}
   242  		return ms
   243  	}
   244  	return mi.MessageOf(x)
   245  }
   246  
   247  // Deprecated: Use BatchPredictionJob.ProtoReflect.Descriptor instead.
   248  func (*BatchPredictionJob) Descriptor() ([]byte, []int) {
   249  	return file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescGZIP(), []int{0}
   250  }
   251  
   252  func (x *BatchPredictionJob) GetName() string {
   253  	if x != nil {
   254  		return x.Name
   255  	}
   256  	return ""
   257  }
   258  
   259  func (x *BatchPredictionJob) GetDisplayName() string {
   260  	if x != nil {
   261  		return x.DisplayName
   262  	}
   263  	return ""
   264  }
   265  
   266  func (x *BatchPredictionJob) GetModel() string {
   267  	if x != nil {
   268  		return x.Model
   269  	}
   270  	return ""
   271  }
   272  
   273  func (x *BatchPredictionJob) GetModelVersionId() string {
   274  	if x != nil {
   275  		return x.ModelVersionId
   276  	}
   277  	return ""
   278  }
   279  
   280  func (x *BatchPredictionJob) GetUnmanagedContainerModel() *UnmanagedContainerModel {
   281  	if x != nil {
   282  		return x.UnmanagedContainerModel
   283  	}
   284  	return nil
   285  }
   286  
   287  func (x *BatchPredictionJob) GetInputConfig() *BatchPredictionJob_InputConfig {
   288  	if x != nil {
   289  		return x.InputConfig
   290  	}
   291  	return nil
   292  }
   293  
   294  func (x *BatchPredictionJob) GetInstanceConfig() *BatchPredictionJob_InstanceConfig {
   295  	if x != nil {
   296  		return x.InstanceConfig
   297  	}
   298  	return nil
   299  }
   300  
   301  func (x *BatchPredictionJob) GetModelParameters() *structpb.Value {
   302  	if x != nil {
   303  		return x.ModelParameters
   304  	}
   305  	return nil
   306  }
   307  
   308  func (x *BatchPredictionJob) GetOutputConfig() *BatchPredictionJob_OutputConfig {
   309  	if x != nil {
   310  		return x.OutputConfig
   311  	}
   312  	return nil
   313  }
   314  
   315  func (x *BatchPredictionJob) GetDedicatedResources() *BatchDedicatedResources {
   316  	if x != nil {
   317  		return x.DedicatedResources
   318  	}
   319  	return nil
   320  }
   321  
   322  func (x *BatchPredictionJob) GetServiceAccount() string {
   323  	if x != nil {
   324  		return x.ServiceAccount
   325  	}
   326  	return ""
   327  }
   328  
   329  func (x *BatchPredictionJob) GetManualBatchTuningParameters() *ManualBatchTuningParameters {
   330  	if x != nil {
   331  		return x.ManualBatchTuningParameters
   332  	}
   333  	return nil
   334  }
   335  
   336  func (x *BatchPredictionJob) GetGenerateExplanation() bool {
   337  	if x != nil {
   338  		return x.GenerateExplanation
   339  	}
   340  	return false
   341  }
   342  
   343  func (x *BatchPredictionJob) GetExplanationSpec() *ExplanationSpec {
   344  	if x != nil {
   345  		return x.ExplanationSpec
   346  	}
   347  	return nil
   348  }
   349  
   350  func (x *BatchPredictionJob) GetOutputInfo() *BatchPredictionJob_OutputInfo {
   351  	if x != nil {
   352  		return x.OutputInfo
   353  	}
   354  	return nil
   355  }
   356  
   357  func (x *BatchPredictionJob) GetState() JobState {
   358  	if x != nil {
   359  		return x.State
   360  	}
   361  	return JobState_JOB_STATE_UNSPECIFIED
   362  }
   363  
   364  func (x *BatchPredictionJob) GetError() *status.Status {
   365  	if x != nil {
   366  		return x.Error
   367  	}
   368  	return nil
   369  }
   370  
   371  func (x *BatchPredictionJob) GetPartialFailures() []*status.Status {
   372  	if x != nil {
   373  		return x.PartialFailures
   374  	}
   375  	return nil
   376  }
   377  
   378  func (x *BatchPredictionJob) GetResourcesConsumed() *ResourcesConsumed {
   379  	if x != nil {
   380  		return x.ResourcesConsumed
   381  	}
   382  	return nil
   383  }
   384  
   385  func (x *BatchPredictionJob) GetCompletionStats() *CompletionStats {
   386  	if x != nil {
   387  		return x.CompletionStats
   388  	}
   389  	return nil
   390  }
   391  
   392  func (x *BatchPredictionJob) GetCreateTime() *timestamppb.Timestamp {
   393  	if x != nil {
   394  		return x.CreateTime
   395  	}
   396  	return nil
   397  }
   398  
   399  func (x *BatchPredictionJob) GetStartTime() *timestamppb.Timestamp {
   400  	if x != nil {
   401  		return x.StartTime
   402  	}
   403  	return nil
   404  }
   405  
   406  func (x *BatchPredictionJob) GetEndTime() *timestamppb.Timestamp {
   407  	if x != nil {
   408  		return x.EndTime
   409  	}
   410  	return nil
   411  }
   412  
   413  func (x *BatchPredictionJob) GetUpdateTime() *timestamppb.Timestamp {
   414  	if x != nil {
   415  		return x.UpdateTime
   416  	}
   417  	return nil
   418  }
   419  
   420  func (x *BatchPredictionJob) GetLabels() map[string]string {
   421  	if x != nil {
   422  		return x.Labels
   423  	}
   424  	return nil
   425  }
   426  
   427  func (x *BatchPredictionJob) GetEncryptionSpec() *EncryptionSpec {
   428  	if x != nil {
   429  		return x.EncryptionSpec
   430  	}
   431  	return nil
   432  }
   433  
   434  func (x *BatchPredictionJob) GetDisableContainerLogging() bool {
   435  	if x != nil {
   436  		return x.DisableContainerLogging
   437  	}
   438  	return false
   439  }
   440  
   441  func (x *BatchPredictionJob) GetSatisfiesPzs() bool {
   442  	if x != nil {
   443  		return x.SatisfiesPzs
   444  	}
   445  	return false
   446  }
   447  
   448  func (x *BatchPredictionJob) GetSatisfiesPzi() bool {
   449  	if x != nil {
   450  		return x.SatisfiesPzi
   451  	}
   452  	return false
   453  }
   454  
   455  // Configures the input to
   456  // [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. See
   457  // [Model.supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]
   458  // for Model's supported input formats, and how instances should be expressed
   459  // via any of them.
   460  type BatchPredictionJob_InputConfig struct {
   461  	state         protoimpl.MessageState
   462  	sizeCache     protoimpl.SizeCache
   463  	unknownFields protoimpl.UnknownFields
   464  
   465  	// Required. The source of the input.
   466  	//
   467  	// Types that are assignable to Source:
   468  	//
   469  	//	*BatchPredictionJob_InputConfig_GcsSource
   470  	//	*BatchPredictionJob_InputConfig_BigquerySource
   471  	Source isBatchPredictionJob_InputConfig_Source `protobuf_oneof:"source"`
   472  	// Required. The format in which instances are given, must be one of the
   473  	// [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model]
   474  	// [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats].
   475  	InstancesFormat string `protobuf:"bytes,1,opt,name=instances_format,json=instancesFormat,proto3" json:"instances_format,omitempty"`
   476  }
   477  
   478  func (x *BatchPredictionJob_InputConfig) Reset() {
   479  	*x = BatchPredictionJob_InputConfig{}
   480  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[1]
   481  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   482  	ms.StoreMessageInfo(mi)
   483  }
   484  
   485  func (x *BatchPredictionJob_InputConfig) String() string {
   486  	return protoimpl.X.MessageStringOf(x)
   487  }
   488  
   489  func (*BatchPredictionJob_InputConfig) ProtoMessage() {}
   490  
   491  func (x *BatchPredictionJob_InputConfig) ProtoReflect() protoreflect.Message {
   492  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[1]
   493  	if x != nil {
   494  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   495  		if ms.LoadMessageInfo() == nil {
   496  			ms.StoreMessageInfo(mi)
   497  		}
   498  		return ms
   499  	}
   500  	return mi.MessageOf(x)
   501  }
   502  
   503  // Deprecated: Use BatchPredictionJob_InputConfig.ProtoReflect.Descriptor instead.
   504  func (*BatchPredictionJob_InputConfig) Descriptor() ([]byte, []int) {
   505  	return file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescGZIP(), []int{0, 0}
   506  }
   507  
   508  func (m *BatchPredictionJob_InputConfig) GetSource() isBatchPredictionJob_InputConfig_Source {
   509  	if m != nil {
   510  		return m.Source
   511  	}
   512  	return nil
   513  }
   514  
   515  func (x *BatchPredictionJob_InputConfig) GetGcsSource() *GcsSource {
   516  	if x, ok := x.GetSource().(*BatchPredictionJob_InputConfig_GcsSource); ok {
   517  		return x.GcsSource
   518  	}
   519  	return nil
   520  }
   521  
   522  func (x *BatchPredictionJob_InputConfig) GetBigquerySource() *BigQuerySource {
   523  	if x, ok := x.GetSource().(*BatchPredictionJob_InputConfig_BigquerySource); ok {
   524  		return x.BigquerySource
   525  	}
   526  	return nil
   527  }
   528  
   529  func (x *BatchPredictionJob_InputConfig) GetInstancesFormat() string {
   530  	if x != nil {
   531  		return x.InstancesFormat
   532  	}
   533  	return ""
   534  }
   535  
   536  type isBatchPredictionJob_InputConfig_Source interface {
   537  	isBatchPredictionJob_InputConfig_Source()
   538  }
   539  
   540  type BatchPredictionJob_InputConfig_GcsSource struct {
   541  	// The Cloud Storage location for the input instances.
   542  	GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
   543  }
   544  
   545  type BatchPredictionJob_InputConfig_BigquerySource struct {
   546  	// The BigQuery location of the input table.
   547  	// The schema of the table should be in the format described by the given
   548  	// context OpenAPI Schema, if one is provided. The table may contain
   549  	// additional columns that are not described by the schema, and they will
   550  	// be ignored.
   551  	BigquerySource *BigQuerySource `protobuf:"bytes,3,opt,name=bigquery_source,json=bigquerySource,proto3,oneof"`
   552  }
   553  
   554  func (*BatchPredictionJob_InputConfig_GcsSource) isBatchPredictionJob_InputConfig_Source() {}
   555  
   556  func (*BatchPredictionJob_InputConfig_BigquerySource) isBatchPredictionJob_InputConfig_Source() {}
   557  
   558  // Configuration defining how to transform batch prediction input instances to
   559  // the instances that the Model accepts.
   560  type BatchPredictionJob_InstanceConfig struct {
   561  	state         protoimpl.MessageState
   562  	sizeCache     protoimpl.SizeCache
   563  	unknownFields protoimpl.UnknownFields
   564  
   565  	// The format of the instance that the Model accepts. Vertex AI will
   566  	// convert compatible
   567  	// [batch prediction input instance
   568  	// formats][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.instances_format]
   569  	// to the specified format.
   570  	//
   571  	// Supported values are:
   572  	//
   573  	// * `object`: Each input is converted to JSON object format.
   574  	//   - For `bigquery`, each row is converted to an object.
   575  	//   - For `jsonl`, each line of the JSONL input must be an object.
   576  	//   - Does not apply to `csv`, `file-list`, `tf-record`, or
   577  	//     `tf-record-gzip`.
   578  	//
   579  	// * `array`: Each input is converted to JSON array format.
   580  	//   - For `bigquery`, each row is converted to an array. The order
   581  	//     of columns is determined by the BigQuery column order, unless
   582  	//     [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields]
   583  	//     is populated.
   584  	//     [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields]
   585  	//     must be populated for specifying field orders.
   586  	//   - For `jsonl`, if each line of the JSONL input is an object,
   587  	//     [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields]
   588  	//     must be populated for specifying field orders.
   589  	//   - Does not apply to `csv`, `file-list`, `tf-record`, or
   590  	//     `tf-record-gzip`.
   591  	//
   592  	// If not specified, Vertex AI converts the batch prediction input as
   593  	// follows:
   594  	//
   595  	//   - For `bigquery` and `csv`, the behavior is the same as `array`. The
   596  	//     order of columns is the same as defined in the file or table, unless
   597  	//     [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields]
   598  	//     is populated.
   599  	//   - For `jsonl`, the prediction instance format is determined by
   600  	//     each line of the input.
   601  	//   - For `tf-record`/`tf-record-gzip`, each record will be converted to
   602  	//     an object in the format of `{"b64": <value>}`, where `<value>` is
   603  	//     the Base64-encoded string of the content of the record.
   604  	//   - For `file-list`, each file in the list will be converted to an
   605  	//     object in the format of `{"b64": <value>}`, where `<value>` is
   606  	//     the Base64-encoded string of the content of the file.
   607  	InstanceType string `protobuf:"bytes,1,opt,name=instance_type,json=instanceType,proto3" json:"instance_type,omitempty"`
   608  	// The name of the field that is considered as a key.
   609  	//
   610  	// The values identified by the key field is not included in the transformed
   611  	// instances that is sent to the Model. This is similar to
   612  	// specifying this name of the field in
   613  	// [excluded_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.excluded_fields].
   614  	// In addition, the batch prediction output will not include the instances.
   615  	// Instead the output will only include the value of the key field, in a
   616  	// field named `key` in the output:
   617  	//
   618  	//   - For `jsonl` output format, the output will have a `key` field
   619  	//     instead of the `instance` field.
   620  	//   - For `csv`/`bigquery` output format, the output will have have a `key`
   621  	//     column instead of the instance feature columns.
   622  	//
   623  	// The input must be JSONL with objects at each line, CSV, BigQuery
   624  	// or TfRecord.
   625  	KeyField string `protobuf:"bytes,2,opt,name=key_field,json=keyField,proto3" json:"key_field,omitempty"`
   626  	// Fields that will be included in the prediction instance that is
   627  	// sent to the Model.
   628  	//
   629  	// If
   630  	// [instance_type][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.instance_type]
   631  	// is `array`, the order of field names in included_fields also determines
   632  	// the order of the values in the array.
   633  	//
   634  	// When included_fields is populated,
   635  	// [excluded_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.excluded_fields]
   636  	// must be empty.
   637  	//
   638  	// The input must be JSONL with objects at each line, BigQuery
   639  	// or TfRecord.
   640  	IncludedFields []string `protobuf:"bytes,3,rep,name=included_fields,json=includedFields,proto3" json:"included_fields,omitempty"`
   641  	// Fields that will be excluded in the prediction instance that is
   642  	// sent to the Model.
   643  	//
   644  	// Excluded will be attached to the batch prediction output if
   645  	// [key_field][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.key_field]
   646  	// is not specified.
   647  	//
   648  	// When excluded_fields is populated,
   649  	// [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields]
   650  	// must be empty.
   651  	//
   652  	// The input must be JSONL with objects at each line, BigQuery
   653  	// or TfRecord.
   654  	ExcludedFields []string `protobuf:"bytes,4,rep,name=excluded_fields,json=excludedFields,proto3" json:"excluded_fields,omitempty"`
   655  }
   656  
   657  func (x *BatchPredictionJob_InstanceConfig) Reset() {
   658  	*x = BatchPredictionJob_InstanceConfig{}
   659  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[2]
   660  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   661  	ms.StoreMessageInfo(mi)
   662  }
   663  
   664  func (x *BatchPredictionJob_InstanceConfig) String() string {
   665  	return protoimpl.X.MessageStringOf(x)
   666  }
   667  
   668  func (*BatchPredictionJob_InstanceConfig) ProtoMessage() {}
   669  
   670  func (x *BatchPredictionJob_InstanceConfig) ProtoReflect() protoreflect.Message {
   671  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[2]
   672  	if x != nil {
   673  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   674  		if ms.LoadMessageInfo() == nil {
   675  			ms.StoreMessageInfo(mi)
   676  		}
   677  		return ms
   678  	}
   679  	return mi.MessageOf(x)
   680  }
   681  
   682  // Deprecated: Use BatchPredictionJob_InstanceConfig.ProtoReflect.Descriptor instead.
   683  func (*BatchPredictionJob_InstanceConfig) Descriptor() ([]byte, []int) {
   684  	return file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescGZIP(), []int{0, 1}
   685  }
   686  
   687  func (x *BatchPredictionJob_InstanceConfig) GetInstanceType() string {
   688  	if x != nil {
   689  		return x.InstanceType
   690  	}
   691  	return ""
   692  }
   693  
   694  func (x *BatchPredictionJob_InstanceConfig) GetKeyField() string {
   695  	if x != nil {
   696  		return x.KeyField
   697  	}
   698  	return ""
   699  }
   700  
   701  func (x *BatchPredictionJob_InstanceConfig) GetIncludedFields() []string {
   702  	if x != nil {
   703  		return x.IncludedFields
   704  	}
   705  	return nil
   706  }
   707  
   708  func (x *BatchPredictionJob_InstanceConfig) GetExcludedFields() []string {
   709  	if x != nil {
   710  		return x.ExcludedFields
   711  	}
   712  	return nil
   713  }
   714  
   715  // Configures the output of
   716  // [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. See
   717  // [Model.supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats]
   718  // for supported output formats, and how predictions are expressed via any of
   719  // them.
   720  type BatchPredictionJob_OutputConfig struct {
   721  	state         protoimpl.MessageState
   722  	sizeCache     protoimpl.SizeCache
   723  	unknownFields protoimpl.UnknownFields
   724  
   725  	// Required. The destination of the output.
   726  	//
   727  	// Types that are assignable to Destination:
   728  	//
   729  	//	*BatchPredictionJob_OutputConfig_GcsDestination
   730  	//	*BatchPredictionJob_OutputConfig_BigqueryDestination
   731  	Destination isBatchPredictionJob_OutputConfig_Destination `protobuf_oneof:"destination"`
   732  	// Required. The format in which Vertex AI gives the predictions, must be
   733  	// one of the [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model]
   734  	// [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats].
   735  	PredictionsFormat string `protobuf:"bytes,1,opt,name=predictions_format,json=predictionsFormat,proto3" json:"predictions_format,omitempty"`
   736  }
   737  
   738  func (x *BatchPredictionJob_OutputConfig) Reset() {
   739  	*x = BatchPredictionJob_OutputConfig{}
   740  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[3]
   741  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   742  	ms.StoreMessageInfo(mi)
   743  }
   744  
   745  func (x *BatchPredictionJob_OutputConfig) String() string {
   746  	return protoimpl.X.MessageStringOf(x)
   747  }
   748  
   749  func (*BatchPredictionJob_OutputConfig) ProtoMessage() {}
   750  
   751  func (x *BatchPredictionJob_OutputConfig) ProtoReflect() protoreflect.Message {
   752  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[3]
   753  	if x != nil {
   754  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   755  		if ms.LoadMessageInfo() == nil {
   756  			ms.StoreMessageInfo(mi)
   757  		}
   758  		return ms
   759  	}
   760  	return mi.MessageOf(x)
   761  }
   762  
   763  // Deprecated: Use BatchPredictionJob_OutputConfig.ProtoReflect.Descriptor instead.
   764  func (*BatchPredictionJob_OutputConfig) Descriptor() ([]byte, []int) {
   765  	return file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescGZIP(), []int{0, 2}
   766  }
   767  
   768  func (m *BatchPredictionJob_OutputConfig) GetDestination() isBatchPredictionJob_OutputConfig_Destination {
   769  	if m != nil {
   770  		return m.Destination
   771  	}
   772  	return nil
   773  }
   774  
   775  func (x *BatchPredictionJob_OutputConfig) GetGcsDestination() *GcsDestination {
   776  	if x, ok := x.GetDestination().(*BatchPredictionJob_OutputConfig_GcsDestination); ok {
   777  		return x.GcsDestination
   778  	}
   779  	return nil
   780  }
   781  
   782  func (x *BatchPredictionJob_OutputConfig) GetBigqueryDestination() *BigQueryDestination {
   783  	if x, ok := x.GetDestination().(*BatchPredictionJob_OutputConfig_BigqueryDestination); ok {
   784  		return x.BigqueryDestination
   785  	}
   786  	return nil
   787  }
   788  
   789  func (x *BatchPredictionJob_OutputConfig) GetPredictionsFormat() string {
   790  	if x != nil {
   791  		return x.PredictionsFormat
   792  	}
   793  	return ""
   794  }
   795  
   796  type isBatchPredictionJob_OutputConfig_Destination interface {
   797  	isBatchPredictionJob_OutputConfig_Destination()
   798  }
   799  
   800  type BatchPredictionJob_OutputConfig_GcsDestination struct {
   801  	// The Cloud Storage location of the directory where the output is
   802  	// to be written to. In the given directory a new directory is created.
   803  	// Its name is `prediction-<model-display-name>-<job-create-time>`,
   804  	// where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format.
   805  	// Inside of it files `predictions_0001.<extension>`,
   806  	// `predictions_0002.<extension>`, ..., `predictions_N.<extension>`
   807  	// are created where `<extension>` depends on chosen
   808  	// [predictions_format][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.predictions_format],
   809  	// and N may equal 0001 and depends on the total number of successfully
   810  	// predicted instances. If the Model has both
   811  	// [instance][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
   812  	// and
   813  	// [prediction][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri]
   814  	// schemata defined then each such file contains predictions as per the
   815  	// [predictions_format][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.predictions_format].
   816  	// If prediction for any instance failed (partially or completely), then
   817  	// an additional `errors_0001.<extension>`, `errors_0002.<extension>`,...,
   818  	// `errors_N.<extension>` files are created (N depends on total number
   819  	// of failed predictions). These files contain the failed instances,
   820  	// as per their schema, followed by an additional `error` field which as
   821  	// value has [google.rpc.Status][google.rpc.Status]
   822  	// containing only `code` and `message` fields.
   823  	GcsDestination *GcsDestination `protobuf:"bytes,2,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
   824  }
   825  
   826  type BatchPredictionJob_OutputConfig_BigqueryDestination struct {
   827  	// The BigQuery project or dataset location where the output is to be
   828  	// written to. If project is provided, a new dataset is created with name
   829  	// `prediction_<model-display-name>_<job-create-time>`
   830  	// where <model-display-name> is made
   831  	// BigQuery-dataset-name compatible (for example, most special characters
   832  	// become underscores), and timestamp is in
   833  	// YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format. In the dataset
   834  	// two tables will be created, `predictions`, and `errors`.
   835  	// If the Model has both
   836  	// [instance][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]
   837  	// and
   838  	// [prediction][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri]
   839  	// schemata defined then the tables have columns as follows: The
   840  	// `predictions` table contains instances for which the prediction
   841  	// succeeded, it has columns as per a concatenation of the Model's
   842  	// instance and prediction schemata. The `errors` table contains rows for
   843  	// which the prediction has failed, it has instance columns, as per the
   844  	// instance schema, followed by a single "errors" column, which as values
   845  	// has [google.rpc.Status][google.rpc.Status]
   846  	// represented as a STRUCT, and containing only `code` and `message`.
   847  	BigqueryDestination *BigQueryDestination `protobuf:"bytes,3,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"`
   848  }
   849  
   850  func (*BatchPredictionJob_OutputConfig_GcsDestination) isBatchPredictionJob_OutputConfig_Destination() {
   851  }
   852  
   853  func (*BatchPredictionJob_OutputConfig_BigqueryDestination) isBatchPredictionJob_OutputConfig_Destination() {
   854  }
   855  
   856  // Further describes this job's output.
   857  // Supplements
   858  // [output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config].
   859  type BatchPredictionJob_OutputInfo struct {
   860  	state         protoimpl.MessageState
   861  	sizeCache     protoimpl.SizeCache
   862  	unknownFields protoimpl.UnknownFields
   863  
   864  	// The output location into which prediction output is written.
   865  	//
   866  	// Types that are assignable to OutputLocation:
   867  	//
   868  	//	*BatchPredictionJob_OutputInfo_GcsOutputDirectory
   869  	//	*BatchPredictionJob_OutputInfo_BigqueryOutputDataset
   870  	OutputLocation isBatchPredictionJob_OutputInfo_OutputLocation `protobuf_oneof:"output_location"`
   871  	// Output only. The name of the BigQuery table created, in
   872  	// `predictions_<timestamp>`
   873  	// format, into which the prediction output is written.
   874  	// Can be used by UI to generate the BigQuery output path, for example.
   875  	BigqueryOutputTable string `protobuf:"bytes,4,opt,name=bigquery_output_table,json=bigqueryOutputTable,proto3" json:"bigquery_output_table,omitempty"`
   876  }
   877  
   878  func (x *BatchPredictionJob_OutputInfo) Reset() {
   879  	*x = BatchPredictionJob_OutputInfo{}
   880  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[4]
   881  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   882  	ms.StoreMessageInfo(mi)
   883  }
   884  
   885  func (x *BatchPredictionJob_OutputInfo) String() string {
   886  	return protoimpl.X.MessageStringOf(x)
   887  }
   888  
   889  func (*BatchPredictionJob_OutputInfo) ProtoMessage() {}
   890  
   891  func (x *BatchPredictionJob_OutputInfo) ProtoReflect() protoreflect.Message {
   892  	mi := &file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[4]
   893  	if x != nil {
   894  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   895  		if ms.LoadMessageInfo() == nil {
   896  			ms.StoreMessageInfo(mi)
   897  		}
   898  		return ms
   899  	}
   900  	return mi.MessageOf(x)
   901  }
   902  
   903  // Deprecated: Use BatchPredictionJob_OutputInfo.ProtoReflect.Descriptor instead.
   904  func (*BatchPredictionJob_OutputInfo) Descriptor() ([]byte, []int) {
   905  	return file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescGZIP(), []int{0, 3}
   906  }
   907  
   908  func (m *BatchPredictionJob_OutputInfo) GetOutputLocation() isBatchPredictionJob_OutputInfo_OutputLocation {
   909  	if m != nil {
   910  		return m.OutputLocation
   911  	}
   912  	return nil
   913  }
   914  
   915  func (x *BatchPredictionJob_OutputInfo) GetGcsOutputDirectory() string {
   916  	if x, ok := x.GetOutputLocation().(*BatchPredictionJob_OutputInfo_GcsOutputDirectory); ok {
   917  		return x.GcsOutputDirectory
   918  	}
   919  	return ""
   920  }
   921  
   922  func (x *BatchPredictionJob_OutputInfo) GetBigqueryOutputDataset() string {
   923  	if x, ok := x.GetOutputLocation().(*BatchPredictionJob_OutputInfo_BigqueryOutputDataset); ok {
   924  		return x.BigqueryOutputDataset
   925  	}
   926  	return ""
   927  }
   928  
   929  func (x *BatchPredictionJob_OutputInfo) GetBigqueryOutputTable() string {
   930  	if x != nil {
   931  		return x.BigqueryOutputTable
   932  	}
   933  	return ""
   934  }
   935  
   936  type isBatchPredictionJob_OutputInfo_OutputLocation interface {
   937  	isBatchPredictionJob_OutputInfo_OutputLocation()
   938  }
   939  
   940  type BatchPredictionJob_OutputInfo_GcsOutputDirectory struct {
   941  	// Output only. The full path of the Cloud Storage directory created, into
   942  	// which the prediction output is written.
   943  	GcsOutputDirectory string `protobuf:"bytes,1,opt,name=gcs_output_directory,json=gcsOutputDirectory,proto3,oneof"`
   944  }
   945  
   946  type BatchPredictionJob_OutputInfo_BigqueryOutputDataset struct {
   947  	// Output only. The path of the BigQuery dataset created, in
   948  	// `bq://projectId.bqDatasetId`
   949  	// format, into which the prediction output is written.
   950  	BigqueryOutputDataset string `protobuf:"bytes,2,opt,name=bigquery_output_dataset,json=bigqueryOutputDataset,proto3,oneof"`
   951  }
   952  
   953  func (*BatchPredictionJob_OutputInfo_GcsOutputDirectory) isBatchPredictionJob_OutputInfo_OutputLocation() {
   954  }
   955  
   956  func (*BatchPredictionJob_OutputInfo_BigqueryOutputDataset) isBatchPredictionJob_OutputInfo_OutputLocation() {
   957  }
   958  
   959  var File_google_cloud_aiplatform_v1_batch_prediction_job_proto protoreflect.FileDescriptor
   960  
   961  var file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDesc = []byte{
   962  	0x0a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
   963  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74,
   964  	0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f,
   965  	0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   966  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
   967  	0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
   968  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
   969  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
   970  	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   971  	0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69,
   972  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70,
   973  	0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f,
   974  	0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   975  	0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65,
   976  	0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70,
   977  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
   978  	0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31,
   979  	0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
   980  	0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   981  	0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69,
   982  	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   983  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
   984  	0x2f, 0x76, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72,
   985  	0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
   986  	0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f,
   987  	0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
   988  	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   989  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
   990  	0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68,
   991  	0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
   992  	0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   993  	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
   994  	0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63,
   995  	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70,
   996  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
   997  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f,
   998  	0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   999  	0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
  1000  	0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f,
  1001  	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x19, 0x0a,
  1002  	0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1003  	0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  1004  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c,
  1005  	0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
  1006  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
  1007  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20,
  1008  	0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1009  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  1010  	0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
  1011  	0x12, 0x2d, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
  1012  	0x6e, 0x5f, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  1013  	0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
  1014  	0x6f, 0x0a, 0x19, 0x75, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e,
  1015  	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x1c, 0x20, 0x01,
  1016  	0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  1017  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  1018  	0x55, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
  1019  	0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x17, 0x75, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67,
  1020  	0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
  1021  	0x12, 0x62, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  1022  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1023  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1024  	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
  1025  	0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
  1026  	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f,
  1027  	0x6e, 0x66, 0x69, 0x67, 0x12, 0x66, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
  1028  	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e,
  1029  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  1030  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
  1031  	0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e,
  1032  	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x69, 0x6e,
  1033  	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x10,
  1034  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
  1035  	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1036  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f,
  1037  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12,
  1038  	0x65, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  1039  	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1040  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1041  	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
  1042  	0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
  1043  	0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
  1044  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x13, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61,
  1045  	0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20,
  1046  	0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1047  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1048  	0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52,
  1049  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x12, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61,
  1050  	0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f,
  1051  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  1052  	0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
  1053  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x1e, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c,
  1054  	0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61,
  1055  	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37,
  1056  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  1057  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x75,
  1058  	0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72,
  1059  	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x1b, 0x6d, 0x61,
  1060  	0x6e, 0x75, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50,
  1061  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x67, 0x65, 0x6e,
  1062  	0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f,
  1063  	0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  1064  	0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x10,
  1065  	0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63,
  1066  	0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1067  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1068  	0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
  1069  	0x70, 0x65, 0x63, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1070  	0x53, 0x70, 0x65, 0x63, 0x12, 0x5f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69,
  1071  	0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1072  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  1073  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64,
  1074  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
  1075  	0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75,
  1076  	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a,
  1077  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  1078  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  1079  	0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  1080  	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
  1081  	0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72,
  1082  	0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05,
  1083  	0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x42, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
  1084  	0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1085  	0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61,
  1086  	0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61,
  1087  	0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x12, 0x72, 0x65, 0x73,
  1088  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18,
  1089  	0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1090  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1091  	0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73,
  1092  	0x75, 0x6d, 0x65, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75,
  1093  	0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x5b, 0x0a, 0x10,
  1094  	0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73,
  1095  	0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1096  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1097  	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
  1098  	0x61, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
  1099  	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65,
  1100  	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  1101  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1102  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  1103  	0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73,
  1104  	0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1105  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  1106  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03,
  1107  	0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65,
  1108  	0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  1109  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  1110  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07,
  1111  	0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
  1112  	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  1113  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  1114  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75,
  1115  	0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x06, 0x6c, 0x61, 0x62,
  1116  	0x65, 0x6c, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1117  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  1118  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64,
  1119  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
  1120  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x53, 0x0a,
  1121  	0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63,
  1122  	0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1123  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1124  	0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70,
  1125  	0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70,
  1126  	0x65, 0x63, 0x12, 0x3a, 0x0a, 0x19, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f,
  1127  	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18,
  1128  	0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f,
  1129  	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x28,
  1130  	0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18,
  1131  	0x24, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69,
  1132  	0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69,
  1133  	0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x69, 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x42,
  1134  	0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50,
  1135  	0x7a, 0x69, 0x1a, 0xe6, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
  1136  	0x69, 0x67, 0x12, 0x46, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1137  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1138  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1139  	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52,
  1140  	0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x62, 0x69,
  1141  	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20,
  1142  	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1143  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1144  	0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48,
  1145  	0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63,
  1146  	0x65, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x66,
  1147  	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
  1148  	0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61,
  1149  	0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0xa4, 0x01, 0x0a, 0x0e,
  1150  	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23,
  1151  	0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
  1152  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54,
  1153  	0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
  1154  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64,
  1155  	0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65,
  1156  	0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75,
  1157  	0x64, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x63,
  1158  	0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03,
  1159  	0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c,
  1160  	0x64, 0x73, 0x1a, 0x8e, 0x02, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
  1161  	0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69,
  1162  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
  1163  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  1164  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73,
  1165  	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44,
  1166  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x14, 0x62, 0x69,
  1167  	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  1168  	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1169  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  1170  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65,
  1171  	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67,
  1172  	0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1173  	0x12, 0x32, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f,
  1174  	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1175  	0x02, 0x52, 0x11, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x6f,
  1176  	0x72, 0x6d, 0x61, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
  1177  	0x69, 0x6f, 0x6e, 0x1a, 0xd0, 0x01, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e,
  1178  	0x66, 0x6f, 0x12, 0x37, 0x0a, 0x14, 0x67, 0x63, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
  1179  	0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1180  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x12, 0x67, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70,
  1181  	0x75, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x17, 0x62,
  1182  	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64,
  1183  	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1184  	0x03, 0x48, 0x00, 0x52, 0x15, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74,
  1185  	0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x62, 0x69,
  1186  	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x61,
  1187  	0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13,
  1188  	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x61,
  1189  	0x62, 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6c, 0x6f,
  1190  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
  1191  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
  1192  	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  1193  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
  1194  	0x01, 0x3a, 0x86, 0x01, 0xea, 0x41, 0x82, 0x01, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1195  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  1196  	0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
  1197  	0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x52, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  1198  	0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  1199  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f,
  1200  	0x62, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a,
  1201  	0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69,
  1202  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x42, 0xd5, 0x01, 0x0a, 0x1e, 0x63,
  1203  	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1204  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x42,
  1205  	0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f,
  1206  	0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1207  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69,
  1208  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61,
  1209  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c,
  1210  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
  1211  	0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  1212  	0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43,
  1213  	0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c,
  1214  	0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f,
  1215  	0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a,
  1216  	0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1217  }
  1218  
  1219  var (
  1220  	file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescOnce sync.Once
  1221  	file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescData = file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDesc
  1222  )
  1223  
  1224  func file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescGZIP() []byte {
  1225  	file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescOnce.Do(func() {
  1226  		file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescData)
  1227  	})
  1228  	return file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDescData
  1229  }
  1230  
  1231  var file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
  1232  var file_google_cloud_aiplatform_v1_batch_prediction_job_proto_goTypes = []any{
  1233  	(*BatchPredictionJob)(nil),                // 0: google.cloud.aiplatform.v1.BatchPredictionJob
  1234  	(*BatchPredictionJob_InputConfig)(nil),    // 1: google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig
  1235  	(*BatchPredictionJob_InstanceConfig)(nil), // 2: google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig
  1236  	(*BatchPredictionJob_OutputConfig)(nil),   // 3: google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig
  1237  	(*BatchPredictionJob_OutputInfo)(nil),     // 4: google.cloud.aiplatform.v1.BatchPredictionJob.OutputInfo
  1238  	nil,                                       // 5: google.cloud.aiplatform.v1.BatchPredictionJob.LabelsEntry
  1239  	(*UnmanagedContainerModel)(nil),           // 6: google.cloud.aiplatform.v1.UnmanagedContainerModel
  1240  	(*structpb.Value)(nil),                    // 7: google.protobuf.Value
  1241  	(*BatchDedicatedResources)(nil),           // 8: google.cloud.aiplatform.v1.BatchDedicatedResources
  1242  	(*ManualBatchTuningParameters)(nil),       // 9: google.cloud.aiplatform.v1.ManualBatchTuningParameters
  1243  	(*ExplanationSpec)(nil),                   // 10: google.cloud.aiplatform.v1.ExplanationSpec
  1244  	(JobState)(0),                             // 11: google.cloud.aiplatform.v1.JobState
  1245  	(*status.Status)(nil),                     // 12: google.rpc.Status
  1246  	(*ResourcesConsumed)(nil),                 // 13: google.cloud.aiplatform.v1.ResourcesConsumed
  1247  	(*CompletionStats)(nil),                   // 14: google.cloud.aiplatform.v1.CompletionStats
  1248  	(*timestamppb.Timestamp)(nil),             // 15: google.protobuf.Timestamp
  1249  	(*EncryptionSpec)(nil),                    // 16: google.cloud.aiplatform.v1.EncryptionSpec
  1250  	(*GcsSource)(nil),                         // 17: google.cloud.aiplatform.v1.GcsSource
  1251  	(*BigQuerySource)(nil),                    // 18: google.cloud.aiplatform.v1.BigQuerySource
  1252  	(*GcsDestination)(nil),                    // 19: google.cloud.aiplatform.v1.GcsDestination
  1253  	(*BigQueryDestination)(nil),               // 20: google.cloud.aiplatform.v1.BigQueryDestination
  1254  }
  1255  var file_google_cloud_aiplatform_v1_batch_prediction_job_proto_depIdxs = []int32{
  1256  	6,  // 0: google.cloud.aiplatform.v1.BatchPredictionJob.unmanaged_container_model:type_name -> google.cloud.aiplatform.v1.UnmanagedContainerModel
  1257  	1,  // 1: google.cloud.aiplatform.v1.BatchPredictionJob.input_config:type_name -> google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig
  1258  	2,  // 2: google.cloud.aiplatform.v1.BatchPredictionJob.instance_config:type_name -> google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig
  1259  	7,  // 3: google.cloud.aiplatform.v1.BatchPredictionJob.model_parameters:type_name -> google.protobuf.Value
  1260  	3,  // 4: google.cloud.aiplatform.v1.BatchPredictionJob.output_config:type_name -> google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig
  1261  	8,  // 5: google.cloud.aiplatform.v1.BatchPredictionJob.dedicated_resources:type_name -> google.cloud.aiplatform.v1.BatchDedicatedResources
  1262  	9,  // 6: google.cloud.aiplatform.v1.BatchPredictionJob.manual_batch_tuning_parameters:type_name -> google.cloud.aiplatform.v1.ManualBatchTuningParameters
  1263  	10, // 7: google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec:type_name -> google.cloud.aiplatform.v1.ExplanationSpec
  1264  	4,  // 8: google.cloud.aiplatform.v1.BatchPredictionJob.output_info:type_name -> google.cloud.aiplatform.v1.BatchPredictionJob.OutputInfo
  1265  	11, // 9: google.cloud.aiplatform.v1.BatchPredictionJob.state:type_name -> google.cloud.aiplatform.v1.JobState
  1266  	12, // 10: google.cloud.aiplatform.v1.BatchPredictionJob.error:type_name -> google.rpc.Status
  1267  	12, // 11: google.cloud.aiplatform.v1.BatchPredictionJob.partial_failures:type_name -> google.rpc.Status
  1268  	13, // 12: google.cloud.aiplatform.v1.BatchPredictionJob.resources_consumed:type_name -> google.cloud.aiplatform.v1.ResourcesConsumed
  1269  	14, // 13: google.cloud.aiplatform.v1.BatchPredictionJob.completion_stats:type_name -> google.cloud.aiplatform.v1.CompletionStats
  1270  	15, // 14: google.cloud.aiplatform.v1.BatchPredictionJob.create_time:type_name -> google.protobuf.Timestamp
  1271  	15, // 15: google.cloud.aiplatform.v1.BatchPredictionJob.start_time:type_name -> google.protobuf.Timestamp
  1272  	15, // 16: google.cloud.aiplatform.v1.BatchPredictionJob.end_time:type_name -> google.protobuf.Timestamp
  1273  	15, // 17: google.cloud.aiplatform.v1.BatchPredictionJob.update_time:type_name -> google.protobuf.Timestamp
  1274  	5,  // 18: google.cloud.aiplatform.v1.BatchPredictionJob.labels:type_name -> google.cloud.aiplatform.v1.BatchPredictionJob.LabelsEntry
  1275  	16, // 19: google.cloud.aiplatform.v1.BatchPredictionJob.encryption_spec:type_name -> google.cloud.aiplatform.v1.EncryptionSpec
  1276  	17, // 20: google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source:type_name -> google.cloud.aiplatform.v1.GcsSource
  1277  	18, // 21: google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source:type_name -> google.cloud.aiplatform.v1.BigQuerySource
  1278  	19, // 22: google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination:type_name -> google.cloud.aiplatform.v1.GcsDestination
  1279  	20, // 23: google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination:type_name -> google.cloud.aiplatform.v1.BigQueryDestination
  1280  	24, // [24:24] is the sub-list for method output_type
  1281  	24, // [24:24] is the sub-list for method input_type
  1282  	24, // [24:24] is the sub-list for extension type_name
  1283  	24, // [24:24] is the sub-list for extension extendee
  1284  	0,  // [0:24] is the sub-list for field type_name
  1285  }
  1286  
  1287  func init() { file_google_cloud_aiplatform_v1_batch_prediction_job_proto_init() }
  1288  func file_google_cloud_aiplatform_v1_batch_prediction_job_proto_init() {
  1289  	if File_google_cloud_aiplatform_v1_batch_prediction_job_proto != nil {
  1290  		return
  1291  	}
  1292  	file_google_cloud_aiplatform_v1_completion_stats_proto_init()
  1293  	file_google_cloud_aiplatform_v1_encryption_spec_proto_init()
  1294  	file_google_cloud_aiplatform_v1_explanation_proto_init()
  1295  	file_google_cloud_aiplatform_v1_io_proto_init()
  1296  	file_google_cloud_aiplatform_v1_job_state_proto_init()
  1297  	file_google_cloud_aiplatform_v1_machine_resources_proto_init()
  1298  	file_google_cloud_aiplatform_v1_manual_batch_tuning_parameters_proto_init()
  1299  	file_google_cloud_aiplatform_v1_unmanaged_container_model_proto_init()
  1300  	file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[1].OneofWrappers = []any{
  1301  		(*BatchPredictionJob_InputConfig_GcsSource)(nil),
  1302  		(*BatchPredictionJob_InputConfig_BigquerySource)(nil),
  1303  	}
  1304  	file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[3].OneofWrappers = []any{
  1305  		(*BatchPredictionJob_OutputConfig_GcsDestination)(nil),
  1306  		(*BatchPredictionJob_OutputConfig_BigqueryDestination)(nil),
  1307  	}
  1308  	file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes[4].OneofWrappers = []any{
  1309  		(*BatchPredictionJob_OutputInfo_GcsOutputDirectory)(nil),
  1310  		(*BatchPredictionJob_OutputInfo_BigqueryOutputDataset)(nil),
  1311  	}
  1312  	type x struct{}
  1313  	out := protoimpl.TypeBuilder{
  1314  		File: protoimpl.DescBuilder{
  1315  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1316  			RawDescriptor: file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDesc,
  1317  			NumEnums:      0,
  1318  			NumMessages:   6,
  1319  			NumExtensions: 0,
  1320  			NumServices:   0,
  1321  		},
  1322  		GoTypes:           file_google_cloud_aiplatform_v1_batch_prediction_job_proto_goTypes,
  1323  		DependencyIndexes: file_google_cloud_aiplatform_v1_batch_prediction_job_proto_depIdxs,
  1324  		MessageInfos:      file_google_cloud_aiplatform_v1_batch_prediction_job_proto_msgTypes,
  1325  	}.Build()
  1326  	File_google_cloud_aiplatform_v1_batch_prediction_job_proto = out.File
  1327  	file_google_cloud_aiplatform_v1_batch_prediction_job_proto_rawDesc = nil
  1328  	file_google_cloud_aiplatform_v1_batch_prediction_job_proto_goTypes = nil
  1329  	file_google_cloud_aiplatform_v1_batch_prediction_job_proto_depIdxs = nil
  1330  }