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