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 }