cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/training_pipeline.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/v1beta1/training_pipeline.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 // The TrainingPipeline orchestrates tasks associated with training a Model. It 42 // always executes the training task, and optionally may also 43 // export data from Vertex AI's Dataset which becomes the training input, 44 // [upload][google.cloud.aiplatform.v1beta1.ModelService.UploadModel] the Model 45 // to Vertex AI, and evaluate the Model. 46 type TrainingPipeline struct { 47 state protoimpl.MessageState 48 sizeCache protoimpl.SizeCache 49 unknownFields protoimpl.UnknownFields 50 51 // Output only. Resource name of the TrainingPipeline. 52 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 53 // Required. The user-defined name of this TrainingPipeline. 54 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 55 // Specifies Vertex AI owned input data that may be used for training the 56 // Model. The TrainingPipeline's 57 // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition] 58 // should make clear whether this config is used and if there are any special 59 // requirements on how it should be filled. If nothing about this config is 60 // mentioned in the 61 // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition], 62 // then it should be assumed that the TrainingPipeline does not depend on this 63 // configuration. 64 InputDataConfig *InputDataConfig `protobuf:"bytes,3,opt,name=input_data_config,json=inputDataConfig,proto3" json:"input_data_config,omitempty"` 65 // Required. A Google Cloud Storage path to the YAML file that defines the 66 // training task which is responsible for producing the model artifact, and 67 // may also include additional auxiliary work. The definition files that can 68 // be used here are found in 69 // gs://google-cloud-aiplatform/schema/trainingjob/definition/. 70 // Note: The URI given on output will be immutable and probably different, 71 // including the URI scheme, than the one given on input. The output URI will 72 // point to a location where the user only has a read access. 73 TrainingTaskDefinition string `protobuf:"bytes,4,opt,name=training_task_definition,json=trainingTaskDefinition,proto3" json:"training_task_definition,omitempty"` 74 // Required. The training task's parameter(s), as specified in the 75 // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]'s 76 // `inputs`. 77 TrainingTaskInputs *structpb.Value `protobuf:"bytes,5,opt,name=training_task_inputs,json=trainingTaskInputs,proto3" json:"training_task_inputs,omitempty"` 78 // Output only. The metadata information as specified in the 79 // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]'s 80 // `metadata`. This metadata is an auxiliary runtime and final information 81 // about the training task. While the pipeline is running this information is 82 // populated only at a best effort basis. Only present if the 83 // pipeline's 84 // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition] 85 // contains `metadata` object. 86 TrainingTaskMetadata *structpb.Value `protobuf:"bytes,6,opt,name=training_task_metadata,json=trainingTaskMetadata,proto3" json:"training_task_metadata,omitempty"` 87 // Describes the Model that may be uploaded (via 88 // [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel]) 89 // by this TrainingPipeline. The TrainingPipeline's 90 // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition] 91 // should make clear whether this Model description should be populated, and 92 // if there are any special requirements regarding how it should be filled. If 93 // nothing is mentioned in the 94 // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition], 95 // then it should be assumed that this field should not be filled and the 96 // training task either uploads the Model without a need of this information, 97 // or that training task does not support uploading a Model as part of the 98 // pipeline. When the Pipeline's state becomes `PIPELINE_STATE_SUCCEEDED` and 99 // the trained Model had been uploaded into Vertex AI, then the 100 // model_to_upload's resource 101 // [name][google.cloud.aiplatform.v1beta1.Model.name] is populated. The Model 102 // is always uploaded into the Project and Location in which this pipeline 103 // is. 104 ModelToUpload *Model `protobuf:"bytes,7,opt,name=model_to_upload,json=modelToUpload,proto3" json:"model_to_upload,omitempty"` 105 // Optional. The ID to use for the uploaded Model, which will become the final 106 // component of the model resource name. 107 // 108 // This value may be up to 63 characters, and valid characters are 109 // `[a-z0-9_-]`. The first character cannot be a number or hyphen. 110 ModelId string `protobuf:"bytes,22,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"` 111 // Optional. When specify this field, the `model_to_upload` will not be 112 // uploaded as a new model, instead, it will become a new version of this 113 // `parent_model`. 114 ParentModel string `protobuf:"bytes,21,opt,name=parent_model,json=parentModel,proto3" json:"parent_model,omitempty"` 115 // Output only. The detailed state of the pipeline. 116 State PipelineState `protobuf:"varint,9,opt,name=state,proto3,enum=google.cloud.aiplatform.v1beta1.PipelineState" json:"state,omitempty"` 117 // Output only. Only populated when the pipeline's state is 118 // `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`. 119 Error *status.Status `protobuf:"bytes,10,opt,name=error,proto3" json:"error,omitempty"` 120 // Output only. Time when the TrainingPipeline was created. 121 CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 122 // Output only. Time when the TrainingPipeline for the first time entered the 123 // `PIPELINE_STATE_RUNNING` state. 124 StartTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 125 // Output only. Time when the TrainingPipeline entered any of the following 126 // states: `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`, 127 // `PIPELINE_STATE_CANCELLED`. 128 EndTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 129 // Output only. Time when the TrainingPipeline was most recently updated. 130 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 131 // The labels with user-defined metadata to organize TrainingPipelines. 132 // 133 // Label keys and values can be no longer than 64 characters 134 // (Unicode codepoints), can only contain lowercase letters, numeric 135 // characters, underscores and dashes. International characters are allowed. 136 // 137 // See https://goo.gl/xmQnxf for more information and examples of labels. 138 Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 139 // Customer-managed encryption key spec for a TrainingPipeline. If set, this 140 // TrainingPipeline will be secured by this key. 141 // 142 // Note: Model trained by this TrainingPipeline is also secured by this key if 143 // [model_to_upload][google.cloud.aiplatform.v1beta1.TrainingPipeline.encryption_spec] 144 // is not set separately. 145 EncryptionSpec *EncryptionSpec `protobuf:"bytes,18,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` 146 } 147 148 func (x *TrainingPipeline) Reset() { 149 *x = TrainingPipeline{} 150 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[0] 151 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 152 ms.StoreMessageInfo(mi) 153 } 154 155 func (x *TrainingPipeline) String() string { 156 return protoimpl.X.MessageStringOf(x) 157 } 158 159 func (*TrainingPipeline) ProtoMessage() {} 160 161 func (x *TrainingPipeline) ProtoReflect() protoreflect.Message { 162 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[0] 163 if x != nil { 164 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 165 if ms.LoadMessageInfo() == nil { 166 ms.StoreMessageInfo(mi) 167 } 168 return ms 169 } 170 return mi.MessageOf(x) 171 } 172 173 // Deprecated: Use TrainingPipeline.ProtoReflect.Descriptor instead. 174 func (*TrainingPipeline) Descriptor() ([]byte, []int) { 175 return file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP(), []int{0} 176 } 177 178 func (x *TrainingPipeline) GetName() string { 179 if x != nil { 180 return x.Name 181 } 182 return "" 183 } 184 185 func (x *TrainingPipeline) GetDisplayName() string { 186 if x != nil { 187 return x.DisplayName 188 } 189 return "" 190 } 191 192 func (x *TrainingPipeline) GetInputDataConfig() *InputDataConfig { 193 if x != nil { 194 return x.InputDataConfig 195 } 196 return nil 197 } 198 199 func (x *TrainingPipeline) GetTrainingTaskDefinition() string { 200 if x != nil { 201 return x.TrainingTaskDefinition 202 } 203 return "" 204 } 205 206 func (x *TrainingPipeline) GetTrainingTaskInputs() *structpb.Value { 207 if x != nil { 208 return x.TrainingTaskInputs 209 } 210 return nil 211 } 212 213 func (x *TrainingPipeline) GetTrainingTaskMetadata() *structpb.Value { 214 if x != nil { 215 return x.TrainingTaskMetadata 216 } 217 return nil 218 } 219 220 func (x *TrainingPipeline) GetModelToUpload() *Model { 221 if x != nil { 222 return x.ModelToUpload 223 } 224 return nil 225 } 226 227 func (x *TrainingPipeline) GetModelId() string { 228 if x != nil { 229 return x.ModelId 230 } 231 return "" 232 } 233 234 func (x *TrainingPipeline) GetParentModel() string { 235 if x != nil { 236 return x.ParentModel 237 } 238 return "" 239 } 240 241 func (x *TrainingPipeline) GetState() PipelineState { 242 if x != nil { 243 return x.State 244 } 245 return PipelineState_PIPELINE_STATE_UNSPECIFIED 246 } 247 248 func (x *TrainingPipeline) GetError() *status.Status { 249 if x != nil { 250 return x.Error 251 } 252 return nil 253 } 254 255 func (x *TrainingPipeline) GetCreateTime() *timestamppb.Timestamp { 256 if x != nil { 257 return x.CreateTime 258 } 259 return nil 260 } 261 262 func (x *TrainingPipeline) GetStartTime() *timestamppb.Timestamp { 263 if x != nil { 264 return x.StartTime 265 } 266 return nil 267 } 268 269 func (x *TrainingPipeline) GetEndTime() *timestamppb.Timestamp { 270 if x != nil { 271 return x.EndTime 272 } 273 return nil 274 } 275 276 func (x *TrainingPipeline) GetUpdateTime() *timestamppb.Timestamp { 277 if x != nil { 278 return x.UpdateTime 279 } 280 return nil 281 } 282 283 func (x *TrainingPipeline) GetLabels() map[string]string { 284 if x != nil { 285 return x.Labels 286 } 287 return nil 288 } 289 290 func (x *TrainingPipeline) GetEncryptionSpec() *EncryptionSpec { 291 if x != nil { 292 return x.EncryptionSpec 293 } 294 return nil 295 } 296 297 // Specifies Vertex AI owned input data to be used for training, and 298 // possibly evaluating, the Model. 299 type InputDataConfig struct { 300 state protoimpl.MessageState 301 sizeCache protoimpl.SizeCache 302 unknownFields protoimpl.UnknownFields 303 304 // The instructions how the input data should be split between the 305 // training, validation and test sets. 306 // If no split type is provided, the 307 // [fraction_split][google.cloud.aiplatform.v1beta1.InputDataConfig.fraction_split] 308 // is used by default. 309 // 310 // Types that are assignable to Split: 311 // 312 // *InputDataConfig_FractionSplit 313 // *InputDataConfig_FilterSplit 314 // *InputDataConfig_PredefinedSplit 315 // *InputDataConfig_TimestampSplit 316 // *InputDataConfig_StratifiedSplit 317 Split isInputDataConfig_Split `protobuf_oneof:"split"` 318 // Only applicable to Custom and Hyperparameter Tuning TrainingPipelines. 319 // 320 // The destination of the training data to be written to. 321 // 322 // Supported destination file formats: 323 // - For non-tabular data: "jsonl". 324 // - For tabular data: "csv" and "bigquery". 325 // 326 // The following Vertex AI environment variables are passed to containers 327 // or python modules of the training task when this field is set: 328 // 329 // * AIP_DATA_FORMAT : Exported data format. 330 // * AIP_TRAINING_DATA_URI : Sharded exported training data uris. 331 // * AIP_VALIDATION_DATA_URI : Sharded exported validation data uris. 332 // * AIP_TEST_DATA_URI : Sharded exported test data uris. 333 // 334 // Types that are assignable to Destination: 335 // 336 // *InputDataConfig_GcsDestination 337 // *InputDataConfig_BigqueryDestination 338 Destination isInputDataConfig_Destination `protobuf_oneof:"destination"` 339 // Required. The ID of the Dataset in the same Project and Location which data 340 // will be used to train the Model. The Dataset must use schema compatible 341 // with Model being trained, and what is compatible should be described in the 342 // used TrainingPipeline's [training_task_definition] 343 // [google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]. 344 // For tabular Datasets, all their data is exported to training, to pick 345 // and choose from. 346 DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` 347 // Applicable only to Datasets that have DataItems and Annotations. 348 // 349 // A filter on Annotations of the Dataset. Only Annotations that both 350 // match this filter and belong to DataItems not ignored by the split method 351 // are used in respectively training, validation or test role, depending on 352 // the role of the DataItem they are on (for the auto-assigned that role is 353 // decided by Vertex AI). A filter with same syntax as the one used in 354 // [ListAnnotations][google.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations] 355 // may be used, but note here it filters across all Annotations of the 356 // Dataset, and not just within a single DataItem. 357 AnnotationsFilter string `protobuf:"bytes,6,opt,name=annotations_filter,json=annotationsFilter,proto3" json:"annotations_filter,omitempty"` 358 // Applicable only to custom training with Datasets that have DataItems and 359 // Annotations. 360 // 361 // Cloud Storage URI that points to a YAML file describing the annotation 362 // schema. The schema is defined as an OpenAPI 3.0.2 [Schema 363 // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). 364 // The schema files that can be used here are found in 365 // gs://google-cloud-aiplatform/schema/dataset/annotation/ , note that the 366 // chosen schema must be consistent with 367 // [metadata][google.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] of 368 // the Dataset specified by 369 // [dataset_id][google.cloud.aiplatform.v1beta1.InputDataConfig.dataset_id]. 370 // 371 // Only Annotations that both match this schema and belong to DataItems not 372 // ignored by the split method are used in respectively training, validation 373 // or test role, depending on the role of the DataItem they are on. 374 // 375 // When used in conjunction with 376 // [annotations_filter][google.cloud.aiplatform.v1beta1.InputDataConfig.annotations_filter], 377 // the Annotations used for training are filtered by both 378 // [annotations_filter][google.cloud.aiplatform.v1beta1.InputDataConfig.annotations_filter] 379 // and 380 // [annotation_schema_uri][google.cloud.aiplatform.v1beta1.InputDataConfig.annotation_schema_uri]. 381 AnnotationSchemaUri string `protobuf:"bytes,9,opt,name=annotation_schema_uri,json=annotationSchemaUri,proto3" json:"annotation_schema_uri,omitempty"` 382 // Only applicable to Datasets that have SavedQueries. 383 // 384 // The ID of a SavedQuery (annotation set) under the Dataset specified by 385 // [dataset_id][google.cloud.aiplatform.v1beta1.InputDataConfig.dataset_id] 386 // used for filtering Annotations for training. 387 // 388 // Only Annotations that are associated with this SavedQuery are used in 389 // respectively training. When used in conjunction with 390 // [annotations_filter][google.cloud.aiplatform.v1beta1.InputDataConfig.annotations_filter], 391 // the Annotations used for training are filtered by both 392 // [saved_query_id][google.cloud.aiplatform.v1beta1.InputDataConfig.saved_query_id] 393 // and 394 // [annotations_filter][google.cloud.aiplatform.v1beta1.InputDataConfig.annotations_filter]. 395 // 396 // Only one of 397 // [saved_query_id][google.cloud.aiplatform.v1beta1.InputDataConfig.saved_query_id] 398 // and 399 // [annotation_schema_uri][google.cloud.aiplatform.v1beta1.InputDataConfig.annotation_schema_uri] 400 // should be specified as both of them represent the same thing: problem type. 401 SavedQueryId string `protobuf:"bytes,7,opt,name=saved_query_id,json=savedQueryId,proto3" json:"saved_query_id,omitempty"` 402 // Whether to persist the ML use assignment to data item system labels. 403 PersistMlUseAssignment bool `protobuf:"varint,11,opt,name=persist_ml_use_assignment,json=persistMlUseAssignment,proto3" json:"persist_ml_use_assignment,omitempty"` 404 } 405 406 func (x *InputDataConfig) Reset() { 407 *x = InputDataConfig{} 408 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[1] 409 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 410 ms.StoreMessageInfo(mi) 411 } 412 413 func (x *InputDataConfig) String() string { 414 return protoimpl.X.MessageStringOf(x) 415 } 416 417 func (*InputDataConfig) ProtoMessage() {} 418 419 func (x *InputDataConfig) ProtoReflect() protoreflect.Message { 420 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[1] 421 if x != nil { 422 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 423 if ms.LoadMessageInfo() == nil { 424 ms.StoreMessageInfo(mi) 425 } 426 return ms 427 } 428 return mi.MessageOf(x) 429 } 430 431 // Deprecated: Use InputDataConfig.ProtoReflect.Descriptor instead. 432 func (*InputDataConfig) Descriptor() ([]byte, []int) { 433 return file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP(), []int{1} 434 } 435 436 func (m *InputDataConfig) GetSplit() isInputDataConfig_Split { 437 if m != nil { 438 return m.Split 439 } 440 return nil 441 } 442 443 func (x *InputDataConfig) GetFractionSplit() *FractionSplit { 444 if x, ok := x.GetSplit().(*InputDataConfig_FractionSplit); ok { 445 return x.FractionSplit 446 } 447 return nil 448 } 449 450 func (x *InputDataConfig) GetFilterSplit() *FilterSplit { 451 if x, ok := x.GetSplit().(*InputDataConfig_FilterSplit); ok { 452 return x.FilterSplit 453 } 454 return nil 455 } 456 457 func (x *InputDataConfig) GetPredefinedSplit() *PredefinedSplit { 458 if x, ok := x.GetSplit().(*InputDataConfig_PredefinedSplit); ok { 459 return x.PredefinedSplit 460 } 461 return nil 462 } 463 464 func (x *InputDataConfig) GetTimestampSplit() *TimestampSplit { 465 if x, ok := x.GetSplit().(*InputDataConfig_TimestampSplit); ok { 466 return x.TimestampSplit 467 } 468 return nil 469 } 470 471 func (x *InputDataConfig) GetStratifiedSplit() *StratifiedSplit { 472 if x, ok := x.GetSplit().(*InputDataConfig_StratifiedSplit); ok { 473 return x.StratifiedSplit 474 } 475 return nil 476 } 477 478 func (m *InputDataConfig) GetDestination() isInputDataConfig_Destination { 479 if m != nil { 480 return m.Destination 481 } 482 return nil 483 } 484 485 func (x *InputDataConfig) GetGcsDestination() *GcsDestination { 486 if x, ok := x.GetDestination().(*InputDataConfig_GcsDestination); ok { 487 return x.GcsDestination 488 } 489 return nil 490 } 491 492 func (x *InputDataConfig) GetBigqueryDestination() *BigQueryDestination { 493 if x, ok := x.GetDestination().(*InputDataConfig_BigqueryDestination); ok { 494 return x.BigqueryDestination 495 } 496 return nil 497 } 498 499 func (x *InputDataConfig) GetDatasetId() string { 500 if x != nil { 501 return x.DatasetId 502 } 503 return "" 504 } 505 506 func (x *InputDataConfig) GetAnnotationsFilter() string { 507 if x != nil { 508 return x.AnnotationsFilter 509 } 510 return "" 511 } 512 513 func (x *InputDataConfig) GetAnnotationSchemaUri() string { 514 if x != nil { 515 return x.AnnotationSchemaUri 516 } 517 return "" 518 } 519 520 func (x *InputDataConfig) GetSavedQueryId() string { 521 if x != nil { 522 return x.SavedQueryId 523 } 524 return "" 525 } 526 527 func (x *InputDataConfig) GetPersistMlUseAssignment() bool { 528 if x != nil { 529 return x.PersistMlUseAssignment 530 } 531 return false 532 } 533 534 type isInputDataConfig_Split interface { 535 isInputDataConfig_Split() 536 } 537 538 type InputDataConfig_FractionSplit struct { 539 // Split based on fractions defining the size of each set. 540 FractionSplit *FractionSplit `protobuf:"bytes,2,opt,name=fraction_split,json=fractionSplit,proto3,oneof"` 541 } 542 543 type InputDataConfig_FilterSplit struct { 544 // Split based on the provided filters for each set. 545 FilterSplit *FilterSplit `protobuf:"bytes,3,opt,name=filter_split,json=filterSplit,proto3,oneof"` 546 } 547 548 type InputDataConfig_PredefinedSplit struct { 549 // Supported only for tabular Datasets. 550 // 551 // Split based on a predefined key. 552 PredefinedSplit *PredefinedSplit `protobuf:"bytes,4,opt,name=predefined_split,json=predefinedSplit,proto3,oneof"` 553 } 554 555 type InputDataConfig_TimestampSplit struct { 556 // Supported only for tabular Datasets. 557 // 558 // Split based on the timestamp of the input data pieces. 559 TimestampSplit *TimestampSplit `protobuf:"bytes,5,opt,name=timestamp_split,json=timestampSplit,proto3,oneof"` 560 } 561 562 type InputDataConfig_StratifiedSplit struct { 563 // Supported only for tabular Datasets. 564 // 565 // Split based on the distribution of the specified column. 566 StratifiedSplit *StratifiedSplit `protobuf:"bytes,12,opt,name=stratified_split,json=stratifiedSplit,proto3,oneof"` 567 } 568 569 func (*InputDataConfig_FractionSplit) isInputDataConfig_Split() {} 570 571 func (*InputDataConfig_FilterSplit) isInputDataConfig_Split() {} 572 573 func (*InputDataConfig_PredefinedSplit) isInputDataConfig_Split() {} 574 575 func (*InputDataConfig_TimestampSplit) isInputDataConfig_Split() {} 576 577 func (*InputDataConfig_StratifiedSplit) isInputDataConfig_Split() {} 578 579 type isInputDataConfig_Destination interface { 580 isInputDataConfig_Destination() 581 } 582 583 type InputDataConfig_GcsDestination struct { 584 // The Cloud Storage location where the training data is to be 585 // written to. In the given directory a new directory is created with 586 // name: 587 // `dataset-<dataset-id>-<annotation-type>-<timestamp-of-training-call>` 588 // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. 589 // All training input data is written into that directory. 590 // 591 // The Vertex AI environment variables representing Cloud Storage 592 // data URIs are represented in the Cloud Storage wildcard 593 // format to support sharded data. e.g.: "gs://.../training-*.jsonl" 594 // 595 // * AIP_DATA_FORMAT = "jsonl" for non-tabular data, "csv" for tabular data 596 // * AIP_TRAINING_DATA_URI = 597 // "gcs_destination/dataset-<dataset-id>-<annotation-type>-<time>/training-*.${AIP_DATA_FORMAT}" 598 // 599 // * AIP_VALIDATION_DATA_URI = 600 // "gcs_destination/dataset-<dataset-id>-<annotation-type>-<time>/validation-*.${AIP_DATA_FORMAT}" 601 // 602 // * AIP_TEST_DATA_URI = 603 // "gcs_destination/dataset-<dataset-id>-<annotation-type>-<time>/test-*.${AIP_DATA_FORMAT}" 604 GcsDestination *GcsDestination `protobuf:"bytes,8,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` 605 } 606 607 type InputDataConfig_BigqueryDestination struct { 608 // Only applicable to custom training with tabular Dataset with BigQuery 609 // source. 610 // 611 // The BigQuery project location where the training data is to be written 612 // to. In the given project a new dataset is created with name 613 // `dataset_<dataset-id>_<annotation-type>_<timestamp-of-training-call>` 614 // where timestamp is in YYYY_MM_DDThh_mm_ss_sssZ format. All training 615 // input data is written into that dataset. In the dataset three 616 // tables are created, `training`, `validation` and `test`. 617 // 618 // * AIP_DATA_FORMAT = "bigquery". 619 // * AIP_TRAINING_DATA_URI = 620 // "bigquery_destination.dataset_<dataset-id>_<annotation-type>_<time>.training" 621 // 622 // * AIP_VALIDATION_DATA_URI = 623 // "bigquery_destination.dataset_<dataset-id>_<annotation-type>_<time>.validation" 624 // 625 // * AIP_TEST_DATA_URI = 626 // "bigquery_destination.dataset_<dataset-id>_<annotation-type>_<time>.test" 627 BigqueryDestination *BigQueryDestination `protobuf:"bytes,10,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"` 628 } 629 630 func (*InputDataConfig_GcsDestination) isInputDataConfig_Destination() {} 631 632 func (*InputDataConfig_BigqueryDestination) isInputDataConfig_Destination() {} 633 634 // Assigns the input data to training, validation, and test sets as per the 635 // given fractions. Any of `training_fraction`, `validation_fraction` and 636 // `test_fraction` may optionally be provided, they must sum to up to 1. If the 637 // provided ones sum to less than 1, the remainder is assigned to sets as 638 // decided by Vertex AI. If none of the fractions are set, by default roughly 639 // 80% of data is used for training, 10% for validation, and 10% for test. 640 type FractionSplit struct { 641 state protoimpl.MessageState 642 sizeCache protoimpl.SizeCache 643 unknownFields protoimpl.UnknownFields 644 645 // The fraction of the input data that is to be used to train the Model. 646 TrainingFraction float64 `protobuf:"fixed64,1,opt,name=training_fraction,json=trainingFraction,proto3" json:"training_fraction,omitempty"` 647 // The fraction of the input data that is to be used to validate the Model. 648 ValidationFraction float64 `protobuf:"fixed64,2,opt,name=validation_fraction,json=validationFraction,proto3" json:"validation_fraction,omitempty"` 649 // The fraction of the input data that is to be used to evaluate the Model. 650 TestFraction float64 `protobuf:"fixed64,3,opt,name=test_fraction,json=testFraction,proto3" json:"test_fraction,omitempty"` 651 } 652 653 func (x *FractionSplit) Reset() { 654 *x = FractionSplit{} 655 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[2] 656 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 657 ms.StoreMessageInfo(mi) 658 } 659 660 func (x *FractionSplit) String() string { 661 return protoimpl.X.MessageStringOf(x) 662 } 663 664 func (*FractionSplit) ProtoMessage() {} 665 666 func (x *FractionSplit) ProtoReflect() protoreflect.Message { 667 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[2] 668 if x != nil { 669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 670 if ms.LoadMessageInfo() == nil { 671 ms.StoreMessageInfo(mi) 672 } 673 return ms 674 } 675 return mi.MessageOf(x) 676 } 677 678 // Deprecated: Use FractionSplit.ProtoReflect.Descriptor instead. 679 func (*FractionSplit) Descriptor() ([]byte, []int) { 680 return file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP(), []int{2} 681 } 682 683 func (x *FractionSplit) GetTrainingFraction() float64 { 684 if x != nil { 685 return x.TrainingFraction 686 } 687 return 0 688 } 689 690 func (x *FractionSplit) GetValidationFraction() float64 { 691 if x != nil { 692 return x.ValidationFraction 693 } 694 return 0 695 } 696 697 func (x *FractionSplit) GetTestFraction() float64 { 698 if x != nil { 699 return x.TestFraction 700 } 701 return 0 702 } 703 704 // Assigns input data to training, validation, and test sets based on the given 705 // filters, data pieces not matched by any filter are ignored. Currently only 706 // supported for Datasets containing DataItems. 707 // If any of the filters in this message are to match nothing, then they can be 708 // set as '-' (the minus sign). 709 // 710 // Supported only for unstructured Datasets. 711 type FilterSplit struct { 712 state protoimpl.MessageState 713 sizeCache protoimpl.SizeCache 714 unknownFields protoimpl.UnknownFields 715 716 // Required. A filter on DataItems of the Dataset. DataItems that match 717 // this filter are used to train the Model. A filter with same syntax 718 // as the one used in 719 // [DatasetService.ListDataItems][google.cloud.aiplatform.v1beta1.DatasetService.ListDataItems] 720 // may be used. If a single DataItem is matched by more than one of the 721 // FilterSplit filters, then it is assigned to the first set that applies to 722 // it in the training, validation, test order. 723 TrainingFilter string `protobuf:"bytes,1,opt,name=training_filter,json=trainingFilter,proto3" json:"training_filter,omitempty"` 724 // Required. A filter on DataItems of the Dataset. DataItems that match 725 // this filter are used to validate the Model. A filter with same syntax 726 // as the one used in 727 // [DatasetService.ListDataItems][google.cloud.aiplatform.v1beta1.DatasetService.ListDataItems] 728 // may be used. If a single DataItem is matched by more than one of the 729 // FilterSplit filters, then it is assigned to the first set that applies to 730 // it in the training, validation, test order. 731 ValidationFilter string `protobuf:"bytes,2,opt,name=validation_filter,json=validationFilter,proto3" json:"validation_filter,omitempty"` 732 // Required. A filter on DataItems of the Dataset. DataItems that match 733 // this filter are used to test the Model. A filter with same syntax 734 // as the one used in 735 // [DatasetService.ListDataItems][google.cloud.aiplatform.v1beta1.DatasetService.ListDataItems] 736 // may be used. If a single DataItem is matched by more than one of the 737 // FilterSplit filters, then it is assigned to the first set that applies to 738 // it in the training, validation, test order. 739 TestFilter string `protobuf:"bytes,3,opt,name=test_filter,json=testFilter,proto3" json:"test_filter,omitempty"` 740 } 741 742 func (x *FilterSplit) Reset() { 743 *x = FilterSplit{} 744 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[3] 745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 746 ms.StoreMessageInfo(mi) 747 } 748 749 func (x *FilterSplit) String() string { 750 return protoimpl.X.MessageStringOf(x) 751 } 752 753 func (*FilterSplit) ProtoMessage() {} 754 755 func (x *FilterSplit) ProtoReflect() protoreflect.Message { 756 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[3] 757 if x != nil { 758 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 759 if ms.LoadMessageInfo() == nil { 760 ms.StoreMessageInfo(mi) 761 } 762 return ms 763 } 764 return mi.MessageOf(x) 765 } 766 767 // Deprecated: Use FilterSplit.ProtoReflect.Descriptor instead. 768 func (*FilterSplit) Descriptor() ([]byte, []int) { 769 return file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP(), []int{3} 770 } 771 772 func (x *FilterSplit) GetTrainingFilter() string { 773 if x != nil { 774 return x.TrainingFilter 775 } 776 return "" 777 } 778 779 func (x *FilterSplit) GetValidationFilter() string { 780 if x != nil { 781 return x.ValidationFilter 782 } 783 return "" 784 } 785 786 func (x *FilterSplit) GetTestFilter() string { 787 if x != nil { 788 return x.TestFilter 789 } 790 return "" 791 } 792 793 // Assigns input data to training, validation, and test sets based on the 794 // value of a provided key. 795 // 796 // Supported only for tabular Datasets. 797 type PredefinedSplit struct { 798 state protoimpl.MessageState 799 sizeCache protoimpl.SizeCache 800 unknownFields protoimpl.UnknownFields 801 802 // Required. The key is a name of one of the Dataset's data columns. 803 // The value of the key (either the label's value or value in the column) 804 // must be one of {`training`, `validation`, `test`}, and it defines to which 805 // set the given piece of data is assigned. If for a piece of data the key 806 // is not present or has an invalid value, that piece is ignored by the 807 // pipeline. 808 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 809 } 810 811 func (x *PredefinedSplit) Reset() { 812 *x = PredefinedSplit{} 813 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[4] 814 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 815 ms.StoreMessageInfo(mi) 816 } 817 818 func (x *PredefinedSplit) String() string { 819 return protoimpl.X.MessageStringOf(x) 820 } 821 822 func (*PredefinedSplit) ProtoMessage() {} 823 824 func (x *PredefinedSplit) ProtoReflect() protoreflect.Message { 825 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[4] 826 if x != nil { 827 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 828 if ms.LoadMessageInfo() == nil { 829 ms.StoreMessageInfo(mi) 830 } 831 return ms 832 } 833 return mi.MessageOf(x) 834 } 835 836 // Deprecated: Use PredefinedSplit.ProtoReflect.Descriptor instead. 837 func (*PredefinedSplit) Descriptor() ([]byte, []int) { 838 return file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP(), []int{4} 839 } 840 841 func (x *PredefinedSplit) GetKey() string { 842 if x != nil { 843 return x.Key 844 } 845 return "" 846 } 847 848 // Assigns input data to training, validation, and test sets based on a 849 // provided timestamps. The youngest data pieces are assigned to training set, 850 // next to validation set, and the oldest to the test set. 851 // 852 // Supported only for tabular Datasets. 853 type TimestampSplit struct { 854 state protoimpl.MessageState 855 sizeCache protoimpl.SizeCache 856 unknownFields protoimpl.UnknownFields 857 858 // The fraction of the input data that is to be used to train the Model. 859 TrainingFraction float64 `protobuf:"fixed64,1,opt,name=training_fraction,json=trainingFraction,proto3" json:"training_fraction,omitempty"` 860 // The fraction of the input data that is to be used to validate the Model. 861 ValidationFraction float64 `protobuf:"fixed64,2,opt,name=validation_fraction,json=validationFraction,proto3" json:"validation_fraction,omitempty"` 862 // The fraction of the input data that is to be used to evaluate the Model. 863 TestFraction float64 `protobuf:"fixed64,3,opt,name=test_fraction,json=testFraction,proto3" json:"test_fraction,omitempty"` 864 // Required. The key is a name of one of the Dataset's data columns. 865 // The values of the key (the values in the column) must be in RFC 3339 866 // `date-time` format, where `time-offset` = `"Z"` 867 // (e.g. 1985-04-12T23:20:50.52Z). If for a piece of data the key is not 868 // present or has an invalid value, that piece is ignored by the pipeline. 869 Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` 870 } 871 872 func (x *TimestampSplit) Reset() { 873 *x = TimestampSplit{} 874 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[5] 875 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 876 ms.StoreMessageInfo(mi) 877 } 878 879 func (x *TimestampSplit) String() string { 880 return protoimpl.X.MessageStringOf(x) 881 } 882 883 func (*TimestampSplit) ProtoMessage() {} 884 885 func (x *TimestampSplit) ProtoReflect() protoreflect.Message { 886 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[5] 887 if x != nil { 888 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 889 if ms.LoadMessageInfo() == nil { 890 ms.StoreMessageInfo(mi) 891 } 892 return ms 893 } 894 return mi.MessageOf(x) 895 } 896 897 // Deprecated: Use TimestampSplit.ProtoReflect.Descriptor instead. 898 func (*TimestampSplit) Descriptor() ([]byte, []int) { 899 return file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP(), []int{5} 900 } 901 902 func (x *TimestampSplit) GetTrainingFraction() float64 { 903 if x != nil { 904 return x.TrainingFraction 905 } 906 return 0 907 } 908 909 func (x *TimestampSplit) GetValidationFraction() float64 { 910 if x != nil { 911 return x.ValidationFraction 912 } 913 return 0 914 } 915 916 func (x *TimestampSplit) GetTestFraction() float64 { 917 if x != nil { 918 return x.TestFraction 919 } 920 return 0 921 } 922 923 func (x *TimestampSplit) GetKey() string { 924 if x != nil { 925 return x.Key 926 } 927 return "" 928 } 929 930 // Assigns input data to the training, validation, and test sets so that the 931 // distribution of values found in the categorical column (as specified by the 932 // `key` field) is mirrored within each split. The fraction values determine 933 // the relative sizes of the splits. 934 // 935 // For example, if the specified column has three values, with 50% of the rows 936 // having value "A", 25% value "B", and 25% value "C", and the split fractions 937 // are specified as 80/10/10, then the training set will constitute 80% of the 938 // training data, with about 50% of the training set rows having the value "A" 939 // for the specified column, about 25% having the value "B", and about 25% 940 // having the value "C". 941 // 942 // Only the top 500 occurring values are used; any values not in the top 943 // 500 values are randomly assigned to a split. If less than three rows contain 944 // a specific value, those rows are randomly assigned. 945 // 946 // Supported only for tabular Datasets. 947 type StratifiedSplit struct { 948 state protoimpl.MessageState 949 sizeCache protoimpl.SizeCache 950 unknownFields protoimpl.UnknownFields 951 952 // The fraction of the input data that is to be used to train the Model. 953 TrainingFraction float64 `protobuf:"fixed64,1,opt,name=training_fraction,json=trainingFraction,proto3" json:"training_fraction,omitempty"` 954 // The fraction of the input data that is to be used to validate the Model. 955 ValidationFraction float64 `protobuf:"fixed64,2,opt,name=validation_fraction,json=validationFraction,proto3" json:"validation_fraction,omitempty"` 956 // The fraction of the input data that is to be used to evaluate the Model. 957 TestFraction float64 `protobuf:"fixed64,3,opt,name=test_fraction,json=testFraction,proto3" json:"test_fraction,omitempty"` 958 // Required. The key is a name of one of the Dataset's data columns. 959 // The key provided must be for a categorical column. 960 Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` 961 } 962 963 func (x *StratifiedSplit) Reset() { 964 *x = StratifiedSplit{} 965 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[6] 966 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 967 ms.StoreMessageInfo(mi) 968 } 969 970 func (x *StratifiedSplit) String() string { 971 return protoimpl.X.MessageStringOf(x) 972 } 973 974 func (*StratifiedSplit) ProtoMessage() {} 975 976 func (x *StratifiedSplit) ProtoReflect() protoreflect.Message { 977 mi := &file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[6] 978 if x != nil { 979 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 980 if ms.LoadMessageInfo() == nil { 981 ms.StoreMessageInfo(mi) 982 } 983 return ms 984 } 985 return mi.MessageOf(x) 986 } 987 988 // Deprecated: Use StratifiedSplit.ProtoReflect.Descriptor instead. 989 func (*StratifiedSplit) Descriptor() ([]byte, []int) { 990 return file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP(), []int{6} 991 } 992 993 func (x *StratifiedSplit) GetTrainingFraction() float64 { 994 if x != nil { 995 return x.TrainingFraction 996 } 997 return 0 998 } 999 1000 func (x *StratifiedSplit) GetValidationFraction() float64 { 1001 if x != nil { 1002 return x.ValidationFraction 1003 } 1004 return 0 1005 } 1006 1007 func (x *StratifiedSplit) GetTestFraction() float64 { 1008 if x != nil { 1009 return x.TestFraction 1010 } 1011 return 0 1012 } 1013 1014 func (x *StratifiedSplit) GetKey() string { 1015 if x != nil { 1016 return x.Key 1017 } 1018 return "" 1019 } 1020 1021 var File_google_cloud_aiplatform_v1beta1_training_pipeline_proto protoreflect.FileDescriptor 1022 1023 var file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDesc = []byte{ 1024 0x0a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 1025 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1026 0x31, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 1027 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1028 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1029 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 1030 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 1031 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 1032 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1033 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 1034 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 1035 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 1036 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 1037 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 1038 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 1039 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1040 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1041 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 1042 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 1043 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 1044 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 1045 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 1046 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 1047 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1048 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 1049 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1050 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 1051 0x74, 0x6f, 0x22, 0x90, 0x0a, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 1052 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 1053 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 1054 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 1055 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 1056 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 1057 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 1058 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1059 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1060 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 1061 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 1062 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 1063 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 1064 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x74, 1065 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x66, 0x69, 0x6e, 1066 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 1067 0x67, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x05, 0x20, 1068 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1069 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 1070 0x52, 0x12, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 1071 0x70, 0x75, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 1072 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 1073 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1074 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 1075 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x4d, 1076 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4e, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 1077 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 1078 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1079 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1080 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 1081 0x6f, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 1082 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 1083 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 1084 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 1085 0x41, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 1086 0x49, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 1087 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1088 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1089 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 1090 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 1091 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1092 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 1093 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 1094 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1095 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1096 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 1097 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 1098 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 1099 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1100 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 1101 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 1102 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 1103 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1104 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 1105 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 1106 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 1107 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 1108 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 1109 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x6c, 0x61, 0x62, 1110 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1111 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1112 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 1113 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x61, 0x62, 1114 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 1115 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 1116 0x70, 0x65, 0x63, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 1119 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 1120 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 1121 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 1122 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 1123 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 1124 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x7e, 0xea, 0x41, 0x7b, 0x0a, 0x2a, 0x61, 0x69, 0x70, 0x6c, 1125 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 1126 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 1127 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x4d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 1128 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 1129 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 1130 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 1131 0x73, 0x2f, 0x7b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 1132 0x6c, 0x69, 0x6e, 0x65, 0x7d, 0x22, 0x9e, 0x07, 0x0a, 0x0f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 1133 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x0e, 0x66, 0x72, 0x61, 1134 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 1135 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1136 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 1137 0x74, 0x61, 0x31, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x6c, 0x69, 1138 0x74, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x6c, 1139 0x69, 0x74, 0x12, 0x51, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x6c, 1140 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1141 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1142 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 1143 0x72, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 1144 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x5d, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 1145 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 1146 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 1147 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1148 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x70, 0x6c, 0x69, 1149 0x74, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 1150 0x70, 0x6c, 0x69, 0x74, 0x12, 0x5a, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 1151 0x70, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 1152 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 1153 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 1154 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x48, 0x00, 1155 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x70, 0x6c, 0x69, 0x74, 1156 0x12, 0x5d, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x73, 1157 0x70, 0x6c, 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 1158 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1159 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 1160 0x61, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0f, 1161 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 1162 0x5a, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 1163 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1164 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1165 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 1166 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0e, 0x67, 0x63, 0x73, 1167 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x14, 0x62, 1168 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 1169 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1170 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1171 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 1172 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 1173 0x01, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 1174 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 1175 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 1176 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x6e, 1177 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 1178 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 1179 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6e, 0x6e, 1180 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 1181 0x72, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 1182 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x24, 0x0a, 1183 0x0e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 1184 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 1185 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x6d, 1186 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 1187 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x4d, 1188 0x6c, 0x55, 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x07, 1189 0x0a, 0x05, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 1190 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0x0a, 0x0d, 0x46, 0x72, 0x61, 0x63, 0x74, 1191 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 1192 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 1193 0x01, 0x28, 0x01, 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x61, 1194 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 1195 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 1196 0x28, 0x01, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x72, 1197 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x66, 1198 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x74, 1199 0x65, 0x73, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x0b, 1200 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x74, 1201 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 1202 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, 1203 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x11, 0x76, 0x61, 0x6c, 1204 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 1205 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 1206 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0b, 0x74, 1207 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 1208 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 1209 0x72, 0x22, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 1210 0x70, 0x6c, 0x69, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 1211 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xaa, 0x01, 0x0a, 0x0e, 1212 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x2b, 1213 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 1214 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 1215 0x69, 0x6e, 0x67, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x76, 1216 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 1217 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 1218 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 1219 0x74, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 1220 0x01, 0x28, 0x01, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 1221 0x6e, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 1222 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 1223 0x61, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x2b, 0x0a, 0x11, 1224 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 1225 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 1226 0x67, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x76, 0x61, 0x6c, 1227 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 1228 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 1229 0x6f, 0x6e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 1230 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 1231 0x01, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 1232 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1233 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0xec, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 1234 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1235 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x15, 1236 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 1237 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 1238 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 1239 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 1240 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 1241 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 1242 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 1243 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 1244 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 1245 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1246 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 1247 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 1248 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1249 } 1250 1251 var ( 1252 file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescOnce sync.Once 1253 file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDesc 1254 ) 1255 1256 func file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP() []byte { 1257 file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescOnce.Do(func() { 1258 file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescData) 1259 }) 1260 return file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescData 1261 } 1262 1263 var file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes = make([]protoimpl.MessageInfo, 8) 1264 var file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_goTypes = []any{ 1265 (*TrainingPipeline)(nil), // 0: google.cloud.aiplatform.v1beta1.TrainingPipeline 1266 (*InputDataConfig)(nil), // 1: google.cloud.aiplatform.v1beta1.InputDataConfig 1267 (*FractionSplit)(nil), // 2: google.cloud.aiplatform.v1beta1.FractionSplit 1268 (*FilterSplit)(nil), // 3: google.cloud.aiplatform.v1beta1.FilterSplit 1269 (*PredefinedSplit)(nil), // 4: google.cloud.aiplatform.v1beta1.PredefinedSplit 1270 (*TimestampSplit)(nil), // 5: google.cloud.aiplatform.v1beta1.TimestampSplit 1271 (*StratifiedSplit)(nil), // 6: google.cloud.aiplatform.v1beta1.StratifiedSplit 1272 nil, // 7: google.cloud.aiplatform.v1beta1.TrainingPipeline.LabelsEntry 1273 (*structpb.Value)(nil), // 8: google.protobuf.Value 1274 (*Model)(nil), // 9: google.cloud.aiplatform.v1beta1.Model 1275 (PipelineState)(0), // 10: google.cloud.aiplatform.v1beta1.PipelineState 1276 (*status.Status)(nil), // 11: google.rpc.Status 1277 (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp 1278 (*EncryptionSpec)(nil), // 13: google.cloud.aiplatform.v1beta1.EncryptionSpec 1279 (*GcsDestination)(nil), // 14: google.cloud.aiplatform.v1beta1.GcsDestination 1280 (*BigQueryDestination)(nil), // 15: google.cloud.aiplatform.v1beta1.BigQueryDestination 1281 } 1282 var file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_depIdxs = []int32{ 1283 1, // 0: google.cloud.aiplatform.v1beta1.TrainingPipeline.input_data_config:type_name -> google.cloud.aiplatform.v1beta1.InputDataConfig 1284 8, // 1: google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_inputs:type_name -> google.protobuf.Value 1285 8, // 2: google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_metadata:type_name -> google.protobuf.Value 1286 9, // 3: google.cloud.aiplatform.v1beta1.TrainingPipeline.model_to_upload:type_name -> google.cloud.aiplatform.v1beta1.Model 1287 10, // 4: google.cloud.aiplatform.v1beta1.TrainingPipeline.state:type_name -> google.cloud.aiplatform.v1beta1.PipelineState 1288 11, // 5: google.cloud.aiplatform.v1beta1.TrainingPipeline.error:type_name -> google.rpc.Status 1289 12, // 6: google.cloud.aiplatform.v1beta1.TrainingPipeline.create_time:type_name -> google.protobuf.Timestamp 1290 12, // 7: google.cloud.aiplatform.v1beta1.TrainingPipeline.start_time:type_name -> google.protobuf.Timestamp 1291 12, // 8: google.cloud.aiplatform.v1beta1.TrainingPipeline.end_time:type_name -> google.protobuf.Timestamp 1292 12, // 9: google.cloud.aiplatform.v1beta1.TrainingPipeline.update_time:type_name -> google.protobuf.Timestamp 1293 7, // 10: google.cloud.aiplatform.v1beta1.TrainingPipeline.labels:type_name -> google.cloud.aiplatform.v1beta1.TrainingPipeline.LabelsEntry 1294 13, // 11: google.cloud.aiplatform.v1beta1.TrainingPipeline.encryption_spec:type_name -> google.cloud.aiplatform.v1beta1.EncryptionSpec 1295 2, // 12: google.cloud.aiplatform.v1beta1.InputDataConfig.fraction_split:type_name -> google.cloud.aiplatform.v1beta1.FractionSplit 1296 3, // 13: google.cloud.aiplatform.v1beta1.InputDataConfig.filter_split:type_name -> google.cloud.aiplatform.v1beta1.FilterSplit 1297 4, // 14: google.cloud.aiplatform.v1beta1.InputDataConfig.predefined_split:type_name -> google.cloud.aiplatform.v1beta1.PredefinedSplit 1298 5, // 15: google.cloud.aiplatform.v1beta1.InputDataConfig.timestamp_split:type_name -> google.cloud.aiplatform.v1beta1.TimestampSplit 1299 6, // 16: google.cloud.aiplatform.v1beta1.InputDataConfig.stratified_split:type_name -> google.cloud.aiplatform.v1beta1.StratifiedSplit 1300 14, // 17: google.cloud.aiplatform.v1beta1.InputDataConfig.gcs_destination:type_name -> google.cloud.aiplatform.v1beta1.GcsDestination 1301 15, // 18: google.cloud.aiplatform.v1beta1.InputDataConfig.bigquery_destination:type_name -> google.cloud.aiplatform.v1beta1.BigQueryDestination 1302 19, // [19:19] is the sub-list for method output_type 1303 19, // [19:19] is the sub-list for method input_type 1304 19, // [19:19] is the sub-list for extension type_name 1305 19, // [19:19] is the sub-list for extension extendee 1306 0, // [0:19] is the sub-list for field type_name 1307 } 1308 1309 func init() { file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_init() } 1310 func file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_init() { 1311 if File_google_cloud_aiplatform_v1beta1_training_pipeline_proto != nil { 1312 return 1313 } 1314 file_google_cloud_aiplatform_v1beta1_encryption_spec_proto_init() 1315 file_google_cloud_aiplatform_v1beta1_io_proto_init() 1316 file_google_cloud_aiplatform_v1beta1_model_proto_init() 1317 file_google_cloud_aiplatform_v1beta1_pipeline_state_proto_init() 1318 file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[1].OneofWrappers = []any{ 1319 (*InputDataConfig_FractionSplit)(nil), 1320 (*InputDataConfig_FilterSplit)(nil), 1321 (*InputDataConfig_PredefinedSplit)(nil), 1322 (*InputDataConfig_TimestampSplit)(nil), 1323 (*InputDataConfig_StratifiedSplit)(nil), 1324 (*InputDataConfig_GcsDestination)(nil), 1325 (*InputDataConfig_BigqueryDestination)(nil), 1326 } 1327 type x struct{} 1328 out := protoimpl.TypeBuilder{ 1329 File: protoimpl.DescBuilder{ 1330 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1331 RawDescriptor: file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDesc, 1332 NumEnums: 0, 1333 NumMessages: 8, 1334 NumExtensions: 0, 1335 NumServices: 0, 1336 }, 1337 GoTypes: file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_goTypes, 1338 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_depIdxs, 1339 MessageInfos: file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes, 1340 }.Build() 1341 File_google_cloud_aiplatform_v1beta1_training_pipeline_proto = out.File 1342 file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDesc = nil 1343 file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_goTypes = nil 1344 file_google_cloud_aiplatform_v1beta1_training_pipeline_proto_depIdxs = nil 1345 }