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 }