cloud.google.com/go/aiplatform@v1.106.0/apiv1/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/v1/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_v1_index_proto_enumTypes[0].Descriptor()
    81  }
    82  
    83  func (Index_IndexUpdateMethod) Type() protoreflect.EnumType {
    84  	return &file_google_cloud_aiplatform_v1_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_v1_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_v1_index_proto_enumTypes[1].Descriptor()
   154  }
   155  
   156  func (IndexDatapoint_NumericRestriction_Operator) Type() protoreflect.EnumType {
   157  	return &file_google_cloud_aiplatform_v1_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_v1_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.v1.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.v1.GenericOperationMetadata.update_time] a little
   219  	// after the value of this timestamp, yet that does not mean their results are
   220  	// not already reflected in the Index. Result of any successfully completed
   221  	// 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.v1.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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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.v1.IndexDatapoint_NumericRestriction_Operator" json:"op,omitempty"`
   690  }
   691  
   692  func (x *IndexDatapoint_NumericRestriction) Reset() {
   693  	*x = IndexDatapoint_NumericRestriction{}
   694  	mi := &file_google_cloud_aiplatform_v1_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_v1_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_v1_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_v1_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_v1_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_v1_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_v1_index_proto protoreflect.FileDescriptor
   843  
   844  var file_google_cloud_aiplatform_v1_index_proto_rawDesc = []byte{
   845  	0x0a, 0x26, 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, 0x2f, 0x69, 0x6e, 0x64,
   847  	0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   848  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
   849  	0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
   850  	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
   851  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
   852  	0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   853  	0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
   854  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70,
   855  	0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x72, 0x65, 0x66, 0x2e,
   856  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
   857  	0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76,
   858  	0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65,
   859  	0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   860  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e,
   861  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
   862  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
   863  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x08, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78,
   864  	0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
   865  	0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73,
   866  	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
   867  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d,
   868  	0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
   869  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
   870  	0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f,
   871  	0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
   872  	0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53,
   873  	0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x32, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
   874  	0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
   875  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c,
   876  	0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5c, 0x0a, 0x10,
   877  	0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73,
   878  	0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   879  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
   880  	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65,
   881  	0x78, 0x52, 0x65, 0x66, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f,
   882  	0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74,
   883  	0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x45,
   884  	0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d,
   885  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
   886  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65,
   887  	0x78, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c,
   888  	0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
   889  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
   890  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
   891  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65,
   892  	0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
   893  	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
   894  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
   895  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75,
   896  	0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x69, 0x6e, 0x64,
   897  	0x65, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
   898  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
   899  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65,
   900  	0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x64,
   901  	0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x13, 0x69, 0x6e, 0x64, 0x65, 0x78,
   902  	0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x10,
   903  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
   904  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
   905  	0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x64,
   906  	0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x11,
   907  	0x69, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f,
   908  	0x64, 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
   909  	0x73, 0x70, 0x65, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
   910  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
   911  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
   912  	0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0e, 0x65, 0x6e, 0x63,
   913  	0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x73,
   914  	0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x12, 0x20, 0x01,
   915  	0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69,
   916  	0x65, 0x73, 0x50, 0x7a, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69,
   917  	0x65, 0x73, 0x5f, 0x70, 0x7a, 0x69, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41,
   918  	0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x69, 0x1a,
   919  	0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
   920  	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
   921  	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
   922  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5d, 0x0a, 0x11, 0x49, 0x6e,
   923  	0x64, 0x65, 0x78, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12,
   924  	0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f,
   925  	0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
   926  	0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x55, 0x50,
   927  	0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d,
   928  	0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x3a, 0x5d, 0xea, 0x41, 0x5a, 0x0a, 0x1f,
   929  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   930  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
   931  	0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
   932  	0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c,
   933  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73,
   934  	0x2f, 0x7b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x7d, 0x22, 0xbc, 0x09, 0x0a, 0x0e, 0x49, 0x6e, 0x64,
   935  	0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x64,
   936  	0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
   937  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e,
   938  	0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76,
   939  	0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02,
   940  	0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12,
   941  	0x6a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64,
   942  	0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   943  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
   944  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61,
   945  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x45, 0x6d, 0x62, 0x65,
   946  	0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x73, 0x70, 0x61, 0x72,
   947  	0x73, 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x59, 0x0a, 0x09, 0x72,
   948  	0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36,
   949  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
   950  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65,
   951  	0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72,
   952  	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x73,
   953  	0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69,
   954  	0x63, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
   955  	0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   956  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49,
   957  	0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x75,
   958  	0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
   959  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x65,
   960  	0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x12, 0x5e, 0x0a, 0x0c, 0x63, 0x72, 0x6f, 0x77, 0x64,
   961  	0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e,
   962  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
   963  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78,
   964  	0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x6f, 0x77, 0x64, 0x69,
   965  	0x6e, 0x67, 0x54, 0x61, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x63, 0x72, 0x6f, 0x77,
   966  	0x64, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x4b, 0x0a, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64,
   967  	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20,
   968  	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   969  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41,
   970  	0x01, 0x52, 0x11, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61,
   971  	0x64, 0x61, 0x74, 0x61, 0x1a, 0x53, 0x0a, 0x0f, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x45, 0x6d,
   972  	0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65,
   973  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61,
   974  	0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
   975  	0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x64,
   976  	0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x0b, 0x52, 0x65, 0x73,
   977  	0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65,
   978  	0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d,
   979  	0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f,
   980  	0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f,
   981  	0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x6c, 0x69,
   982  	0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x6e, 0x79, 0x4c, 0x69,
   983  	0x73, 0x74, 0x1a, 0xf4, 0x02, 0x0a, 0x12, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x65,
   984  	0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x09, 0x76, 0x61, 0x6c,
   985  	0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08,
   986  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75,
   987  	0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52,
   988  	0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x76,
   989  	0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
   990  	0x01, 0x48, 0x00, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
   991  	0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
   992  	0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x56,
   993  	0x0a, 0x02, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f,
   994  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
   995  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74,
   996  	0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x65,
   997  	0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
   998  	0x6f, 0x72, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x78, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
   999  	0x6f, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55,
  1000  	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04,
  1001  	0x4c, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x45,
  1002  	0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10,
  1003  	0x03, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x45, 0x51, 0x55,
  1004  	0x41, 0x4c, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x10,
  1005  	0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x06,
  1006  	0x42, 0x07, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x3c, 0x0a, 0x0b, 0x43, 0x72, 0x6f,
  1007  	0x77, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x72, 0x6f, 0x77,
  1008  	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x01,
  1009  	0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74,
  1010  	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65,
  1011  	0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72,
  1012  	0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0,
  1013  	0x41, 0x03, 0x52, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  1014  	0x12, 0x35, 0x0a, 0x14, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f,
  1015  	0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03,
  1016  	0xe0, 0x41, 0x03, 0x52, 0x12, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f,
  1017  	0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64,
  1018  	0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
  1019  	0x41, 0x03, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42,
  1020  	0xc8, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1021  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1022  	0x76, 0x31, 0x42, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
  1023  	0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1024  	0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1025  	0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  1026  	0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62,
  1027  	0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1028  	0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a,
  1029  	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50,
  1030  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f,
  1031  	0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c,
  1032  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
  1033  	0x6f, 0x33,
  1034  }
  1035  
  1036  var (
  1037  	file_google_cloud_aiplatform_v1_index_proto_rawDescOnce sync.Once
  1038  	file_google_cloud_aiplatform_v1_index_proto_rawDescData = file_google_cloud_aiplatform_v1_index_proto_rawDesc
  1039  )
  1040  
  1041  func file_google_cloud_aiplatform_v1_index_proto_rawDescGZIP() []byte {
  1042  	file_google_cloud_aiplatform_v1_index_proto_rawDescOnce.Do(func() {
  1043  		file_google_cloud_aiplatform_v1_index_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_index_proto_rawDescData)
  1044  	})
  1045  	return file_google_cloud_aiplatform_v1_index_proto_rawDescData
  1046  }
  1047  
  1048  var file_google_cloud_aiplatform_v1_index_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1049  var file_google_cloud_aiplatform_v1_index_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
  1050  var file_google_cloud_aiplatform_v1_index_proto_goTypes = []any{
  1051  	(Index_IndexUpdateMethod)(0),                    // 0: google.cloud.aiplatform.v1.Index.IndexUpdateMethod
  1052  	(IndexDatapoint_NumericRestriction_Operator)(0), // 1: google.cloud.aiplatform.v1.IndexDatapoint.NumericRestriction.Operator
  1053  	(*Index)(nil),                             // 2: google.cloud.aiplatform.v1.Index
  1054  	(*IndexDatapoint)(nil),                    // 3: google.cloud.aiplatform.v1.IndexDatapoint
  1055  	(*IndexStats)(nil),                        // 4: google.cloud.aiplatform.v1.IndexStats
  1056  	nil,                                       // 5: google.cloud.aiplatform.v1.Index.LabelsEntry
  1057  	(*IndexDatapoint_SparseEmbedding)(nil),    // 6: google.cloud.aiplatform.v1.IndexDatapoint.SparseEmbedding
  1058  	(*IndexDatapoint_Restriction)(nil),        // 7: google.cloud.aiplatform.v1.IndexDatapoint.Restriction
  1059  	(*IndexDatapoint_NumericRestriction)(nil), // 8: google.cloud.aiplatform.v1.IndexDatapoint.NumericRestriction
  1060  	(*IndexDatapoint_CrowdingTag)(nil),        // 9: google.cloud.aiplatform.v1.IndexDatapoint.CrowdingTag
  1061  	(*structpb.Value)(nil),                    // 10: google.protobuf.Value
  1062  	(*DeployedIndexRef)(nil),                  // 11: google.cloud.aiplatform.v1.DeployedIndexRef
  1063  	(*timestamppb.Timestamp)(nil),             // 12: google.protobuf.Timestamp
  1064  	(*EncryptionSpec)(nil),                    // 13: google.cloud.aiplatform.v1.EncryptionSpec
  1065  	(*structpb.Struct)(nil),                   // 14: google.protobuf.Struct
  1066  }
  1067  var file_google_cloud_aiplatform_v1_index_proto_depIdxs = []int32{
  1068  	10, // 0: google.cloud.aiplatform.v1.Index.metadata:type_name -> google.protobuf.Value
  1069  	11, // 1: google.cloud.aiplatform.v1.Index.deployed_indexes:type_name -> google.cloud.aiplatform.v1.DeployedIndexRef
  1070  	5,  // 2: google.cloud.aiplatform.v1.Index.labels:type_name -> google.cloud.aiplatform.v1.Index.LabelsEntry
  1071  	12, // 3: google.cloud.aiplatform.v1.Index.create_time:type_name -> google.protobuf.Timestamp
  1072  	12, // 4: google.cloud.aiplatform.v1.Index.update_time:type_name -> google.protobuf.Timestamp
  1073  	4,  // 5: google.cloud.aiplatform.v1.Index.index_stats:type_name -> google.cloud.aiplatform.v1.IndexStats
  1074  	0,  // 6: google.cloud.aiplatform.v1.Index.index_update_method:type_name -> google.cloud.aiplatform.v1.Index.IndexUpdateMethod
  1075  	13, // 7: google.cloud.aiplatform.v1.Index.encryption_spec:type_name -> google.cloud.aiplatform.v1.EncryptionSpec
  1076  	6,  // 8: google.cloud.aiplatform.v1.IndexDatapoint.sparse_embedding:type_name -> google.cloud.aiplatform.v1.IndexDatapoint.SparseEmbedding
  1077  	7,  // 9: google.cloud.aiplatform.v1.IndexDatapoint.restricts:type_name -> google.cloud.aiplatform.v1.IndexDatapoint.Restriction
  1078  	8,  // 10: google.cloud.aiplatform.v1.IndexDatapoint.numeric_restricts:type_name -> google.cloud.aiplatform.v1.IndexDatapoint.NumericRestriction
  1079  	9,  // 11: google.cloud.aiplatform.v1.IndexDatapoint.crowding_tag:type_name -> google.cloud.aiplatform.v1.IndexDatapoint.CrowdingTag
  1080  	14, // 12: google.cloud.aiplatform.v1.IndexDatapoint.embedding_metadata:type_name -> google.protobuf.Struct
  1081  	1,  // 13: google.cloud.aiplatform.v1.IndexDatapoint.NumericRestriction.op:type_name -> google.cloud.aiplatform.v1.IndexDatapoint.NumericRestriction.Operator
  1082  	14, // [14:14] is the sub-list for method output_type
  1083  	14, // [14:14] is the sub-list for method input_type
  1084  	14, // [14:14] is the sub-list for extension type_name
  1085  	14, // [14:14] is the sub-list for extension extendee
  1086  	0,  // [0:14] is the sub-list for field type_name
  1087  }
  1088  
  1089  func init() { file_google_cloud_aiplatform_v1_index_proto_init() }
  1090  func file_google_cloud_aiplatform_v1_index_proto_init() {
  1091  	if File_google_cloud_aiplatform_v1_index_proto != nil {
  1092  		return
  1093  	}
  1094  	file_google_cloud_aiplatform_v1_deployed_index_ref_proto_init()
  1095  	file_google_cloud_aiplatform_v1_encryption_spec_proto_init()
  1096  	file_google_cloud_aiplatform_v1_index_proto_msgTypes[6].OneofWrappers = []any{
  1097  		(*IndexDatapoint_NumericRestriction_ValueInt)(nil),
  1098  		(*IndexDatapoint_NumericRestriction_ValueFloat)(nil),
  1099  		(*IndexDatapoint_NumericRestriction_ValueDouble)(nil),
  1100  	}
  1101  	type x struct{}
  1102  	out := protoimpl.TypeBuilder{
  1103  		File: protoimpl.DescBuilder{
  1104  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1105  			RawDescriptor: file_google_cloud_aiplatform_v1_index_proto_rawDesc,
  1106  			NumEnums:      2,
  1107  			NumMessages:   8,
  1108  			NumExtensions: 0,
  1109  			NumServices:   0,
  1110  		},
  1111  		GoTypes:           file_google_cloud_aiplatform_v1_index_proto_goTypes,
  1112  		DependencyIndexes: file_google_cloud_aiplatform_v1_index_proto_depIdxs,
  1113  		EnumInfos:         file_google_cloud_aiplatform_v1_index_proto_enumTypes,
  1114  		MessageInfos:      file_google_cloud_aiplatform_v1_index_proto_msgTypes,
  1115  	}.Build()
  1116  	File_google_cloud_aiplatform_v1_index_proto = out.File
  1117  	file_google_cloud_aiplatform_v1_index_proto_rawDesc = nil
  1118  	file_google_cloud_aiplatform_v1_index_proto_goTypes = nil
  1119  	file_google_cloud_aiplatform_v1_index_proto_depIdxs = nil
  1120  }