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 }