cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/index.pb.go (about)

     1  // Copyright 2025 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1beta1/index.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	structpb "google.golang.org/protobuf/types/known/structpb"
    28  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    29  	reflect "reflect"
    30  	sync "sync"
    31  )
    32  
    33  const (
    34  	// Verify that this generated code is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    36  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    38  )
    39  
    40  // The update method of an Index.
    41  type Index_IndexUpdateMethod int32
    42  
    43  const (
    44  	// Should not be used.
    45  	Index_INDEX_UPDATE_METHOD_UNSPECIFIED Index_IndexUpdateMethod = 0
    46  	// BatchUpdate: user can call UpdateIndex with files on Cloud Storage of
    47  	// Datapoints to update.
    48  	Index_BATCH_UPDATE Index_IndexUpdateMethod = 1
    49  	// StreamUpdate: user can call UpsertDatapoints/DeleteDatapoints to update
    50  	// the Index and the updates will be applied in corresponding
    51  	// DeployedIndexes in nearly real-time.
    52  	Index_STREAM_UPDATE Index_IndexUpdateMethod = 2
    53  )
    54  
    55  // Enum value maps for Index_IndexUpdateMethod.
    56  var (
    57  	Index_IndexUpdateMethod_name = map[int32]string{
    58  		0: "INDEX_UPDATE_METHOD_UNSPECIFIED",
    59  		1: "BATCH_UPDATE",
    60  		2: "STREAM_UPDATE",
    61  	}
    62  	Index_IndexUpdateMethod_value = map[string]int32{
    63  		"INDEX_UPDATE_METHOD_UNSPECIFIED": 0,
    64  		"BATCH_UPDATE":                    1,
    65  		"STREAM_UPDATE":                   2,
    66  	}
    67  )
    68  
    69  func (x Index_IndexUpdateMethod) Enum() *Index_IndexUpdateMethod {
    70  	p := new(Index_IndexUpdateMethod)
    71  	*p = x
    72  	return p
    73  }
    74  
    75  func (x Index_IndexUpdateMethod) String() string {
    76  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    77  }
    78  
    79  func (Index_IndexUpdateMethod) Descriptor() protoreflect.EnumDescriptor {
    80  	return file_google_cloud_aiplatform_v1beta1_index_proto_enumTypes[0].Descriptor()
    81  }
    82  
    83  func (Index_IndexUpdateMethod) Type() protoreflect.EnumType {
    84  	return &file_google_cloud_aiplatform_v1beta1_index_proto_enumTypes[0]
    85  }
    86  
    87  func (x Index_IndexUpdateMethod) Number() protoreflect.EnumNumber {
    88  	return protoreflect.EnumNumber(x)
    89  }
    90  
    91  // Deprecated: Use Index_IndexUpdateMethod.Descriptor instead.
    92  func (Index_IndexUpdateMethod) EnumDescriptor() ([]byte, []int) {
    93  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{0, 0}
    94  }
    95  
    96  // Which comparison operator to use.  Should be specified for queries only;
    97  // specifying this for a datapoint is an error.
    98  //
    99  // Datapoints for which Operator is true relative to the query's Value
   100  // field will be allowlisted.
   101  type IndexDatapoint_NumericRestriction_Operator int32
   102  
   103  const (
   104  	// Default value of the enum.
   105  	IndexDatapoint_NumericRestriction_OPERATOR_UNSPECIFIED IndexDatapoint_NumericRestriction_Operator = 0
   106  	// Datapoints are eligible iff their value is < the query's.
   107  	IndexDatapoint_NumericRestriction_LESS IndexDatapoint_NumericRestriction_Operator = 1
   108  	// Datapoints are eligible iff their value is <= the query's.
   109  	IndexDatapoint_NumericRestriction_LESS_EQUAL IndexDatapoint_NumericRestriction_Operator = 2
   110  	// Datapoints are eligible iff their value is == the query's.
   111  	IndexDatapoint_NumericRestriction_EQUAL IndexDatapoint_NumericRestriction_Operator = 3
   112  	// Datapoints are eligible iff their value is >= the query's.
   113  	IndexDatapoint_NumericRestriction_GREATER_EQUAL IndexDatapoint_NumericRestriction_Operator = 4
   114  	// Datapoints are eligible iff their value is > the query's.
   115  	IndexDatapoint_NumericRestriction_GREATER IndexDatapoint_NumericRestriction_Operator = 5
   116  	// Datapoints are eligible iff their value is != the query's.
   117  	IndexDatapoint_NumericRestriction_NOT_EQUAL IndexDatapoint_NumericRestriction_Operator = 6
   118  )
   119  
   120  // Enum value maps for IndexDatapoint_NumericRestriction_Operator.
   121  var (
   122  	IndexDatapoint_NumericRestriction_Operator_name = map[int32]string{
   123  		0: "OPERATOR_UNSPECIFIED",
   124  		1: "LESS",
   125  		2: "LESS_EQUAL",
   126  		3: "EQUAL",
   127  		4: "GREATER_EQUAL",
   128  		5: "GREATER",
   129  		6: "NOT_EQUAL",
   130  	}
   131  	IndexDatapoint_NumericRestriction_Operator_value = map[string]int32{
   132  		"OPERATOR_UNSPECIFIED": 0,
   133  		"LESS":                 1,
   134  		"LESS_EQUAL":           2,
   135  		"EQUAL":                3,
   136  		"GREATER_EQUAL":        4,
   137  		"GREATER":              5,
   138  		"NOT_EQUAL":            6,
   139  	}
   140  )
   141  
   142  func (x IndexDatapoint_NumericRestriction_Operator) Enum() *IndexDatapoint_NumericRestriction_Operator {
   143  	p := new(IndexDatapoint_NumericRestriction_Operator)
   144  	*p = x
   145  	return p
   146  }
   147  
   148  func (x IndexDatapoint_NumericRestriction_Operator) String() string {
   149  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   150  }
   151  
   152  func (IndexDatapoint_NumericRestriction_Operator) Descriptor() protoreflect.EnumDescriptor {
   153  	return file_google_cloud_aiplatform_v1beta1_index_proto_enumTypes[1].Descriptor()
   154  }
   155  
   156  func (IndexDatapoint_NumericRestriction_Operator) Type() protoreflect.EnumType {
   157  	return &file_google_cloud_aiplatform_v1beta1_index_proto_enumTypes[1]
   158  }
   159  
   160  func (x IndexDatapoint_NumericRestriction_Operator) Number() protoreflect.EnumNumber {
   161  	return protoreflect.EnumNumber(x)
   162  }
   163  
   164  // Deprecated: Use IndexDatapoint_NumericRestriction_Operator.Descriptor instead.
   165  func (IndexDatapoint_NumericRestriction_Operator) EnumDescriptor() ([]byte, []int) {
   166  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1, 2, 0}
   167  }
   168  
   169  // A representation of a collection of database items organized in a way that
   170  // allows for approximate nearest neighbor (a.k.a ANN) algorithms search.
   171  type Index struct {
   172  	state         protoimpl.MessageState
   173  	sizeCache     protoimpl.SizeCache
   174  	unknownFields protoimpl.UnknownFields
   175  
   176  	// Output only. The resource name of the Index.
   177  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   178  	// Required. The display name of the Index.
   179  	// The name can be up to 128 characters long and can consist of any UTF-8
   180  	// characters.
   181  	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   182  	// The description of the Index.
   183  	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
   184  	// Immutable. Points to a YAML file stored on Google Cloud Storage describing
   185  	// additional information about the Index, that is specific to it. Unset if
   186  	// the Index does not have any additional information. The schema is defined
   187  	// as an OpenAPI 3.0.2 [Schema
   188  	// Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
   189  	// Note: The URI given on output will be immutable and probably different,
   190  	// including the URI scheme, than the one given on input. The output URI will
   191  	// point to a location where the user only has a read access.
   192  	MetadataSchemaUri string `protobuf:"bytes,4,opt,name=metadata_schema_uri,json=metadataSchemaUri,proto3" json:"metadata_schema_uri,omitempty"`
   193  	// An additional information about the Index; the schema of the metadata can
   194  	// be found in
   195  	// [metadata_schema][google.cloud.aiplatform.v1beta1.Index.metadata_schema_uri].
   196  	Metadata *structpb.Value `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
   197  	// Output only. The pointers to DeployedIndexes created from this Index.
   198  	// An Index can be only deleted if all its DeployedIndexes had been undeployed
   199  	// first.
   200  	DeployedIndexes []*DeployedIndexRef `protobuf:"bytes,7,rep,name=deployed_indexes,json=deployedIndexes,proto3" json:"deployed_indexes,omitempty"`
   201  	// Used to perform consistent read-modify-write updates. If not set, a blind
   202  	// "overwrite" update happens.
   203  	Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"`
   204  	// The labels with user-defined metadata to organize your Indexes.
   205  	//
   206  	// Label keys and values can be no longer than 64 characters
   207  	// (Unicode codepoints), can only contain lowercase letters, numeric
   208  	// characters, underscores and dashes. International characters are allowed.
   209  	//
   210  	// See https://goo.gl/xmQnxf for more information and examples of labels.
   211  	Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   212  	// Output only. Timestamp when this Index was created.
   213  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   214  	// Output only. Timestamp when this Index was most recently updated.
   215  	// This also includes any update to the contents of the Index.
   216  	// Note that Operations working on this Index may have their
   217  	// [Operations.metadata.generic_metadata.update_time]
   218  	// [google.cloud.aiplatform.v1beta1.GenericOperationMetadata.update_time] a
   219  	// little after the value of this timestamp, yet that does not mean their
   220  	// results are not already reflected in the Index. Result of any successfully
   221  	// completed Operation on the Index is reflected in it.
   222  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   223  	// Output only. Stats of the index resource.
   224  	IndexStats *IndexStats `protobuf:"bytes,14,opt,name=index_stats,json=indexStats,proto3" json:"index_stats,omitempty"`
   225  	// Immutable. The update method to use with this Index. If not set,
   226  	// BATCH_UPDATE will be used by default.
   227  	IndexUpdateMethod Index_IndexUpdateMethod `protobuf:"varint,16,opt,name=index_update_method,json=indexUpdateMethod,proto3,enum=google.cloud.aiplatform.v1beta1.Index_IndexUpdateMethod" json:"index_update_method,omitempty"`
   228  	// Immutable. Customer-managed encryption key spec for an Index. If set, this
   229  	// Index and all sub-resources of this Index will be secured by this key.
   230  	EncryptionSpec *EncryptionSpec `protobuf:"bytes,17,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"`
   231  	// Output only. Reserved for future use.
   232  	SatisfiesPzs bool `protobuf:"varint,18,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
   233  	// Output only. Reserved for future use.
   234  	SatisfiesPzi bool `protobuf:"varint,19,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"`
   235  }
   236  
   237  func (x *Index) Reset() {
   238  	*x = Index{}
   239  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[0]
   240  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   241  	ms.StoreMessageInfo(mi)
   242  }
   243  
   244  func (x *Index) String() string {
   245  	return protoimpl.X.MessageStringOf(x)
   246  }
   247  
   248  func (*Index) ProtoMessage() {}
   249  
   250  func (x *Index) ProtoReflect() protoreflect.Message {
   251  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[0]
   252  	if x != nil {
   253  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   254  		if ms.LoadMessageInfo() == nil {
   255  			ms.StoreMessageInfo(mi)
   256  		}
   257  		return ms
   258  	}
   259  	return mi.MessageOf(x)
   260  }
   261  
   262  // Deprecated: Use Index.ProtoReflect.Descriptor instead.
   263  func (*Index) Descriptor() ([]byte, []int) {
   264  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{0}
   265  }
   266  
   267  func (x *Index) GetName() string {
   268  	if x != nil {
   269  		return x.Name
   270  	}
   271  	return ""
   272  }
   273  
   274  func (x *Index) GetDisplayName() string {
   275  	if x != nil {
   276  		return x.DisplayName
   277  	}
   278  	return ""
   279  }
   280  
   281  func (x *Index) GetDescription() string {
   282  	if x != nil {
   283  		return x.Description
   284  	}
   285  	return ""
   286  }
   287  
   288  func (x *Index) GetMetadataSchemaUri() string {
   289  	if x != nil {
   290  		return x.MetadataSchemaUri
   291  	}
   292  	return ""
   293  }
   294  
   295  func (x *Index) GetMetadata() *structpb.Value {
   296  	if x != nil {
   297  		return x.Metadata
   298  	}
   299  	return nil
   300  }
   301  
   302  func (x *Index) GetDeployedIndexes() []*DeployedIndexRef {
   303  	if x != nil {
   304  		return x.DeployedIndexes
   305  	}
   306  	return nil
   307  }
   308  
   309  func (x *Index) GetEtag() string {
   310  	if x != nil {
   311  		return x.Etag
   312  	}
   313  	return ""
   314  }
   315  
   316  func (x *Index) GetLabels() map[string]string {
   317  	if x != nil {
   318  		return x.Labels
   319  	}
   320  	return nil
   321  }
   322  
   323  func (x *Index) GetCreateTime() *timestamppb.Timestamp {
   324  	if x != nil {
   325  		return x.CreateTime
   326  	}
   327  	return nil
   328  }
   329  
   330  func (x *Index) GetUpdateTime() *timestamppb.Timestamp {
   331  	if x != nil {
   332  		return x.UpdateTime
   333  	}
   334  	return nil
   335  }
   336  
   337  func (x *Index) GetIndexStats() *IndexStats {
   338  	if x != nil {
   339  		return x.IndexStats
   340  	}
   341  	return nil
   342  }
   343  
   344  func (x *Index) GetIndexUpdateMethod() Index_IndexUpdateMethod {
   345  	if x != nil {
   346  		return x.IndexUpdateMethod
   347  	}
   348  	return Index_INDEX_UPDATE_METHOD_UNSPECIFIED
   349  }
   350  
   351  func (x *Index) GetEncryptionSpec() *EncryptionSpec {
   352  	if x != nil {
   353  		return x.EncryptionSpec
   354  	}
   355  	return nil
   356  }
   357  
   358  func (x *Index) GetSatisfiesPzs() bool {
   359  	if x != nil {
   360  		return x.SatisfiesPzs
   361  	}
   362  	return false
   363  }
   364  
   365  func (x *Index) GetSatisfiesPzi() bool {
   366  	if x != nil {
   367  		return x.SatisfiesPzi
   368  	}
   369  	return false
   370  }
   371  
   372  // A datapoint of Index.
   373  type IndexDatapoint struct {
   374  	state         protoimpl.MessageState
   375  	sizeCache     protoimpl.SizeCache
   376  	unknownFields protoimpl.UnknownFields
   377  
   378  	// Required. Unique identifier of the datapoint.
   379  	DatapointId string `protobuf:"bytes,1,opt,name=datapoint_id,json=datapointId,proto3" json:"datapoint_id,omitempty"`
   380  	// Required. Feature embedding vector for dense index. An array of numbers
   381  	// with the length of [NearestNeighborSearchConfig.dimensions].
   382  	FeatureVector []float32 `protobuf:"fixed32,2,rep,packed,name=feature_vector,json=featureVector,proto3" json:"feature_vector,omitempty"`
   383  	// Optional. Feature embedding vector for sparse index.
   384  	SparseEmbedding *IndexDatapoint_SparseEmbedding `protobuf:"bytes,7,opt,name=sparse_embedding,json=sparseEmbedding,proto3" json:"sparse_embedding,omitempty"`
   385  	// Optional. List of Restrict of the datapoint, used to perform "restricted
   386  	// searches" where boolean rule are used to filter the subset of the database
   387  	// eligible for matching. This uses categorical tokens. See:
   388  	// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering
   389  	Restricts []*IndexDatapoint_Restriction `protobuf:"bytes,4,rep,name=restricts,proto3" json:"restricts,omitempty"`
   390  	// Optional. List of Restrict of the datapoint, used to perform "restricted
   391  	// searches" where boolean rule are used to filter the subset of the database
   392  	// eligible for matching. This uses numeric comparisons.
   393  	NumericRestricts []*IndexDatapoint_NumericRestriction `protobuf:"bytes,6,rep,name=numeric_restricts,json=numericRestricts,proto3" json:"numeric_restricts,omitempty"`
   394  	// Optional. CrowdingTag of the datapoint, the number of neighbors to return
   395  	// in each crowding can be configured during query.
   396  	CrowdingTag *IndexDatapoint_CrowdingTag `protobuf:"bytes,5,opt,name=crowding_tag,json=crowdingTag,proto3" json:"crowding_tag,omitempty"`
   397  	// Optional. The key-value map of additional metadata for the datapoint.
   398  	EmbeddingMetadata *structpb.Struct `protobuf:"bytes,8,opt,name=embedding_metadata,json=embeddingMetadata,proto3" json:"embedding_metadata,omitempty"`
   399  }
   400  
   401  func (x *IndexDatapoint) Reset() {
   402  	*x = IndexDatapoint{}
   403  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[1]
   404  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   405  	ms.StoreMessageInfo(mi)
   406  }
   407  
   408  func (x *IndexDatapoint) String() string {
   409  	return protoimpl.X.MessageStringOf(x)
   410  }
   411  
   412  func (*IndexDatapoint) ProtoMessage() {}
   413  
   414  func (x *IndexDatapoint) ProtoReflect() protoreflect.Message {
   415  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[1]
   416  	if x != nil {
   417  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   418  		if ms.LoadMessageInfo() == nil {
   419  			ms.StoreMessageInfo(mi)
   420  		}
   421  		return ms
   422  	}
   423  	return mi.MessageOf(x)
   424  }
   425  
   426  // Deprecated: Use IndexDatapoint.ProtoReflect.Descriptor instead.
   427  func (*IndexDatapoint) Descriptor() ([]byte, []int) {
   428  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1}
   429  }
   430  
   431  func (x *IndexDatapoint) GetDatapointId() string {
   432  	if x != nil {
   433  		return x.DatapointId
   434  	}
   435  	return ""
   436  }
   437  
   438  func (x *IndexDatapoint) GetFeatureVector() []float32 {
   439  	if x != nil {
   440  		return x.FeatureVector
   441  	}
   442  	return nil
   443  }
   444  
   445  func (x *IndexDatapoint) GetSparseEmbedding() *IndexDatapoint_SparseEmbedding {
   446  	if x != nil {
   447  		return x.SparseEmbedding
   448  	}
   449  	return nil
   450  }
   451  
   452  func (x *IndexDatapoint) GetRestricts() []*IndexDatapoint_Restriction {
   453  	if x != nil {
   454  		return x.Restricts
   455  	}
   456  	return nil
   457  }
   458  
   459  func (x *IndexDatapoint) GetNumericRestricts() []*IndexDatapoint_NumericRestriction {
   460  	if x != nil {
   461  		return x.NumericRestricts
   462  	}
   463  	return nil
   464  }
   465  
   466  func (x *IndexDatapoint) GetCrowdingTag() *IndexDatapoint_CrowdingTag {
   467  	if x != nil {
   468  		return x.CrowdingTag
   469  	}
   470  	return nil
   471  }
   472  
   473  func (x *IndexDatapoint) GetEmbeddingMetadata() *structpb.Struct {
   474  	if x != nil {
   475  		return x.EmbeddingMetadata
   476  	}
   477  	return nil
   478  }
   479  
   480  // Stats of the Index.
   481  type IndexStats struct {
   482  	state         protoimpl.MessageState
   483  	sizeCache     protoimpl.SizeCache
   484  	unknownFields protoimpl.UnknownFields
   485  
   486  	// Output only. The number of dense vectors in the Index.
   487  	VectorsCount int64 `protobuf:"varint,1,opt,name=vectors_count,json=vectorsCount,proto3" json:"vectors_count,omitempty"`
   488  	// Output only. The number of sparse vectors in the Index.
   489  	SparseVectorsCount int64 `protobuf:"varint,3,opt,name=sparse_vectors_count,json=sparseVectorsCount,proto3" json:"sparse_vectors_count,omitempty"`
   490  	// Output only. The number of shards in the Index.
   491  	ShardsCount int32 `protobuf:"varint,2,opt,name=shards_count,json=shardsCount,proto3" json:"shards_count,omitempty"`
   492  }
   493  
   494  func (x *IndexStats) Reset() {
   495  	*x = IndexStats{}
   496  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[2]
   497  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   498  	ms.StoreMessageInfo(mi)
   499  }
   500  
   501  func (x *IndexStats) String() string {
   502  	return protoimpl.X.MessageStringOf(x)
   503  }
   504  
   505  func (*IndexStats) ProtoMessage() {}
   506  
   507  func (x *IndexStats) ProtoReflect() protoreflect.Message {
   508  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[2]
   509  	if x != nil {
   510  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   511  		if ms.LoadMessageInfo() == nil {
   512  			ms.StoreMessageInfo(mi)
   513  		}
   514  		return ms
   515  	}
   516  	return mi.MessageOf(x)
   517  }
   518  
   519  // Deprecated: Use IndexStats.ProtoReflect.Descriptor instead.
   520  func (*IndexStats) Descriptor() ([]byte, []int) {
   521  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{2}
   522  }
   523  
   524  func (x *IndexStats) GetVectorsCount() int64 {
   525  	if x != nil {
   526  		return x.VectorsCount
   527  	}
   528  	return 0
   529  }
   530  
   531  func (x *IndexStats) GetSparseVectorsCount() int64 {
   532  	if x != nil {
   533  		return x.SparseVectorsCount
   534  	}
   535  	return 0
   536  }
   537  
   538  func (x *IndexStats) GetShardsCount() int32 {
   539  	if x != nil {
   540  		return x.ShardsCount
   541  	}
   542  	return 0
   543  }
   544  
   545  // Feature embedding vector for sparse index. An array of numbers whose values
   546  // are located in the specified dimensions.
   547  type IndexDatapoint_SparseEmbedding struct {
   548  	state         protoimpl.MessageState
   549  	sizeCache     protoimpl.SizeCache
   550  	unknownFields protoimpl.UnknownFields
   551  
   552  	// Required. The list of embedding values of the sparse vector.
   553  	Values []float32 `protobuf:"fixed32,1,rep,packed,name=values,proto3" json:"values,omitempty"`
   554  	// Required. The list of indexes for the embedding values of the sparse
   555  	// vector.
   556  	Dimensions []int64 `protobuf:"varint,2,rep,packed,name=dimensions,proto3" json:"dimensions,omitempty"`
   557  }
   558  
   559  func (x *IndexDatapoint_SparseEmbedding) Reset() {
   560  	*x = IndexDatapoint_SparseEmbedding{}
   561  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[4]
   562  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   563  	ms.StoreMessageInfo(mi)
   564  }
   565  
   566  func (x *IndexDatapoint_SparseEmbedding) String() string {
   567  	return protoimpl.X.MessageStringOf(x)
   568  }
   569  
   570  func (*IndexDatapoint_SparseEmbedding) ProtoMessage() {}
   571  
   572  func (x *IndexDatapoint_SparseEmbedding) ProtoReflect() protoreflect.Message {
   573  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[4]
   574  	if x != nil {
   575  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   576  		if ms.LoadMessageInfo() == nil {
   577  			ms.StoreMessageInfo(mi)
   578  		}
   579  		return ms
   580  	}
   581  	return mi.MessageOf(x)
   582  }
   583  
   584  // Deprecated: Use IndexDatapoint_SparseEmbedding.ProtoReflect.Descriptor instead.
   585  func (*IndexDatapoint_SparseEmbedding) Descriptor() ([]byte, []int) {
   586  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1, 0}
   587  }
   588  
   589  func (x *IndexDatapoint_SparseEmbedding) GetValues() []float32 {
   590  	if x != nil {
   591  		return x.Values
   592  	}
   593  	return nil
   594  }
   595  
   596  func (x *IndexDatapoint_SparseEmbedding) GetDimensions() []int64 {
   597  	if x != nil {
   598  		return x.Dimensions
   599  	}
   600  	return nil
   601  }
   602  
   603  // Restriction of a datapoint which describe its attributes(tokens) from each
   604  // of several attribute categories(namespaces).
   605  type IndexDatapoint_Restriction struct {
   606  	state         protoimpl.MessageState
   607  	sizeCache     protoimpl.SizeCache
   608  	unknownFields protoimpl.UnknownFields
   609  
   610  	// The namespace of this restriction. e.g.: color.
   611  	Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
   612  	// The attributes to allow in this namespace. e.g.: 'red'
   613  	AllowList []string `protobuf:"bytes,2,rep,name=allow_list,json=allowList,proto3" json:"allow_list,omitempty"`
   614  	// The attributes to deny in this namespace. e.g.: 'blue'
   615  	DenyList []string `protobuf:"bytes,3,rep,name=deny_list,json=denyList,proto3" json:"deny_list,omitempty"`
   616  }
   617  
   618  func (x *IndexDatapoint_Restriction) Reset() {
   619  	*x = IndexDatapoint_Restriction{}
   620  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[5]
   621  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   622  	ms.StoreMessageInfo(mi)
   623  }
   624  
   625  func (x *IndexDatapoint_Restriction) String() string {
   626  	return protoimpl.X.MessageStringOf(x)
   627  }
   628  
   629  func (*IndexDatapoint_Restriction) ProtoMessage() {}
   630  
   631  func (x *IndexDatapoint_Restriction) ProtoReflect() protoreflect.Message {
   632  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[5]
   633  	if x != nil {
   634  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   635  		if ms.LoadMessageInfo() == nil {
   636  			ms.StoreMessageInfo(mi)
   637  		}
   638  		return ms
   639  	}
   640  	return mi.MessageOf(x)
   641  }
   642  
   643  // Deprecated: Use IndexDatapoint_Restriction.ProtoReflect.Descriptor instead.
   644  func (*IndexDatapoint_Restriction) Descriptor() ([]byte, []int) {
   645  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1, 1}
   646  }
   647  
   648  func (x *IndexDatapoint_Restriction) GetNamespace() string {
   649  	if x != nil {
   650  		return x.Namespace
   651  	}
   652  	return ""
   653  }
   654  
   655  func (x *IndexDatapoint_Restriction) GetAllowList() []string {
   656  	if x != nil {
   657  		return x.AllowList
   658  	}
   659  	return nil
   660  }
   661  
   662  func (x *IndexDatapoint_Restriction) GetDenyList() []string {
   663  	if x != nil {
   664  		return x.DenyList
   665  	}
   666  	return nil
   667  }
   668  
   669  // This field allows restricts to be based on numeric comparisons rather
   670  // than categorical tokens.
   671  type IndexDatapoint_NumericRestriction struct {
   672  	state         protoimpl.MessageState
   673  	sizeCache     protoimpl.SizeCache
   674  	unknownFields protoimpl.UnknownFields
   675  
   676  	// The type of Value must be consistent for all datapoints with a given
   677  	// namespace name. This is verified at runtime.
   678  	//
   679  	// Types that are assignable to Value:
   680  	//
   681  	//	*IndexDatapoint_NumericRestriction_ValueInt
   682  	//	*IndexDatapoint_NumericRestriction_ValueFloat
   683  	//	*IndexDatapoint_NumericRestriction_ValueDouble
   684  	Value isIndexDatapoint_NumericRestriction_Value `protobuf_oneof:"Value"`
   685  	// The namespace of this restriction. e.g.: cost.
   686  	Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
   687  	// This MUST be specified for queries and must NOT be specified for
   688  	// datapoints.
   689  	Op IndexDatapoint_NumericRestriction_Operator `protobuf:"varint,5,opt,name=op,proto3,enum=google.cloud.aiplatform.v1beta1.IndexDatapoint_NumericRestriction_Operator" json:"op,omitempty"`
   690  }
   691  
   692  func (x *IndexDatapoint_NumericRestriction) Reset() {
   693  	*x = IndexDatapoint_NumericRestriction{}
   694  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[6]
   695  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   696  	ms.StoreMessageInfo(mi)
   697  }
   698  
   699  func (x *IndexDatapoint_NumericRestriction) String() string {
   700  	return protoimpl.X.MessageStringOf(x)
   701  }
   702  
   703  func (*IndexDatapoint_NumericRestriction) ProtoMessage() {}
   704  
   705  func (x *IndexDatapoint_NumericRestriction) ProtoReflect() protoreflect.Message {
   706  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[6]
   707  	if x != nil {
   708  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   709  		if ms.LoadMessageInfo() == nil {
   710  			ms.StoreMessageInfo(mi)
   711  		}
   712  		return ms
   713  	}
   714  	return mi.MessageOf(x)
   715  }
   716  
   717  // Deprecated: Use IndexDatapoint_NumericRestriction.ProtoReflect.Descriptor instead.
   718  func (*IndexDatapoint_NumericRestriction) Descriptor() ([]byte, []int) {
   719  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1, 2}
   720  }
   721  
   722  func (m *IndexDatapoint_NumericRestriction) GetValue() isIndexDatapoint_NumericRestriction_Value {
   723  	if m != nil {
   724  		return m.Value
   725  	}
   726  	return nil
   727  }
   728  
   729  func (x *IndexDatapoint_NumericRestriction) GetValueInt() int64 {
   730  	if x, ok := x.GetValue().(*IndexDatapoint_NumericRestriction_ValueInt); ok {
   731  		return x.ValueInt
   732  	}
   733  	return 0
   734  }
   735  
   736  func (x *IndexDatapoint_NumericRestriction) GetValueFloat() float32 {
   737  	if x, ok := x.GetValue().(*IndexDatapoint_NumericRestriction_ValueFloat); ok {
   738  		return x.ValueFloat
   739  	}
   740  	return 0
   741  }
   742  
   743  func (x *IndexDatapoint_NumericRestriction) GetValueDouble() float64 {
   744  	if x, ok := x.GetValue().(*IndexDatapoint_NumericRestriction_ValueDouble); ok {
   745  		return x.ValueDouble
   746  	}
   747  	return 0
   748  }
   749  
   750  func (x *IndexDatapoint_NumericRestriction) GetNamespace() string {
   751  	if x != nil {
   752  		return x.Namespace
   753  	}
   754  	return ""
   755  }
   756  
   757  func (x *IndexDatapoint_NumericRestriction) GetOp() IndexDatapoint_NumericRestriction_Operator {
   758  	if x != nil {
   759  		return x.Op
   760  	}
   761  	return IndexDatapoint_NumericRestriction_OPERATOR_UNSPECIFIED
   762  }
   763  
   764  type isIndexDatapoint_NumericRestriction_Value interface {
   765  	isIndexDatapoint_NumericRestriction_Value()
   766  }
   767  
   768  type IndexDatapoint_NumericRestriction_ValueInt struct {
   769  	// Represents 64 bit integer.
   770  	ValueInt int64 `protobuf:"varint,2,opt,name=value_int,json=valueInt,proto3,oneof"`
   771  }
   772  
   773  type IndexDatapoint_NumericRestriction_ValueFloat struct {
   774  	// Represents 32 bit float.
   775  	ValueFloat float32 `protobuf:"fixed32,3,opt,name=value_float,json=valueFloat,proto3,oneof"`
   776  }
   777  
   778  type IndexDatapoint_NumericRestriction_ValueDouble struct {
   779  	// Represents 64 bit float.
   780  	ValueDouble float64 `protobuf:"fixed64,4,opt,name=value_double,json=valueDouble,proto3,oneof"`
   781  }
   782  
   783  func (*IndexDatapoint_NumericRestriction_ValueInt) isIndexDatapoint_NumericRestriction_Value() {}
   784  
   785  func (*IndexDatapoint_NumericRestriction_ValueFloat) isIndexDatapoint_NumericRestriction_Value() {}
   786  
   787  func (*IndexDatapoint_NumericRestriction_ValueDouble) isIndexDatapoint_NumericRestriction_Value() {}
   788  
   789  // Crowding tag is a constraint on a neighbor list produced by nearest
   790  // neighbor search requiring that no more than some value k' of the k
   791  // neighbors returned have the same value of crowding_attribute.
   792  type IndexDatapoint_CrowdingTag struct {
   793  	state         protoimpl.MessageState
   794  	sizeCache     protoimpl.SizeCache
   795  	unknownFields protoimpl.UnknownFields
   796  
   797  	// The attribute value used for crowding.  The maximum number of neighbors
   798  	// to return per crowding attribute value
   799  	// (per_crowding_attribute_num_neighbors) is configured per-query. This
   800  	// field is ignored if per_crowding_attribute_num_neighbors is larger than
   801  	// the total number of neighbors to return for a given query.
   802  	CrowdingAttribute string `protobuf:"bytes,1,opt,name=crowding_attribute,json=crowdingAttribute,proto3" json:"crowding_attribute,omitempty"`
   803  }
   804  
   805  func (x *IndexDatapoint_CrowdingTag) Reset() {
   806  	*x = IndexDatapoint_CrowdingTag{}
   807  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[7]
   808  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   809  	ms.StoreMessageInfo(mi)
   810  }
   811  
   812  func (x *IndexDatapoint_CrowdingTag) String() string {
   813  	return protoimpl.X.MessageStringOf(x)
   814  }
   815  
   816  func (*IndexDatapoint_CrowdingTag) ProtoMessage() {}
   817  
   818  func (x *IndexDatapoint_CrowdingTag) ProtoReflect() protoreflect.Message {
   819  	mi := &file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[7]
   820  	if x != nil {
   821  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   822  		if ms.LoadMessageInfo() == nil {
   823  			ms.StoreMessageInfo(mi)
   824  		}
   825  		return ms
   826  	}
   827  	return mi.MessageOf(x)
   828  }
   829  
   830  // Deprecated: Use IndexDatapoint_CrowdingTag.ProtoReflect.Descriptor instead.
   831  func (*IndexDatapoint_CrowdingTag) Descriptor() ([]byte, []int) {
   832  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1, 3}
   833  }
   834  
   835  func (x *IndexDatapoint_CrowdingTag) GetCrowdingAttribute() string {
   836  	if x != nil {
   837  		return x.CrowdingAttribute
   838  	}
   839  	return ""
   840  }
   841  
   842  var File_google_cloud_aiplatform_v1beta1_index_proto protoreflect.FileDescriptor
   843  
   844  var file_google_cloud_aiplatform_v1beta1_index_proto_rawDesc = []byte{
   845  	0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
   846  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
   847  	0x31, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67,
   848  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
   849  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f,
   850  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
   851  	0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   852  	0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f,
   853  	0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x6f, 0x6f, 0x67,
   854  	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
   855  	0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c,
   856  	0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x72, 0x65, 0x66, 0x2e, 0x70,
   857  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
   858  	0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31,
   859  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
   860  	0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
   861  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
   862  	0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   863  	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
   864  	0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x09, 0x0a, 0x05, 0x49,
   865  	0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
   866  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a,
   867  	0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
   868  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
   869  	0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
   870  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
   871  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x6d, 0x65, 0x74, 0x61, 0x64,
   872  	0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04,
   873  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64,
   874  	0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x32, 0x0a, 0x08,
   875  	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
   876  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   877  	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
   878  	0x12, 0x61, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64,
   879  	0x65, 0x78, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f,
   880  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
   881  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70,
   882  	0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x66, 0x42, 0x03, 0xe0,
   883  	0x41, 0x03, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65,
   884  	0x78, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28,
   885  	0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
   886  	0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   887  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
   888  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e,
   889  	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62,
   890  	0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
   891  	0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   892  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
   893  	0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
   894  	0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
   895  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
   896  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
   897  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64,
   898  	0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78,
   899  	0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
   900  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
   901  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49,
   902  	0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
   903  	0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x6d, 0x0a, 0x13, 0x69, 0x6e,
   904  	0x64, 0x65, 0x78, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f,
   905  	0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   906  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
   907  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e,
   908  	0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f,
   909  	0x64, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x11, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x64,
   910  	0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x5d, 0x0a, 0x0f, 0x65, 0x6e, 0x63,
   911  	0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x11, 0x20, 0x01,
   912  	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
   913  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
   914  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53,
   915  	0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
   916  	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69,
   917  	0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42,
   918  	0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50,
   919  	0x7a, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f,
   920  	0x70, 0x7a, 0x69, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c,
   921  	0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x69, 0x1a, 0x39, 0x0a, 0x0b,
   922  	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
   923  	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
   924  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
   925  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5d, 0x0a, 0x11, 0x49, 0x6e, 0x64, 0x65, 0x78,
   926  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x23, 0x0a, 0x1f,
   927  	0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x45, 0x54,
   928  	0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
   929  	0x00, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54,
   930  	0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x55, 0x50,
   931  	0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x3a, 0x5d, 0xea, 0x41, 0x5a, 0x0a, 0x1f, 0x61, 0x69, 0x70,
   932  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
   933  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x70, 0x72,
   934  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d,
   935  	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61,
   936  	0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x69,
   937  	0x6e, 0x64, 0x65, 0x78, 0x7d, 0x22, 0xd5, 0x09, 0x0a, 0x0e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44,
   938  	0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61,
   939  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
   940  	0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64,
   941  	0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74,
   942  	0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x66,
   943  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x6f, 0x0a, 0x10,
   944  	0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67,
   945  	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   946  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
   947  	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61,
   948  	0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x45, 0x6d,
   949  	0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x73, 0x70,
   950  	0x61, 0x72, 0x73, 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x5e, 0x0a,
   951  	0x09, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
   952  	0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
   953  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
   954  	0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e,
   955  	0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0,
   956  	0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x12, 0x74, 0x0a,
   957  	0x11, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63,
   958  	0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   959  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
   960  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78,
   961  	0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69,
   962  	0x63, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41,
   963  	0x01, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69,
   964  	0x63, 0x74, 0x73, 0x12, 0x63, 0x0a, 0x0c, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f,
   965  	0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   966  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
   967  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65,
   968  	0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x6f, 0x77, 0x64,
   969  	0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x63, 0x72, 0x6f,
   970  	0x77, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x4b, 0x0a, 0x12, 0x65, 0x6d, 0x62, 0x65,
   971  	0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08,
   972  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
   973  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0,
   974  	0x41, 0x01, 0x52, 0x11, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74,
   975  	0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x53, 0x0a, 0x0f, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x45,
   976  	0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75,
   977  	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76,
   978  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69,
   979  	0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
   980  	0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x0b, 0x52, 0x65,
   981  	0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d,
   982  	0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61,
   983  	0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
   984  	0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x6c,
   985  	0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x6c,
   986  	0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x6e, 0x79, 0x4c,
   987  	0x69, 0x73, 0x74, 0x1a, 0xf9, 0x02, 0x0a, 0x12, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52,
   988  	0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x09, 0x76, 0x61,
   989  	0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52,
   990  	0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x76, 0x61, 0x6c,
   991  	0x75, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00,
   992  	0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0c,
   993  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01,
   994  	0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c,
   995  	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
   996  	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
   997  	0x5b, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4b, 0x2e, 0x67, 0x6f,
   998  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
   999  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e,
  1000  	0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x75, 0x6d,
  1001  	0x65, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
  1002  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x78, 0x0a, 0x08,
  1003  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52,
  1004  	0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  1005  	0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a,
  1006  	0x4c, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05,
  1007  	0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x52, 0x45, 0x41, 0x54,
  1008  	0x45, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x52,
  1009  	0x45, 0x41, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
  1010  	0x51, 0x55, 0x41, 0x4c, 0x10, 0x06, 0x42, 0x07, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a,
  1011  	0x3c, 0x0a, 0x0b, 0x43, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x2d,
  1012  	0x0a, 0x12, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69,
  1013  	0x62, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x72, 0x6f, 0x77,
  1014  	0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0x95, 0x01,
  1015  	0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0d,
  1016  	0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
  1017  	0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72,
  1018  	0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65,
  1019  	0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
  1020  	0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x73, 0x70, 0x61, 0x72, 0x73,
  1021  	0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a,
  1022  	0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20,
  1023  	0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73,
  1024  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0xe1, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
  1025  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  1026  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x49,
  1027  	0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f,
  1028  	0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f,
  1029  	0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76,
  1030  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  1031  	0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62,
  1032  	0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1033  	0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74,
  1034  	0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75,
  1035  	0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62,
  1036  	0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43,
  1037  	0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1038  	0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1039  	0x33,
  1040  }
  1041  
  1042  var (
  1043  	file_google_cloud_aiplatform_v1beta1_index_proto_rawDescOnce sync.Once
  1044  	file_google_cloud_aiplatform_v1beta1_index_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_index_proto_rawDesc
  1045  )
  1046  
  1047  func file_google_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP() []byte {
  1048  	file_google_cloud_aiplatform_v1beta1_index_proto_rawDescOnce.Do(func() {
  1049  		file_google_cloud_aiplatform_v1beta1_index_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_index_proto_rawDescData)
  1050  	})
  1051  	return file_google_cloud_aiplatform_v1beta1_index_proto_rawDescData
  1052  }
  1053  
  1054  var file_google_cloud_aiplatform_v1beta1_index_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1055  var file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
  1056  var file_google_cloud_aiplatform_v1beta1_index_proto_goTypes = []any{
  1057  	(Index_IndexUpdateMethod)(0),                    // 0: google.cloud.aiplatform.v1beta1.Index.IndexUpdateMethod
  1058  	(IndexDatapoint_NumericRestriction_Operator)(0), // 1: google.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction.Operator
  1059  	(*Index)(nil),                             // 2: google.cloud.aiplatform.v1beta1.Index
  1060  	(*IndexDatapoint)(nil),                    // 3: google.cloud.aiplatform.v1beta1.IndexDatapoint
  1061  	(*IndexStats)(nil),                        // 4: google.cloud.aiplatform.v1beta1.IndexStats
  1062  	nil,                                       // 5: google.cloud.aiplatform.v1beta1.Index.LabelsEntry
  1063  	(*IndexDatapoint_SparseEmbedding)(nil),    // 6: google.cloud.aiplatform.v1beta1.IndexDatapoint.SparseEmbedding
  1064  	(*IndexDatapoint_Restriction)(nil),        // 7: google.cloud.aiplatform.v1beta1.IndexDatapoint.Restriction
  1065  	(*IndexDatapoint_NumericRestriction)(nil), // 8: google.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction
  1066  	(*IndexDatapoint_CrowdingTag)(nil),        // 9: google.cloud.aiplatform.v1beta1.IndexDatapoint.CrowdingTag
  1067  	(*structpb.Value)(nil),                    // 10: google.protobuf.Value
  1068  	(*DeployedIndexRef)(nil),                  // 11: google.cloud.aiplatform.v1beta1.DeployedIndexRef
  1069  	(*timestamppb.Timestamp)(nil),             // 12: google.protobuf.Timestamp
  1070  	(*EncryptionSpec)(nil),                    // 13: google.cloud.aiplatform.v1beta1.EncryptionSpec
  1071  	(*structpb.Struct)(nil),                   // 14: google.protobuf.Struct
  1072  }
  1073  var file_google_cloud_aiplatform_v1beta1_index_proto_depIdxs = []int32{
  1074  	10, // 0: google.cloud.aiplatform.v1beta1.Index.metadata:type_name -> google.protobuf.Value
  1075  	11, // 1: google.cloud.aiplatform.v1beta1.Index.deployed_indexes:type_name -> google.cloud.aiplatform.v1beta1.DeployedIndexRef
  1076  	5,  // 2: google.cloud.aiplatform.v1beta1.Index.labels:type_name -> google.cloud.aiplatform.v1beta1.Index.LabelsEntry
  1077  	12, // 3: google.cloud.aiplatform.v1beta1.Index.create_time:type_name -> google.protobuf.Timestamp
  1078  	12, // 4: google.cloud.aiplatform.v1beta1.Index.update_time:type_name -> google.protobuf.Timestamp
  1079  	4,  // 5: google.cloud.aiplatform.v1beta1.Index.index_stats:type_name -> google.cloud.aiplatform.v1beta1.IndexStats
  1080  	0,  // 6: google.cloud.aiplatform.v1beta1.Index.index_update_method:type_name -> google.cloud.aiplatform.v1beta1.Index.IndexUpdateMethod
  1081  	13, // 7: google.cloud.aiplatform.v1beta1.Index.encryption_spec:type_name -> google.cloud.aiplatform.v1beta1.EncryptionSpec
  1082  	6,  // 8: google.cloud.aiplatform.v1beta1.IndexDatapoint.sparse_embedding:type_name -> google.cloud.aiplatform.v1beta1.IndexDatapoint.SparseEmbedding
  1083  	7,  // 9: google.cloud.aiplatform.v1beta1.IndexDatapoint.restricts:type_name -> google.cloud.aiplatform.v1beta1.IndexDatapoint.Restriction
  1084  	8,  // 10: google.cloud.aiplatform.v1beta1.IndexDatapoint.numeric_restricts:type_name -> google.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction
  1085  	9,  // 11: google.cloud.aiplatform.v1beta1.IndexDatapoint.crowding_tag:type_name -> google.cloud.aiplatform.v1beta1.IndexDatapoint.CrowdingTag
  1086  	14, // 12: google.cloud.aiplatform.v1beta1.IndexDatapoint.embedding_metadata:type_name -> google.protobuf.Struct
  1087  	1,  // 13: google.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction.op:type_name -> google.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction.Operator
  1088  	14, // [14:14] is the sub-list for method output_type
  1089  	14, // [14:14] is the sub-list for method input_type
  1090  	14, // [14:14] is the sub-list for extension type_name
  1091  	14, // [14:14] is the sub-list for extension extendee
  1092  	0,  // [0:14] is the sub-list for field type_name
  1093  }
  1094  
  1095  func init() { file_google_cloud_aiplatform_v1beta1_index_proto_init() }
  1096  func file_google_cloud_aiplatform_v1beta1_index_proto_init() {
  1097  	if File_google_cloud_aiplatform_v1beta1_index_proto != nil {
  1098  		return
  1099  	}
  1100  	file_google_cloud_aiplatform_v1beta1_deployed_index_ref_proto_init()
  1101  	file_google_cloud_aiplatform_v1beta1_encryption_spec_proto_init()
  1102  	file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes[6].OneofWrappers = []any{
  1103  		(*IndexDatapoint_NumericRestriction_ValueInt)(nil),
  1104  		(*IndexDatapoint_NumericRestriction_ValueFloat)(nil),
  1105  		(*IndexDatapoint_NumericRestriction_ValueDouble)(nil),
  1106  	}
  1107  	type x struct{}
  1108  	out := protoimpl.TypeBuilder{
  1109  		File: protoimpl.DescBuilder{
  1110  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1111  			RawDescriptor: file_google_cloud_aiplatform_v1beta1_index_proto_rawDesc,
  1112  			NumEnums:      2,
  1113  			NumMessages:   8,
  1114  			NumExtensions: 0,
  1115  			NumServices:   0,
  1116  		},
  1117  		GoTypes:           file_google_cloud_aiplatform_v1beta1_index_proto_goTypes,
  1118  		DependencyIndexes: file_google_cloud_aiplatform_v1beta1_index_proto_depIdxs,
  1119  		EnumInfos:         file_google_cloud_aiplatform_v1beta1_index_proto_enumTypes,
  1120  		MessageInfos:      file_google_cloud_aiplatform_v1beta1_index_proto_msgTypes,
  1121  	}.Build()
  1122  	File_google_cloud_aiplatform_v1beta1_index_proto = out.File
  1123  	file_google_cloud_aiplatform_v1beta1_index_proto_rawDesc = nil
  1124  	file_google_cloud_aiplatform_v1beta1_index_proto_goTypes = nil
  1125  	file_google_cloud_aiplatform_v1beta1_index_proto_depIdxs = nil
  1126  }