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

     1  // Copyright 2025 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1/data_labeling_job.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	status "google.golang.org/genproto/googleapis/rpc/status"
    26  	money "google.golang.org/genproto/googleapis/type/money"
    27  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    28  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    29  	structpb "google.golang.org/protobuf/types/known/structpb"
    30  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    31  	reflect "reflect"
    32  	sync "sync"
    33  )
    34  
    35  const (
    36  	// Verify that this generated code is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    38  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    39  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    40  )
    41  
    42  // Sample strategy decides which subset of DataItems should be selected for
    43  // human labeling in every batch.
    44  type SampleConfig_SampleStrategy int32
    45  
    46  const (
    47  	// Default will be treated as UNCERTAINTY.
    48  	SampleConfig_SAMPLE_STRATEGY_UNSPECIFIED SampleConfig_SampleStrategy = 0
    49  	// Sample the most uncertain data to label.
    50  	SampleConfig_UNCERTAINTY SampleConfig_SampleStrategy = 1
    51  )
    52  
    53  // Enum value maps for SampleConfig_SampleStrategy.
    54  var (
    55  	SampleConfig_SampleStrategy_name = map[int32]string{
    56  		0: "SAMPLE_STRATEGY_UNSPECIFIED",
    57  		1: "UNCERTAINTY",
    58  	}
    59  	SampleConfig_SampleStrategy_value = map[string]int32{
    60  		"SAMPLE_STRATEGY_UNSPECIFIED": 0,
    61  		"UNCERTAINTY":                 1,
    62  	}
    63  )
    64  
    65  func (x SampleConfig_SampleStrategy) Enum() *SampleConfig_SampleStrategy {
    66  	p := new(SampleConfig_SampleStrategy)
    67  	*p = x
    68  	return p
    69  }
    70  
    71  func (x SampleConfig_SampleStrategy) String() string {
    72  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    73  }
    74  
    75  func (SampleConfig_SampleStrategy) Descriptor() protoreflect.EnumDescriptor {
    76  	return file_google_cloud_aiplatform_v1_data_labeling_job_proto_enumTypes[0].Descriptor()
    77  }
    78  
    79  func (SampleConfig_SampleStrategy) Type() protoreflect.EnumType {
    80  	return &file_google_cloud_aiplatform_v1_data_labeling_job_proto_enumTypes[0]
    81  }
    82  
    83  func (x SampleConfig_SampleStrategy) Number() protoreflect.EnumNumber {
    84  	return protoreflect.EnumNumber(x)
    85  }
    86  
    87  // Deprecated: Use SampleConfig_SampleStrategy.Descriptor instead.
    88  func (SampleConfig_SampleStrategy) EnumDescriptor() ([]byte, []int) {
    89  	return file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescGZIP(), []int{2, 0}
    90  }
    91  
    92  // DataLabelingJob is used to trigger a human labeling job on unlabeled data
    93  // from the following Dataset:
    94  type DataLabelingJob struct {
    95  	state         protoimpl.MessageState
    96  	sizeCache     protoimpl.SizeCache
    97  	unknownFields protoimpl.UnknownFields
    98  
    99  	// Output only. Resource name of the DataLabelingJob.
   100  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   101  	// Required. The user-defined name of the DataLabelingJob.
   102  	// The name can be up to 128 characters long and can consist of any UTF-8
   103  	// characters.
   104  	// Display name of a DataLabelingJob.
   105  	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   106  	// Required. Dataset resource names. Right now we only support labeling from a
   107  	// single Dataset. Format:
   108  	// `projects/{project}/locations/{location}/datasets/{dataset}`
   109  	Datasets []string `protobuf:"bytes,3,rep,name=datasets,proto3" json:"datasets,omitempty"`
   110  	// Labels to assign to annotations generated by this DataLabelingJob.
   111  	//
   112  	// Label keys and values can be no longer than 64 characters
   113  	// (Unicode codepoints), can only contain lowercase letters, numeric
   114  	// characters, underscores and dashes. International characters are allowed.
   115  	// See https://goo.gl/xmQnxf for more information and examples of labels.
   116  	// System reserved label keys are prefixed with "aiplatform.googleapis.com/"
   117  	// and are immutable.
   118  	AnnotationLabels map[string]string `protobuf:"bytes,12,rep,name=annotation_labels,json=annotationLabels,proto3" json:"annotation_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   119  	// Required. Number of labelers to work on each DataItem.
   120  	LabelerCount int32 `protobuf:"varint,4,opt,name=labeler_count,json=labelerCount,proto3" json:"labeler_count,omitempty"`
   121  	// Required. The Google Cloud Storage location of the instruction pdf. This
   122  	// pdf is shared with labelers, and provides detailed description on how to
   123  	// label DataItems in Datasets.
   124  	InstructionUri string `protobuf:"bytes,5,opt,name=instruction_uri,json=instructionUri,proto3" json:"instruction_uri,omitempty"`
   125  	// Required. Points to a YAML file stored on Google Cloud Storage describing
   126  	// the config for a specific type of DataLabelingJob. The schema files that
   127  	// can be used here are found in the
   128  	// https://storage.googleapis.com/google-cloud-aiplatform bucket in the
   129  	// /schema/datalabelingjob/inputs/ folder.
   130  	InputsSchemaUri string `protobuf:"bytes,6,opt,name=inputs_schema_uri,json=inputsSchemaUri,proto3" json:"inputs_schema_uri,omitempty"`
   131  	// Required. Input config parameters for the DataLabelingJob.
   132  	Inputs *structpb.Value `protobuf:"bytes,7,opt,name=inputs,proto3" json:"inputs,omitempty"`
   133  	// Output only. The detailed state of the job.
   134  	State JobState `protobuf:"varint,8,opt,name=state,proto3,enum=google.cloud.aiplatform.v1.JobState" json:"state,omitempty"`
   135  	// Output only. Current labeling job progress percentage scaled in interval
   136  	// [0, 100], indicating the percentage of DataItems that has been finished.
   137  	LabelingProgress int32 `protobuf:"varint,13,opt,name=labeling_progress,json=labelingProgress,proto3" json:"labeling_progress,omitempty"`
   138  	// Output only. Estimated cost(in US dollars) that the DataLabelingJob has
   139  	// incurred to date.
   140  	CurrentSpend *money.Money `protobuf:"bytes,14,opt,name=current_spend,json=currentSpend,proto3" json:"current_spend,omitempty"`
   141  	// Output only. Timestamp when this DataLabelingJob was created.
   142  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   143  	// Output only. Timestamp when this DataLabelingJob was updated most recently.
   144  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   145  	// Output only. DataLabelingJob errors. It is only populated when job's state
   146  	// is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.
   147  	Error *status.Status `protobuf:"bytes,22,opt,name=error,proto3" json:"error,omitempty"`
   148  	// The labels with user-defined metadata to organize your DataLabelingJobs.
   149  	//
   150  	// Label keys and values can be no longer than 64 characters
   151  	// (Unicode codepoints), can only contain lowercase letters, numeric
   152  	// characters, underscores and dashes. International characters are allowed.
   153  	//
   154  	// See https://goo.gl/xmQnxf for more information and examples of labels.
   155  	// System reserved label keys are prefixed with "aiplatform.googleapis.com/"
   156  	// and are immutable. Following system labels exist for each DataLabelingJob:
   157  	//
   158  	//   - "aiplatform.googleapis.com/schema": output only, its value is the
   159  	//     [inputs_schema][google.cloud.aiplatform.v1.DataLabelingJob.inputs_schema_uri]'s
   160  	//     title.
   161  	Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   162  	// The SpecialistPools' resource names associated with this job.
   163  	SpecialistPools []string `protobuf:"bytes,16,rep,name=specialist_pools,json=specialistPools,proto3" json:"specialist_pools,omitempty"`
   164  	// Customer-managed encryption key spec for a DataLabelingJob. If set, this
   165  	// DataLabelingJob will be secured by this key.
   166  	//
   167  	// Note: Annotations created in the DataLabelingJob are associated with
   168  	// the EncryptionSpec of the Dataset they are exported to.
   169  	EncryptionSpec *EncryptionSpec `protobuf:"bytes,20,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"`
   170  	// Parameters that configure the active learning pipeline. Active learning
   171  	// will label the data incrementally via several iterations. For every
   172  	// iteration, it will select a batch of data based on the sampling strategy.
   173  	ActiveLearningConfig *ActiveLearningConfig `protobuf:"bytes,21,opt,name=active_learning_config,json=activeLearningConfig,proto3" json:"active_learning_config,omitempty"`
   174  }
   175  
   176  func (x *DataLabelingJob) Reset() {
   177  	*x = DataLabelingJob{}
   178  	mi := &file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[0]
   179  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   180  	ms.StoreMessageInfo(mi)
   181  }
   182  
   183  func (x *DataLabelingJob) String() string {
   184  	return protoimpl.X.MessageStringOf(x)
   185  }
   186  
   187  func (*DataLabelingJob) ProtoMessage() {}
   188  
   189  func (x *DataLabelingJob) ProtoReflect() protoreflect.Message {
   190  	mi := &file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[0]
   191  	if x != nil {
   192  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   193  		if ms.LoadMessageInfo() == nil {
   194  			ms.StoreMessageInfo(mi)
   195  		}
   196  		return ms
   197  	}
   198  	return mi.MessageOf(x)
   199  }
   200  
   201  // Deprecated: Use DataLabelingJob.ProtoReflect.Descriptor instead.
   202  func (*DataLabelingJob) Descriptor() ([]byte, []int) {
   203  	return file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescGZIP(), []int{0}
   204  }
   205  
   206  func (x *DataLabelingJob) GetName() string {
   207  	if x != nil {
   208  		return x.Name
   209  	}
   210  	return ""
   211  }
   212  
   213  func (x *DataLabelingJob) GetDisplayName() string {
   214  	if x != nil {
   215  		return x.DisplayName
   216  	}
   217  	return ""
   218  }
   219  
   220  func (x *DataLabelingJob) GetDatasets() []string {
   221  	if x != nil {
   222  		return x.Datasets
   223  	}
   224  	return nil
   225  }
   226  
   227  func (x *DataLabelingJob) GetAnnotationLabels() map[string]string {
   228  	if x != nil {
   229  		return x.AnnotationLabels
   230  	}
   231  	return nil
   232  }
   233  
   234  func (x *DataLabelingJob) GetLabelerCount() int32 {
   235  	if x != nil {
   236  		return x.LabelerCount
   237  	}
   238  	return 0
   239  }
   240  
   241  func (x *DataLabelingJob) GetInstructionUri() string {
   242  	if x != nil {
   243  		return x.InstructionUri
   244  	}
   245  	return ""
   246  }
   247  
   248  func (x *DataLabelingJob) GetInputsSchemaUri() string {
   249  	if x != nil {
   250  		return x.InputsSchemaUri
   251  	}
   252  	return ""
   253  }
   254  
   255  func (x *DataLabelingJob) GetInputs() *structpb.Value {
   256  	if x != nil {
   257  		return x.Inputs
   258  	}
   259  	return nil
   260  }
   261  
   262  func (x *DataLabelingJob) GetState() JobState {
   263  	if x != nil {
   264  		return x.State
   265  	}
   266  	return JobState_JOB_STATE_UNSPECIFIED
   267  }
   268  
   269  func (x *DataLabelingJob) GetLabelingProgress() int32 {
   270  	if x != nil {
   271  		return x.LabelingProgress
   272  	}
   273  	return 0
   274  }
   275  
   276  func (x *DataLabelingJob) GetCurrentSpend() *money.Money {
   277  	if x != nil {
   278  		return x.CurrentSpend
   279  	}
   280  	return nil
   281  }
   282  
   283  func (x *DataLabelingJob) GetCreateTime() *timestamppb.Timestamp {
   284  	if x != nil {
   285  		return x.CreateTime
   286  	}
   287  	return nil
   288  }
   289  
   290  func (x *DataLabelingJob) GetUpdateTime() *timestamppb.Timestamp {
   291  	if x != nil {
   292  		return x.UpdateTime
   293  	}
   294  	return nil
   295  }
   296  
   297  func (x *DataLabelingJob) GetError() *status.Status {
   298  	if x != nil {
   299  		return x.Error
   300  	}
   301  	return nil
   302  }
   303  
   304  func (x *DataLabelingJob) GetLabels() map[string]string {
   305  	if x != nil {
   306  		return x.Labels
   307  	}
   308  	return nil
   309  }
   310  
   311  func (x *DataLabelingJob) GetSpecialistPools() []string {
   312  	if x != nil {
   313  		return x.SpecialistPools
   314  	}
   315  	return nil
   316  }
   317  
   318  func (x *DataLabelingJob) GetEncryptionSpec() *EncryptionSpec {
   319  	if x != nil {
   320  		return x.EncryptionSpec
   321  	}
   322  	return nil
   323  }
   324  
   325  func (x *DataLabelingJob) GetActiveLearningConfig() *ActiveLearningConfig {
   326  	if x != nil {
   327  		return x.ActiveLearningConfig
   328  	}
   329  	return nil
   330  }
   331  
   332  // Parameters that configure the active learning pipeline. Active learning will
   333  //
   334  //	label the data incrementally by several iterations. For every iteration, it
   335  //	will select a batch of data based on the sampling strategy.
   336  type ActiveLearningConfig struct {
   337  	state         protoimpl.MessageState
   338  	sizeCache     protoimpl.SizeCache
   339  	unknownFields protoimpl.UnknownFields
   340  
   341  	// Required. Max human labeling DataItems. The rest part will be labeled by
   342  	// machine.
   343  	//
   344  	// Types that are assignable to HumanLabelingBudget:
   345  	//
   346  	//	*ActiveLearningConfig_MaxDataItemCount
   347  	//	*ActiveLearningConfig_MaxDataItemPercentage
   348  	HumanLabelingBudget isActiveLearningConfig_HumanLabelingBudget `protobuf_oneof:"human_labeling_budget"`
   349  	// Active learning data sampling config. For every active learning labeling
   350  	// iteration, it will select a batch of data based on the sampling strategy.
   351  	SampleConfig *SampleConfig `protobuf:"bytes,3,opt,name=sample_config,json=sampleConfig,proto3" json:"sample_config,omitempty"`
   352  	// CMLE training config. For every active learning labeling iteration, system
   353  	// will train a machine learning model on CMLE. The trained model will be used
   354  	// by data sampling algorithm to select DataItems.
   355  	TrainingConfig *TrainingConfig `protobuf:"bytes,4,opt,name=training_config,json=trainingConfig,proto3" json:"training_config,omitempty"`
   356  }
   357  
   358  func (x *ActiveLearningConfig) Reset() {
   359  	*x = ActiveLearningConfig{}
   360  	mi := &file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[1]
   361  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   362  	ms.StoreMessageInfo(mi)
   363  }
   364  
   365  func (x *ActiveLearningConfig) String() string {
   366  	return protoimpl.X.MessageStringOf(x)
   367  }
   368  
   369  func (*ActiveLearningConfig) ProtoMessage() {}
   370  
   371  func (x *ActiveLearningConfig) ProtoReflect() protoreflect.Message {
   372  	mi := &file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[1]
   373  	if x != nil {
   374  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   375  		if ms.LoadMessageInfo() == nil {
   376  			ms.StoreMessageInfo(mi)
   377  		}
   378  		return ms
   379  	}
   380  	return mi.MessageOf(x)
   381  }
   382  
   383  // Deprecated: Use ActiveLearningConfig.ProtoReflect.Descriptor instead.
   384  func (*ActiveLearningConfig) Descriptor() ([]byte, []int) {
   385  	return file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescGZIP(), []int{1}
   386  }
   387  
   388  func (m *ActiveLearningConfig) GetHumanLabelingBudget() isActiveLearningConfig_HumanLabelingBudget {
   389  	if m != nil {
   390  		return m.HumanLabelingBudget
   391  	}
   392  	return nil
   393  }
   394  
   395  func (x *ActiveLearningConfig) GetMaxDataItemCount() int64 {
   396  	if x, ok := x.GetHumanLabelingBudget().(*ActiveLearningConfig_MaxDataItemCount); ok {
   397  		return x.MaxDataItemCount
   398  	}
   399  	return 0
   400  }
   401  
   402  func (x *ActiveLearningConfig) GetMaxDataItemPercentage() int32 {
   403  	if x, ok := x.GetHumanLabelingBudget().(*ActiveLearningConfig_MaxDataItemPercentage); ok {
   404  		return x.MaxDataItemPercentage
   405  	}
   406  	return 0
   407  }
   408  
   409  func (x *ActiveLearningConfig) GetSampleConfig() *SampleConfig {
   410  	if x != nil {
   411  		return x.SampleConfig
   412  	}
   413  	return nil
   414  }
   415  
   416  func (x *ActiveLearningConfig) GetTrainingConfig() *TrainingConfig {
   417  	if x != nil {
   418  		return x.TrainingConfig
   419  	}
   420  	return nil
   421  }
   422  
   423  type isActiveLearningConfig_HumanLabelingBudget interface {
   424  	isActiveLearningConfig_HumanLabelingBudget()
   425  }
   426  
   427  type ActiveLearningConfig_MaxDataItemCount struct {
   428  	// Max number of human labeled DataItems.
   429  	MaxDataItemCount int64 `protobuf:"varint,1,opt,name=max_data_item_count,json=maxDataItemCount,proto3,oneof"`
   430  }
   431  
   432  type ActiveLearningConfig_MaxDataItemPercentage struct {
   433  	// Max percent of total DataItems for human labeling.
   434  	MaxDataItemPercentage int32 `protobuf:"varint,2,opt,name=max_data_item_percentage,json=maxDataItemPercentage,proto3,oneof"`
   435  }
   436  
   437  func (*ActiveLearningConfig_MaxDataItemCount) isActiveLearningConfig_HumanLabelingBudget() {}
   438  
   439  func (*ActiveLearningConfig_MaxDataItemPercentage) isActiveLearningConfig_HumanLabelingBudget() {}
   440  
   441  // Active learning data sampling config. For every active learning labeling
   442  // iteration, it will select a batch of data based on the sampling strategy.
   443  type SampleConfig struct {
   444  	state         protoimpl.MessageState
   445  	sizeCache     protoimpl.SizeCache
   446  	unknownFields protoimpl.UnknownFields
   447  
   448  	// Decides sample size for the initial batch. initial_batch_sample_percentage
   449  	// is used by default.
   450  	//
   451  	// Types that are assignable to InitialBatchSampleSize:
   452  	//
   453  	//	*SampleConfig_InitialBatchSamplePercentage
   454  	InitialBatchSampleSize isSampleConfig_InitialBatchSampleSize `protobuf_oneof:"initial_batch_sample_size"`
   455  	// Decides sample size for the following batches.
   456  	// following_batch_sample_percentage is used by default.
   457  	//
   458  	// Types that are assignable to FollowingBatchSampleSize:
   459  	//
   460  	//	*SampleConfig_FollowingBatchSamplePercentage
   461  	FollowingBatchSampleSize isSampleConfig_FollowingBatchSampleSize `protobuf_oneof:"following_batch_sample_size"`
   462  	// Field to choose sampling strategy. Sampling strategy will decide which data
   463  	// should be selected for human labeling in every batch.
   464  	SampleStrategy SampleConfig_SampleStrategy `protobuf:"varint,5,opt,name=sample_strategy,json=sampleStrategy,proto3,enum=google.cloud.aiplatform.v1.SampleConfig_SampleStrategy" json:"sample_strategy,omitempty"`
   465  }
   466  
   467  func (x *SampleConfig) Reset() {
   468  	*x = SampleConfig{}
   469  	mi := &file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[2]
   470  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   471  	ms.StoreMessageInfo(mi)
   472  }
   473  
   474  func (x *SampleConfig) String() string {
   475  	return protoimpl.X.MessageStringOf(x)
   476  }
   477  
   478  func (*SampleConfig) ProtoMessage() {}
   479  
   480  func (x *SampleConfig) ProtoReflect() protoreflect.Message {
   481  	mi := &file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[2]
   482  	if x != nil {
   483  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   484  		if ms.LoadMessageInfo() == nil {
   485  			ms.StoreMessageInfo(mi)
   486  		}
   487  		return ms
   488  	}
   489  	return mi.MessageOf(x)
   490  }
   491  
   492  // Deprecated: Use SampleConfig.ProtoReflect.Descriptor instead.
   493  func (*SampleConfig) Descriptor() ([]byte, []int) {
   494  	return file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescGZIP(), []int{2}
   495  }
   496  
   497  func (m *SampleConfig) GetInitialBatchSampleSize() isSampleConfig_InitialBatchSampleSize {
   498  	if m != nil {
   499  		return m.InitialBatchSampleSize
   500  	}
   501  	return nil
   502  }
   503  
   504  func (x *SampleConfig) GetInitialBatchSamplePercentage() int32 {
   505  	if x, ok := x.GetInitialBatchSampleSize().(*SampleConfig_InitialBatchSamplePercentage); ok {
   506  		return x.InitialBatchSamplePercentage
   507  	}
   508  	return 0
   509  }
   510  
   511  func (m *SampleConfig) GetFollowingBatchSampleSize() isSampleConfig_FollowingBatchSampleSize {
   512  	if m != nil {
   513  		return m.FollowingBatchSampleSize
   514  	}
   515  	return nil
   516  }
   517  
   518  func (x *SampleConfig) GetFollowingBatchSamplePercentage() int32 {
   519  	if x, ok := x.GetFollowingBatchSampleSize().(*SampleConfig_FollowingBatchSamplePercentage); ok {
   520  		return x.FollowingBatchSamplePercentage
   521  	}
   522  	return 0
   523  }
   524  
   525  func (x *SampleConfig) GetSampleStrategy() SampleConfig_SampleStrategy {
   526  	if x != nil {
   527  		return x.SampleStrategy
   528  	}
   529  	return SampleConfig_SAMPLE_STRATEGY_UNSPECIFIED
   530  }
   531  
   532  type isSampleConfig_InitialBatchSampleSize interface {
   533  	isSampleConfig_InitialBatchSampleSize()
   534  }
   535  
   536  type SampleConfig_InitialBatchSamplePercentage struct {
   537  	// The percentage of data needed to be labeled in the first batch.
   538  	InitialBatchSamplePercentage int32 `protobuf:"varint,1,opt,name=initial_batch_sample_percentage,json=initialBatchSamplePercentage,proto3,oneof"`
   539  }
   540  
   541  func (*SampleConfig_InitialBatchSamplePercentage) isSampleConfig_InitialBatchSampleSize() {}
   542  
   543  type isSampleConfig_FollowingBatchSampleSize interface {
   544  	isSampleConfig_FollowingBatchSampleSize()
   545  }
   546  
   547  type SampleConfig_FollowingBatchSamplePercentage struct {
   548  	// The percentage of data needed to be labeled in each following batch
   549  	// (except the first batch).
   550  	FollowingBatchSamplePercentage int32 `protobuf:"varint,3,opt,name=following_batch_sample_percentage,json=followingBatchSamplePercentage,proto3,oneof"`
   551  }
   552  
   553  func (*SampleConfig_FollowingBatchSamplePercentage) isSampleConfig_FollowingBatchSampleSize() {}
   554  
   555  // CMLE training config. For every active learning labeling iteration, system
   556  // will train a machine learning model on CMLE. The trained model will be used
   557  // by data sampling algorithm to select DataItems.
   558  type TrainingConfig struct {
   559  	state         protoimpl.MessageState
   560  	sizeCache     protoimpl.SizeCache
   561  	unknownFields protoimpl.UnknownFields
   562  
   563  	// The timeout hours for the CMLE training job, expressed in milli hours
   564  	// i.e. 1,000 value in this field means 1 hour.
   565  	TimeoutTrainingMilliHours int64 `protobuf:"varint,1,opt,name=timeout_training_milli_hours,json=timeoutTrainingMilliHours,proto3" json:"timeout_training_milli_hours,omitempty"`
   566  }
   567  
   568  func (x *TrainingConfig) Reset() {
   569  	*x = TrainingConfig{}
   570  	mi := &file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[3]
   571  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   572  	ms.StoreMessageInfo(mi)
   573  }
   574  
   575  func (x *TrainingConfig) String() string {
   576  	return protoimpl.X.MessageStringOf(x)
   577  }
   578  
   579  func (*TrainingConfig) ProtoMessage() {}
   580  
   581  func (x *TrainingConfig) ProtoReflect() protoreflect.Message {
   582  	mi := &file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[3]
   583  	if x != nil {
   584  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   585  		if ms.LoadMessageInfo() == nil {
   586  			ms.StoreMessageInfo(mi)
   587  		}
   588  		return ms
   589  	}
   590  	return mi.MessageOf(x)
   591  }
   592  
   593  // Deprecated: Use TrainingConfig.ProtoReflect.Descriptor instead.
   594  func (*TrainingConfig) Descriptor() ([]byte, []int) {
   595  	return file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescGZIP(), []int{3}
   596  }
   597  
   598  func (x *TrainingConfig) GetTimeoutTrainingMilliHours() int64 {
   599  	if x != nil {
   600  		return x.TimeoutTrainingMilliHours
   601  	}
   602  	return 0
   603  }
   604  
   605  var File_google_cloud_aiplatform_v1_data_labeling_job_proto protoreflect.FileDescriptor
   606  
   607  var file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDesc = []byte{
   608  	0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
   609  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74,
   610  	0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70,
   611  	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
   612  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
   613  	0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65,
   614  	0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   615  	0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65,
   616  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f,
   617  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61,
   618  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
   619  	0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a,
   620  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70,
   621  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73,
   622  	0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67,
   623  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75,
   624  	0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   625  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
   626  	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   627  	0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
   628  	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f,
   629  	0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x0a, 0x0a, 0x0f,
   630  	0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12,
   631  	0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
   632  	0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,
   633  	0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
   634  	0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,
   635  	0x12, 0x45, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03,
   636  	0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c,
   637  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
   638  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, 0x64,
   639  	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x6e, 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
   640  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03,
   641  	0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
   642  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
   643  	0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e,
   644  	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
   645  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
   646  	0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c,
   647  	0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
   648  	0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e,
   649  	0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e,
   650  	0x5f, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
   651  	0x0e, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x69, 0x12,
   652  	0x2f, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
   653  	0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
   654  	0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69,
   655  	0x12, 0x33, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
   656  	0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   657  	0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x69,
   658  	0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08,
   659  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
   660  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
   661  	0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
   662  	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69,
   663  	0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28,
   664  	0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67,
   665  	0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72,
   666  	0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32,
   667  	0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x6f,
   668  	0x6e, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
   669  	0x74, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
   670  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
   671  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
   672  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72,
   673  	0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
   674  	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
   675  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
   676  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
   677  	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72,
   678  	0x72, 0x6f, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   679  	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0,
   680  	0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62,
   681  	0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   682  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
   683  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c,
   684  	0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
   685  	0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x70,
   686  	0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x10,
   687  	0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74,
   688  	0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
   689  	0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
   690  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
   691  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72,
   692  	0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72,
   693  	0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x66, 0x0a, 0x16, 0x61, 0x63,
   694  	0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
   695  	0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
   696  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
   697  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65,
   698  	0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x61, 0x63,
   699  	0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66,
   700  	0x69, 0x67, 0x1a, 0x43, 0x0a, 0x15, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   701  	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
   702  	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
   703  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
   704  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c,
   705  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
   706  	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
   707  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
   708  	0x38, 0x01, 0x3a, 0x7c, 0xea, 0x41, 0x79, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
   709  	0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
   710  	0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a,
   711  	0x6f, 0x62, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
   712  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
   713  	0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61,
   714  	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x64, 0x61,
   715  	0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x7d,
   716  	0x22, 0xbf, 0x02, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e,
   717  	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x6d, 0x61, 0x78,
   718  	0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
   719  	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74,
   720  	0x61, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x18, 0x6d, 0x61,
   721  	0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x63,
   722  	0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x15,
   723  	0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x65, 0x72, 0x63, 0x65,
   724  	0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f,
   725  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
   726  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
   727  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65,
   728  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f,
   729  	0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
   730  	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
   731  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
   732  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e,
   733  	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e,
   734  	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x17, 0x0a, 0x15, 0x68, 0x75, 0x6d,
   735  	0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x64, 0x67,
   736  	0x65, 0x74, 0x22, 0x86, 0x03, 0x0a, 0x0c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e,
   737  	0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x1f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62,
   738  	0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63,
   739  	0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1c,
   740  	0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x6d, 0x70,
   741  	0x6c, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x21,
   742  	0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f,
   743  	0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67,
   744  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x1e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,
   745  	0x77, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50,
   746  	0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x73, 0x61, 0x6d,
   747  	0x70, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01,
   748  	0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
   749  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
   750  	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x61, 0x6d,
   751  	0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x73, 0x61, 0x6d,
   752  	0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x42, 0x0a, 0x0e, 0x53,
   753  	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1f, 0x0a,
   754  	0x1b, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59,
   755  	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f,
   756  	0x0a, 0x0b, 0x55, 0x4e, 0x43, 0x45, 0x52, 0x54, 0x41, 0x49, 0x4e, 0x54, 0x59, 0x10, 0x01, 0x42,
   757  	0x1b, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68,
   758  	0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x1d, 0x0a, 0x1b,
   759  	0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f,
   760  	0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x51, 0x0a, 0x0e, 0x54,
   761  	0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a,
   762  	0x1c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e,
   763  	0x67, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x01, 0x20,
   764  	0x01, 0x28, 0x03, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x69,
   765  	0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x42, 0xd2,
   766  	0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
   767  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
   768  	0x31, 0x42, 0x14, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a,
   769  	0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   770  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61,
   771  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f,
   772  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70,
   773  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67,
   774  	0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66,
   775  	0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c,
   776  	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
   777  	0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c,
   778  	0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a,
   779  	0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   780  }
   781  
   782  var (
   783  	file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescOnce sync.Once
   784  	file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescData = file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDesc
   785  )
   786  
   787  func file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescGZIP() []byte {
   788  	file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescOnce.Do(func() {
   789  		file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescData)
   790  	})
   791  	return file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDescData
   792  }
   793  
   794  var file_google_cloud_aiplatform_v1_data_labeling_job_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   795  var file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
   796  var file_google_cloud_aiplatform_v1_data_labeling_job_proto_goTypes = []any{
   797  	(SampleConfig_SampleStrategy)(0), // 0: google.cloud.aiplatform.v1.SampleConfig.SampleStrategy
   798  	(*DataLabelingJob)(nil),          // 1: google.cloud.aiplatform.v1.DataLabelingJob
   799  	(*ActiveLearningConfig)(nil),     // 2: google.cloud.aiplatform.v1.ActiveLearningConfig
   800  	(*SampleConfig)(nil),             // 3: google.cloud.aiplatform.v1.SampleConfig
   801  	(*TrainingConfig)(nil),           // 4: google.cloud.aiplatform.v1.TrainingConfig
   802  	nil,                              // 5: google.cloud.aiplatform.v1.DataLabelingJob.AnnotationLabelsEntry
   803  	nil,                              // 6: google.cloud.aiplatform.v1.DataLabelingJob.LabelsEntry
   804  	(*structpb.Value)(nil),           // 7: google.protobuf.Value
   805  	(JobState)(0),                    // 8: google.cloud.aiplatform.v1.JobState
   806  	(*money.Money)(nil),              // 9: google.type.Money
   807  	(*timestamppb.Timestamp)(nil),    // 10: google.protobuf.Timestamp
   808  	(*status.Status)(nil),            // 11: google.rpc.Status
   809  	(*EncryptionSpec)(nil),           // 12: google.cloud.aiplatform.v1.EncryptionSpec
   810  }
   811  var file_google_cloud_aiplatform_v1_data_labeling_job_proto_depIdxs = []int32{
   812  	5,  // 0: google.cloud.aiplatform.v1.DataLabelingJob.annotation_labels:type_name -> google.cloud.aiplatform.v1.DataLabelingJob.AnnotationLabelsEntry
   813  	7,  // 1: google.cloud.aiplatform.v1.DataLabelingJob.inputs:type_name -> google.protobuf.Value
   814  	8,  // 2: google.cloud.aiplatform.v1.DataLabelingJob.state:type_name -> google.cloud.aiplatform.v1.JobState
   815  	9,  // 3: google.cloud.aiplatform.v1.DataLabelingJob.current_spend:type_name -> google.type.Money
   816  	10, // 4: google.cloud.aiplatform.v1.DataLabelingJob.create_time:type_name -> google.protobuf.Timestamp
   817  	10, // 5: google.cloud.aiplatform.v1.DataLabelingJob.update_time:type_name -> google.protobuf.Timestamp
   818  	11, // 6: google.cloud.aiplatform.v1.DataLabelingJob.error:type_name -> google.rpc.Status
   819  	6,  // 7: google.cloud.aiplatform.v1.DataLabelingJob.labels:type_name -> google.cloud.aiplatform.v1.DataLabelingJob.LabelsEntry
   820  	12, // 8: google.cloud.aiplatform.v1.DataLabelingJob.encryption_spec:type_name -> google.cloud.aiplatform.v1.EncryptionSpec
   821  	2,  // 9: google.cloud.aiplatform.v1.DataLabelingJob.active_learning_config:type_name -> google.cloud.aiplatform.v1.ActiveLearningConfig
   822  	3,  // 10: google.cloud.aiplatform.v1.ActiveLearningConfig.sample_config:type_name -> google.cloud.aiplatform.v1.SampleConfig
   823  	4,  // 11: google.cloud.aiplatform.v1.ActiveLearningConfig.training_config:type_name -> google.cloud.aiplatform.v1.TrainingConfig
   824  	0,  // 12: google.cloud.aiplatform.v1.SampleConfig.sample_strategy:type_name -> google.cloud.aiplatform.v1.SampleConfig.SampleStrategy
   825  	13, // [13:13] is the sub-list for method output_type
   826  	13, // [13:13] is the sub-list for method input_type
   827  	13, // [13:13] is the sub-list for extension type_name
   828  	13, // [13:13] is the sub-list for extension extendee
   829  	0,  // [0:13] is the sub-list for field type_name
   830  }
   831  
   832  func init() { file_google_cloud_aiplatform_v1_data_labeling_job_proto_init() }
   833  func file_google_cloud_aiplatform_v1_data_labeling_job_proto_init() {
   834  	if File_google_cloud_aiplatform_v1_data_labeling_job_proto != nil {
   835  		return
   836  	}
   837  	file_google_cloud_aiplatform_v1_encryption_spec_proto_init()
   838  	file_google_cloud_aiplatform_v1_job_state_proto_init()
   839  	file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[1].OneofWrappers = []any{
   840  		(*ActiveLearningConfig_MaxDataItemCount)(nil),
   841  		(*ActiveLearningConfig_MaxDataItemPercentage)(nil),
   842  	}
   843  	file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes[2].OneofWrappers = []any{
   844  		(*SampleConfig_InitialBatchSamplePercentage)(nil),
   845  		(*SampleConfig_FollowingBatchSamplePercentage)(nil),
   846  	}
   847  	type x struct{}
   848  	out := protoimpl.TypeBuilder{
   849  		File: protoimpl.DescBuilder{
   850  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   851  			RawDescriptor: file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDesc,
   852  			NumEnums:      1,
   853  			NumMessages:   6,
   854  			NumExtensions: 0,
   855  			NumServices:   0,
   856  		},
   857  		GoTypes:           file_google_cloud_aiplatform_v1_data_labeling_job_proto_goTypes,
   858  		DependencyIndexes: file_google_cloud_aiplatform_v1_data_labeling_job_proto_depIdxs,
   859  		EnumInfos:         file_google_cloud_aiplatform_v1_data_labeling_job_proto_enumTypes,
   860  		MessageInfos:      file_google_cloud_aiplatform_v1_data_labeling_job_proto_msgTypes,
   861  	}.Build()
   862  	File_google_cloud_aiplatform_v1_data_labeling_job_proto = out.File
   863  	file_google_cloud_aiplatform_v1_data_labeling_job_proto_rawDesc = nil
   864  	file_google_cloud_aiplatform_v1_data_labeling_job_proto_goTypes = nil
   865  	file_google_cloud_aiplatform_v1_data_labeling_job_proto_depIdxs = nil
   866  }