cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/feature_view.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/feature_view.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 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 28 reflect "reflect" 29 sync "sync" 30 ) 31 32 const ( 33 // Verify that this generated code is sufficiently up-to-date. 34 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 35 // Verify that runtime/protoimpl is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 37 ) 38 39 // Service agent type used during data sync. 40 type FeatureView_ServiceAgentType int32 41 42 const ( 43 // By default, the project-level Vertex AI Service Agent is enabled. 44 FeatureView_SERVICE_AGENT_TYPE_UNSPECIFIED FeatureView_ServiceAgentType = 0 45 // Indicates the project-level Vertex AI Service Agent 46 // (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) 47 // will be used during sync jobs. 48 FeatureView_SERVICE_AGENT_TYPE_PROJECT FeatureView_ServiceAgentType = 1 49 // Enable a FeatureView service account to be created by Vertex AI and 50 // output in the field `service_account_email`. This service account will 51 // be used to read from the source BigQuery table during sync. 52 FeatureView_SERVICE_AGENT_TYPE_FEATURE_VIEW FeatureView_ServiceAgentType = 2 53 ) 54 55 // Enum value maps for FeatureView_ServiceAgentType. 56 var ( 57 FeatureView_ServiceAgentType_name = map[int32]string{ 58 0: "SERVICE_AGENT_TYPE_UNSPECIFIED", 59 1: "SERVICE_AGENT_TYPE_PROJECT", 60 2: "SERVICE_AGENT_TYPE_FEATURE_VIEW", 61 } 62 FeatureView_ServiceAgentType_value = map[string]int32{ 63 "SERVICE_AGENT_TYPE_UNSPECIFIED": 0, 64 "SERVICE_AGENT_TYPE_PROJECT": 1, 65 "SERVICE_AGENT_TYPE_FEATURE_VIEW": 2, 66 } 67 ) 68 69 func (x FeatureView_ServiceAgentType) Enum() *FeatureView_ServiceAgentType { 70 p := new(FeatureView_ServiceAgentType) 71 *p = x 72 return p 73 } 74 75 func (x FeatureView_ServiceAgentType) String() string { 76 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 77 } 78 79 func (FeatureView_ServiceAgentType) Descriptor() protoreflect.EnumDescriptor { 80 return file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[0].Descriptor() 81 } 82 83 func (FeatureView_ServiceAgentType) Type() protoreflect.EnumType { 84 return &file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[0] 85 } 86 87 func (x FeatureView_ServiceAgentType) Number() protoreflect.EnumNumber { 88 return protoreflect.EnumNumber(x) 89 } 90 91 // Deprecated: Use FeatureView_ServiceAgentType.Descriptor instead. 92 func (FeatureView_ServiceAgentType) EnumDescriptor() ([]byte, []int) { 93 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 0} 94 } 95 96 // The distance measure used in nearest neighbor search. 97 type FeatureView_IndexConfig_DistanceMeasureType int32 98 99 const ( 100 // Should not be set. 101 FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED FeatureView_IndexConfig_DistanceMeasureType = 0 102 // Euclidean (L_2) Distance. 103 FeatureView_IndexConfig_SQUARED_L2_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 1 104 // Cosine Distance. Defined as 1 - cosine similarity. 105 // 106 // We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead 107 // of COSINE distance. Our algorithms have been more optimized for 108 // DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is 109 // mathematically equivalent to COSINE distance and results in the same 110 // ranking. 111 FeatureView_IndexConfig_COSINE_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 2 112 // Dot Product Distance. Defined as a negative of the dot product. 113 FeatureView_IndexConfig_DOT_PRODUCT_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 3 114 ) 115 116 // Enum value maps for FeatureView_IndexConfig_DistanceMeasureType. 117 var ( 118 FeatureView_IndexConfig_DistanceMeasureType_name = map[int32]string{ 119 0: "DISTANCE_MEASURE_TYPE_UNSPECIFIED", 120 1: "SQUARED_L2_DISTANCE", 121 2: "COSINE_DISTANCE", 122 3: "DOT_PRODUCT_DISTANCE", 123 } 124 FeatureView_IndexConfig_DistanceMeasureType_value = map[string]int32{ 125 "DISTANCE_MEASURE_TYPE_UNSPECIFIED": 0, 126 "SQUARED_L2_DISTANCE": 1, 127 "COSINE_DISTANCE": 2, 128 "DOT_PRODUCT_DISTANCE": 3, 129 } 130 ) 131 132 func (x FeatureView_IndexConfig_DistanceMeasureType) Enum() *FeatureView_IndexConfig_DistanceMeasureType { 133 p := new(FeatureView_IndexConfig_DistanceMeasureType) 134 *p = x 135 return p 136 } 137 138 func (x FeatureView_IndexConfig_DistanceMeasureType) String() string { 139 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 140 } 141 142 func (FeatureView_IndexConfig_DistanceMeasureType) Descriptor() protoreflect.EnumDescriptor { 143 return file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[1].Descriptor() 144 } 145 146 func (FeatureView_IndexConfig_DistanceMeasureType) Type() protoreflect.EnumType { 147 return &file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[1] 148 } 149 150 func (x FeatureView_IndexConfig_DistanceMeasureType) Number() protoreflect.EnumNumber { 151 return protoreflect.EnumNumber(x) 152 } 153 154 // Deprecated: Use FeatureView_IndexConfig_DistanceMeasureType.Descriptor instead. 155 func (FeatureView_IndexConfig_DistanceMeasureType) EnumDescriptor() ([]byte, []int) { 156 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0} 157 } 158 159 // FeatureView is representation of values that the FeatureOnlineStore will 160 // serve based on its syncConfig. 161 type FeatureView struct { 162 state protoimpl.MessageState 163 sizeCache protoimpl.SizeCache 164 unknownFields protoimpl.UnknownFields 165 166 // Types that are assignable to Source: 167 // 168 // *FeatureView_BigQuerySource_ 169 // *FeatureView_FeatureRegistrySource_ 170 // *FeatureView_VertexRagSource_ 171 Source isFeatureView_Source `protobuf_oneof:"source"` 172 // Identifier. Name of the FeatureView. Format: 173 // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` 174 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 175 // Output only. Timestamp when this FeatureView was created. 176 CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 177 // Output only. Timestamp when this FeatureView was last updated. 178 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 179 // Optional. Used to perform consistent read-modify-write updates. If not set, 180 // a blind "overwrite" update happens. 181 Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` 182 // Optional. The labels with user-defined metadata to organize your 183 // FeatureViews. 184 // 185 // Label keys and values can be no longer than 64 characters 186 // (Unicode codepoints), can only contain lowercase letters, numeric 187 // characters, underscores and dashes. International characters are allowed. 188 // 189 // See https://goo.gl/xmQnxf for more information on and examples of labels. 190 // No more than 64 user labels can be associated with one 191 // FeatureOnlineStore(System labels are excluded)." System reserved label keys 192 // are prefixed with "aiplatform.googleapis.com/" and are immutable. 193 Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 194 // Configures when data is to be synced/updated for this FeatureView. At the 195 // end of the sync the latest featureValues for each entityId of this 196 // FeatureView are made ready for online serving. 197 SyncConfig *FeatureView_SyncConfig `protobuf:"bytes,7,opt,name=sync_config,json=syncConfig,proto3" json:"sync_config,omitempty"` 198 // Optional. Configuration for index preparation for vector search. It 199 // contains the required configurations to create an index from source data, 200 // so that approximate nearest neighbor (a.k.a ANN) algorithms search can be 201 // performed during online serving. 202 IndexConfig *FeatureView_IndexConfig `protobuf:"bytes,15,opt,name=index_config,json=indexConfig,proto3" json:"index_config,omitempty"` 203 // Optional. Configuration for FeatureView created under Optimized 204 // FeatureOnlineStore. 205 OptimizedConfig *FeatureView_OptimizedConfig `protobuf:"bytes,16,opt,name=optimized_config,json=optimizedConfig,proto3" json:"optimized_config,omitempty"` 206 // Optional. Service agent type used during data sync. By default, the Vertex 207 // AI Service Agent is used. When using an IAM Policy to isolate this 208 // FeatureView within a project, a separate service account should be 209 // provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`. 210 // This will generate a separate service account to access the BigQuery source 211 // table. 212 ServiceAgentType FeatureView_ServiceAgentType `protobuf:"varint,14,opt,name=service_agent_type,json=serviceAgentType,proto3,enum=google.cloud.aiplatform.v1.FeatureView_ServiceAgentType" json:"service_agent_type,omitempty"` 213 // Output only. A Service Account unique to this FeatureView. The role 214 // bigquery.dataViewer should be granted to this service account to allow 215 // Vertex AI Feature Store to sync data to the online store. 216 ServiceAccountEmail string `protobuf:"bytes,13,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` 217 // Output only. Reserved for future use. 218 SatisfiesPzs bool `protobuf:"varint,19,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"` 219 // Output only. Reserved for future use. 220 SatisfiesPzi bool `protobuf:"varint,20,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"` 221 // Metadata containing information about the Cloud Bigtable. 222 BigtableMetadata *FeatureView_BigtableMetadata `protobuf:"bytes,21,opt,name=bigtable_metadata,json=bigtableMetadata,proto3" json:"bigtable_metadata,omitempty"` 223 } 224 225 func (x *FeatureView) Reset() { 226 *x = FeatureView{} 227 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[0] 228 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 229 ms.StoreMessageInfo(mi) 230 } 231 232 func (x *FeatureView) String() string { 233 return protoimpl.X.MessageStringOf(x) 234 } 235 236 func (*FeatureView) ProtoMessage() {} 237 238 func (x *FeatureView) ProtoReflect() protoreflect.Message { 239 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[0] 240 if x != nil { 241 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 242 if ms.LoadMessageInfo() == nil { 243 ms.StoreMessageInfo(mi) 244 } 245 return ms 246 } 247 return mi.MessageOf(x) 248 } 249 250 // Deprecated: Use FeatureView.ProtoReflect.Descriptor instead. 251 func (*FeatureView) Descriptor() ([]byte, []int) { 252 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0} 253 } 254 255 func (m *FeatureView) GetSource() isFeatureView_Source { 256 if m != nil { 257 return m.Source 258 } 259 return nil 260 } 261 262 func (x *FeatureView) GetBigQuerySource() *FeatureView_BigQuerySource { 263 if x, ok := x.GetSource().(*FeatureView_BigQuerySource_); ok { 264 return x.BigQuerySource 265 } 266 return nil 267 } 268 269 func (x *FeatureView) GetFeatureRegistrySource() *FeatureView_FeatureRegistrySource { 270 if x, ok := x.GetSource().(*FeatureView_FeatureRegistrySource_); ok { 271 return x.FeatureRegistrySource 272 } 273 return nil 274 } 275 276 func (x *FeatureView) GetVertexRagSource() *FeatureView_VertexRagSource { 277 if x, ok := x.GetSource().(*FeatureView_VertexRagSource_); ok { 278 return x.VertexRagSource 279 } 280 return nil 281 } 282 283 func (x *FeatureView) GetName() string { 284 if x != nil { 285 return x.Name 286 } 287 return "" 288 } 289 290 func (x *FeatureView) GetCreateTime() *timestamppb.Timestamp { 291 if x != nil { 292 return x.CreateTime 293 } 294 return nil 295 } 296 297 func (x *FeatureView) GetUpdateTime() *timestamppb.Timestamp { 298 if x != nil { 299 return x.UpdateTime 300 } 301 return nil 302 } 303 304 func (x *FeatureView) GetEtag() string { 305 if x != nil { 306 return x.Etag 307 } 308 return "" 309 } 310 311 func (x *FeatureView) GetLabels() map[string]string { 312 if x != nil { 313 return x.Labels 314 } 315 return nil 316 } 317 318 func (x *FeatureView) GetSyncConfig() *FeatureView_SyncConfig { 319 if x != nil { 320 return x.SyncConfig 321 } 322 return nil 323 } 324 325 func (x *FeatureView) GetIndexConfig() *FeatureView_IndexConfig { 326 if x != nil { 327 return x.IndexConfig 328 } 329 return nil 330 } 331 332 func (x *FeatureView) GetOptimizedConfig() *FeatureView_OptimizedConfig { 333 if x != nil { 334 return x.OptimizedConfig 335 } 336 return nil 337 } 338 339 func (x *FeatureView) GetServiceAgentType() FeatureView_ServiceAgentType { 340 if x != nil { 341 return x.ServiceAgentType 342 } 343 return FeatureView_SERVICE_AGENT_TYPE_UNSPECIFIED 344 } 345 346 func (x *FeatureView) GetServiceAccountEmail() string { 347 if x != nil { 348 return x.ServiceAccountEmail 349 } 350 return "" 351 } 352 353 func (x *FeatureView) GetSatisfiesPzs() bool { 354 if x != nil { 355 return x.SatisfiesPzs 356 } 357 return false 358 } 359 360 func (x *FeatureView) GetSatisfiesPzi() bool { 361 if x != nil { 362 return x.SatisfiesPzi 363 } 364 return false 365 } 366 367 func (x *FeatureView) GetBigtableMetadata() *FeatureView_BigtableMetadata { 368 if x != nil { 369 return x.BigtableMetadata 370 } 371 return nil 372 } 373 374 type isFeatureView_Source interface { 375 isFeatureView_Source() 376 } 377 378 type FeatureView_BigQuerySource_ struct { 379 // Optional. Configures how data is supposed to be extracted from a BigQuery 380 // source to be loaded onto the FeatureOnlineStore. 381 BigQuerySource *FeatureView_BigQuerySource `protobuf:"bytes,6,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` 382 } 383 384 type FeatureView_FeatureRegistrySource_ struct { 385 // Optional. Configures the features from a Feature Registry source that 386 // need to be loaded onto the FeatureOnlineStore. 387 FeatureRegistrySource *FeatureView_FeatureRegistrySource `protobuf:"bytes,9,opt,name=feature_registry_source,json=featureRegistrySource,proto3,oneof"` 388 } 389 390 type FeatureView_VertexRagSource_ struct { 391 // Optional. The Vertex RAG Source that the FeatureView is linked to. 392 VertexRagSource *FeatureView_VertexRagSource `protobuf:"bytes,18,opt,name=vertex_rag_source,json=vertexRagSource,proto3,oneof"` 393 } 394 395 func (*FeatureView_BigQuerySource_) isFeatureView_Source() {} 396 397 func (*FeatureView_FeatureRegistrySource_) isFeatureView_Source() {} 398 399 func (*FeatureView_VertexRagSource_) isFeatureView_Source() {} 400 401 type FeatureView_BigQuerySource struct { 402 state protoimpl.MessageState 403 sizeCache protoimpl.SizeCache 404 unknownFields protoimpl.UnknownFields 405 406 // Required. The BigQuery view URI that will be materialized on each sync 407 // trigger based on FeatureView.SyncConfig. 408 Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` 409 // Required. Columns to construct entity_id / row keys. 410 EntityIdColumns []string `protobuf:"bytes,2,rep,name=entity_id_columns,json=entityIdColumns,proto3" json:"entity_id_columns,omitempty"` 411 } 412 413 func (x *FeatureView_BigQuerySource) Reset() { 414 *x = FeatureView_BigQuerySource{} 415 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[1] 416 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 417 ms.StoreMessageInfo(mi) 418 } 419 420 func (x *FeatureView_BigQuerySource) String() string { 421 return protoimpl.X.MessageStringOf(x) 422 } 423 424 func (*FeatureView_BigQuerySource) ProtoMessage() {} 425 426 func (x *FeatureView_BigQuerySource) ProtoReflect() protoreflect.Message { 427 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[1] 428 if x != nil { 429 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 430 if ms.LoadMessageInfo() == nil { 431 ms.StoreMessageInfo(mi) 432 } 433 return ms 434 } 435 return mi.MessageOf(x) 436 } 437 438 // Deprecated: Use FeatureView_BigQuerySource.ProtoReflect.Descriptor instead. 439 func (*FeatureView_BigQuerySource) Descriptor() ([]byte, []int) { 440 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 0} 441 } 442 443 func (x *FeatureView_BigQuerySource) GetUri() string { 444 if x != nil { 445 return x.Uri 446 } 447 return "" 448 } 449 450 func (x *FeatureView_BigQuerySource) GetEntityIdColumns() []string { 451 if x != nil { 452 return x.EntityIdColumns 453 } 454 return nil 455 } 456 457 // Configuration for Sync. Only one option is set. 458 type FeatureView_SyncConfig struct { 459 state protoimpl.MessageState 460 sizeCache protoimpl.SizeCache 461 unknownFields protoimpl.UnknownFields 462 463 // Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled 464 // runs. To explicitly set a timezone to the cron tab, apply a prefix in 465 // the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". 466 // The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone 467 // database. For example, "CRON_TZ=America/New_York 1 * * * *", or 468 // "TZ=America/New_York 1 * * * *". 469 Cron string `protobuf:"bytes,1,opt,name=cron,proto3" json:"cron,omitempty"` 470 // Optional. If true, syncs the FeatureView in a continuous manner to Online 471 // Store. 472 Continuous bool `protobuf:"varint,2,opt,name=continuous,proto3" json:"continuous,omitempty"` 473 } 474 475 func (x *FeatureView_SyncConfig) Reset() { 476 *x = FeatureView_SyncConfig{} 477 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[2] 478 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 479 ms.StoreMessageInfo(mi) 480 } 481 482 func (x *FeatureView_SyncConfig) String() string { 483 return protoimpl.X.MessageStringOf(x) 484 } 485 486 func (*FeatureView_SyncConfig) ProtoMessage() {} 487 488 func (x *FeatureView_SyncConfig) ProtoReflect() protoreflect.Message { 489 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[2] 490 if x != nil { 491 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 492 if ms.LoadMessageInfo() == nil { 493 ms.StoreMessageInfo(mi) 494 } 495 return ms 496 } 497 return mi.MessageOf(x) 498 } 499 500 // Deprecated: Use FeatureView_SyncConfig.ProtoReflect.Descriptor instead. 501 func (*FeatureView_SyncConfig) Descriptor() ([]byte, []int) { 502 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 1} 503 } 504 505 func (x *FeatureView_SyncConfig) GetCron() string { 506 if x != nil { 507 return x.Cron 508 } 509 return "" 510 } 511 512 func (x *FeatureView_SyncConfig) GetContinuous() bool { 513 if x != nil { 514 return x.Continuous 515 } 516 return false 517 } 518 519 // Configuration for vector indexing. 520 type FeatureView_IndexConfig struct { 521 state protoimpl.MessageState 522 sizeCache protoimpl.SizeCache 523 unknownFields protoimpl.UnknownFields 524 525 // The configuration with regard to the algorithms used for efficient 526 // search. 527 // 528 // Types that are assignable to AlgorithmConfig: 529 // 530 // *FeatureView_IndexConfig_TreeAhConfig 531 // *FeatureView_IndexConfig_BruteForceConfig_ 532 AlgorithmConfig isFeatureView_IndexConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"` 533 // Optional. Column of embedding. This column contains the source data to 534 // create index for vector search. embedding_column must be set when using 535 // vector search. 536 EmbeddingColumn string `protobuf:"bytes,1,opt,name=embedding_column,json=embeddingColumn,proto3" json:"embedding_column,omitempty"` 537 // Optional. Columns of features that're used to filter vector search 538 // results. 539 FilterColumns []string `protobuf:"bytes,2,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"` 540 // Optional. Column of crowding. This column contains crowding attribute 541 // which is a constraint on a neighbor list produced by 542 // [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1.FeatureOnlineStoreService.SearchNearestEntities] 543 // to diversify search results. If 544 // [NearestNeighborQuery.per_crowding_attribute_neighbor_count][google.cloud.aiplatform.v1.NearestNeighborQuery.per_crowding_attribute_neighbor_count] 545 // is set to K in 546 // [SearchNearestEntitiesRequest][google.cloud.aiplatform.v1.SearchNearestEntitiesRequest], 547 // it's guaranteed that no more than K entities of the same crowding 548 // attribute are returned in the response. 549 CrowdingColumn string `protobuf:"bytes,3,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"` 550 // Optional. The number of dimensions of the input embedding. 551 EmbeddingDimension *int32 `protobuf:"varint,4,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"` 552 // Optional. The distance measure used in nearest neighbor search. 553 DistanceMeasureType FeatureView_IndexConfig_DistanceMeasureType `protobuf:"varint,5,opt,name=distance_measure_type,json=distanceMeasureType,proto3,enum=google.cloud.aiplatform.v1.FeatureView_IndexConfig_DistanceMeasureType" json:"distance_measure_type,omitempty"` 554 } 555 556 func (x *FeatureView_IndexConfig) Reset() { 557 *x = FeatureView_IndexConfig{} 558 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[3] 559 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 560 ms.StoreMessageInfo(mi) 561 } 562 563 func (x *FeatureView_IndexConfig) String() string { 564 return protoimpl.X.MessageStringOf(x) 565 } 566 567 func (*FeatureView_IndexConfig) ProtoMessage() {} 568 569 func (x *FeatureView_IndexConfig) ProtoReflect() protoreflect.Message { 570 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[3] 571 if x != nil { 572 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 573 if ms.LoadMessageInfo() == nil { 574 ms.StoreMessageInfo(mi) 575 } 576 return ms 577 } 578 return mi.MessageOf(x) 579 } 580 581 // Deprecated: Use FeatureView_IndexConfig.ProtoReflect.Descriptor instead. 582 func (*FeatureView_IndexConfig) Descriptor() ([]byte, []int) { 583 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 2} 584 } 585 586 func (m *FeatureView_IndexConfig) GetAlgorithmConfig() isFeatureView_IndexConfig_AlgorithmConfig { 587 if m != nil { 588 return m.AlgorithmConfig 589 } 590 return nil 591 } 592 593 func (x *FeatureView_IndexConfig) GetTreeAhConfig() *FeatureView_IndexConfig_TreeAHConfig { 594 if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_TreeAhConfig); ok { 595 return x.TreeAhConfig 596 } 597 return nil 598 } 599 600 func (x *FeatureView_IndexConfig) GetBruteForceConfig() *FeatureView_IndexConfig_BruteForceConfig { 601 if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_BruteForceConfig_); ok { 602 return x.BruteForceConfig 603 } 604 return nil 605 } 606 607 func (x *FeatureView_IndexConfig) GetEmbeddingColumn() string { 608 if x != nil { 609 return x.EmbeddingColumn 610 } 611 return "" 612 } 613 614 func (x *FeatureView_IndexConfig) GetFilterColumns() []string { 615 if x != nil { 616 return x.FilterColumns 617 } 618 return nil 619 } 620 621 func (x *FeatureView_IndexConfig) GetCrowdingColumn() string { 622 if x != nil { 623 return x.CrowdingColumn 624 } 625 return "" 626 } 627 628 func (x *FeatureView_IndexConfig) GetEmbeddingDimension() int32 { 629 if x != nil && x.EmbeddingDimension != nil { 630 return *x.EmbeddingDimension 631 } 632 return 0 633 } 634 635 func (x *FeatureView_IndexConfig) GetDistanceMeasureType() FeatureView_IndexConfig_DistanceMeasureType { 636 if x != nil { 637 return x.DistanceMeasureType 638 } 639 return FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED 640 } 641 642 type isFeatureView_IndexConfig_AlgorithmConfig interface { 643 isFeatureView_IndexConfig_AlgorithmConfig() 644 } 645 646 type FeatureView_IndexConfig_TreeAhConfig struct { 647 // Optional. Configuration options for the tree-AH algorithm (Shallow tree 648 // + Asymmetric Hashing). Please refer to this paper for more details: 649 // https://arxiv.org/abs/1908.10396 650 TreeAhConfig *FeatureView_IndexConfig_TreeAHConfig `protobuf:"bytes,6,opt,name=tree_ah_config,json=treeAhConfig,proto3,oneof"` 651 } 652 653 type FeatureView_IndexConfig_BruteForceConfig_ struct { 654 // Optional. Configuration options for using brute force search, which 655 // simply implements the standard linear search in the database for each 656 // query. It is primarily meant for benchmarking and to generate the 657 // ground truth for approximate search. 658 BruteForceConfig *FeatureView_IndexConfig_BruteForceConfig `protobuf:"bytes,7,opt,name=brute_force_config,json=bruteForceConfig,proto3,oneof"` 659 } 660 661 func (*FeatureView_IndexConfig_TreeAhConfig) isFeatureView_IndexConfig_AlgorithmConfig() {} 662 663 func (*FeatureView_IndexConfig_BruteForceConfig_) isFeatureView_IndexConfig_AlgorithmConfig() {} 664 665 // A Feature Registry source for features that need to be synced to Online 666 // Store. 667 type FeatureView_FeatureRegistrySource struct { 668 state protoimpl.MessageState 669 sizeCache protoimpl.SizeCache 670 unknownFields protoimpl.UnknownFields 671 672 // Required. List of features that need to be synced to Online Store. 673 FeatureGroups []*FeatureView_FeatureRegistrySource_FeatureGroup `protobuf:"bytes,1,rep,name=feature_groups,json=featureGroups,proto3" json:"feature_groups,omitempty"` 674 // Optional. The project number of the parent project of the Feature Groups. 675 ProjectNumber *int64 `protobuf:"varint,2,opt,name=project_number,json=projectNumber,proto3,oneof" json:"project_number,omitempty"` 676 } 677 678 func (x *FeatureView_FeatureRegistrySource) Reset() { 679 *x = FeatureView_FeatureRegistrySource{} 680 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[4] 681 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 682 ms.StoreMessageInfo(mi) 683 } 684 685 func (x *FeatureView_FeatureRegistrySource) String() string { 686 return protoimpl.X.MessageStringOf(x) 687 } 688 689 func (*FeatureView_FeatureRegistrySource) ProtoMessage() {} 690 691 func (x *FeatureView_FeatureRegistrySource) ProtoReflect() protoreflect.Message { 692 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[4] 693 if x != nil { 694 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 695 if ms.LoadMessageInfo() == nil { 696 ms.StoreMessageInfo(mi) 697 } 698 return ms 699 } 700 return mi.MessageOf(x) 701 } 702 703 // Deprecated: Use FeatureView_FeatureRegistrySource.ProtoReflect.Descriptor instead. 704 func (*FeatureView_FeatureRegistrySource) Descriptor() ([]byte, []int) { 705 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 3} 706 } 707 708 func (x *FeatureView_FeatureRegistrySource) GetFeatureGroups() []*FeatureView_FeatureRegistrySource_FeatureGroup { 709 if x != nil { 710 return x.FeatureGroups 711 } 712 return nil 713 } 714 715 func (x *FeatureView_FeatureRegistrySource) GetProjectNumber() int64 { 716 if x != nil && x.ProjectNumber != nil { 717 return *x.ProjectNumber 718 } 719 return 0 720 } 721 722 // A Vertex Rag source for features that need to be synced to Online 723 // Store. 724 type FeatureView_VertexRagSource struct { 725 state protoimpl.MessageState 726 sizeCache protoimpl.SizeCache 727 unknownFields protoimpl.UnknownFields 728 729 // Required. The BigQuery view/table URI that will be materialized on each 730 // manual sync trigger. The table/view is expected to have the following 731 // columns and types at least: 732 // - `corpus_id` (STRING, NULLABLE/REQUIRED) 733 // - `file_id` (STRING, NULLABLE/REQUIRED) 734 // - `chunk_id` (STRING, NULLABLE/REQUIRED) 735 // - `chunk_data_type` (STRING, NULLABLE/REQUIRED) 736 // - `chunk_data` (STRING, NULLABLE/REQUIRED) 737 // - `embeddings` (FLOAT, REPEATED) 738 // - `file_original_uri` (STRING, NULLABLE/REQUIRED) 739 Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` 740 // Optional. The RAG corpus id corresponding to this FeatureView. 741 RagCorpusId int64 `protobuf:"varint,2,opt,name=rag_corpus_id,json=ragCorpusId,proto3" json:"rag_corpus_id,omitempty"` 742 } 743 744 func (x *FeatureView_VertexRagSource) Reset() { 745 *x = FeatureView_VertexRagSource{} 746 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[5] 747 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 748 ms.StoreMessageInfo(mi) 749 } 750 751 func (x *FeatureView_VertexRagSource) String() string { 752 return protoimpl.X.MessageStringOf(x) 753 } 754 755 func (*FeatureView_VertexRagSource) ProtoMessage() {} 756 757 func (x *FeatureView_VertexRagSource) ProtoReflect() protoreflect.Message { 758 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[5] 759 if x != nil { 760 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 761 if ms.LoadMessageInfo() == nil { 762 ms.StoreMessageInfo(mi) 763 } 764 return ms 765 } 766 return mi.MessageOf(x) 767 } 768 769 // Deprecated: Use FeatureView_VertexRagSource.ProtoReflect.Descriptor instead. 770 func (*FeatureView_VertexRagSource) Descriptor() ([]byte, []int) { 771 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 4} 772 } 773 774 func (x *FeatureView_VertexRagSource) GetUri() string { 775 if x != nil { 776 return x.Uri 777 } 778 return "" 779 } 780 781 func (x *FeatureView_VertexRagSource) GetRagCorpusId() int64 { 782 if x != nil { 783 return x.RagCorpusId 784 } 785 return 0 786 } 787 788 // Configuration for FeatureViews created in Optimized FeatureOnlineStore. 789 type FeatureView_OptimizedConfig struct { 790 state protoimpl.MessageState 791 sizeCache protoimpl.SizeCache 792 unknownFields protoimpl.UnknownFields 793 794 // Optional. A description of resources that the FeatureView uses, which to 795 // large degree are decided by Vertex AI, and optionally allows only a 796 // modest additional configuration. If min_replica_count is not set, the 797 // default value is 2. If max_replica_count is not set, the default value 798 // is 6. The max allowed replica count is 1000. 799 AutomaticResources *AutomaticResources `protobuf:"bytes,7,opt,name=automatic_resources,json=automaticResources,proto3" json:"automatic_resources,omitempty"` 800 } 801 802 func (x *FeatureView_OptimizedConfig) Reset() { 803 *x = FeatureView_OptimizedConfig{} 804 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[6] 805 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 806 ms.StoreMessageInfo(mi) 807 } 808 809 func (x *FeatureView_OptimizedConfig) String() string { 810 return protoimpl.X.MessageStringOf(x) 811 } 812 813 func (*FeatureView_OptimizedConfig) ProtoMessage() {} 814 815 func (x *FeatureView_OptimizedConfig) ProtoReflect() protoreflect.Message { 816 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[6] 817 if x != nil { 818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 819 if ms.LoadMessageInfo() == nil { 820 ms.StoreMessageInfo(mi) 821 } 822 return ms 823 } 824 return mi.MessageOf(x) 825 } 826 827 // Deprecated: Use FeatureView_OptimizedConfig.ProtoReflect.Descriptor instead. 828 func (*FeatureView_OptimizedConfig) Descriptor() ([]byte, []int) { 829 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 5} 830 } 831 832 func (x *FeatureView_OptimizedConfig) GetAutomaticResources() *AutomaticResources { 833 if x != nil { 834 return x.AutomaticResources 835 } 836 return nil 837 } 838 839 // Metadata for the Cloud Bigtable that supports directly interacting Bigtable 840 // instances. 841 type FeatureView_BigtableMetadata struct { 842 state protoimpl.MessageState 843 sizeCache protoimpl.SizeCache 844 unknownFields protoimpl.UnknownFields 845 846 // The Bigtable App Profile to use for reading from Bigtable. 847 ReadAppProfile string `protobuf:"bytes,1,opt,name=read_app_profile,json=readAppProfile,proto3" json:"read_app_profile,omitempty"` 848 } 849 850 func (x *FeatureView_BigtableMetadata) Reset() { 851 *x = FeatureView_BigtableMetadata{} 852 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[8] 853 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 854 ms.StoreMessageInfo(mi) 855 } 856 857 func (x *FeatureView_BigtableMetadata) String() string { 858 return protoimpl.X.MessageStringOf(x) 859 } 860 861 func (*FeatureView_BigtableMetadata) ProtoMessage() {} 862 863 func (x *FeatureView_BigtableMetadata) ProtoReflect() protoreflect.Message { 864 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[8] 865 if x != nil { 866 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 867 if ms.LoadMessageInfo() == nil { 868 ms.StoreMessageInfo(mi) 869 } 870 return ms 871 } 872 return mi.MessageOf(x) 873 } 874 875 // Deprecated: Use FeatureView_BigtableMetadata.ProtoReflect.Descriptor instead. 876 func (*FeatureView_BigtableMetadata) Descriptor() ([]byte, []int) { 877 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 7} 878 } 879 880 func (x *FeatureView_BigtableMetadata) GetReadAppProfile() string { 881 if x != nil { 882 return x.ReadAppProfile 883 } 884 return "" 885 } 886 887 // Configuration options for using brute force search. 888 type FeatureView_IndexConfig_BruteForceConfig struct { 889 state protoimpl.MessageState 890 sizeCache protoimpl.SizeCache 891 unknownFields protoimpl.UnknownFields 892 } 893 894 func (x *FeatureView_IndexConfig_BruteForceConfig) Reset() { 895 *x = FeatureView_IndexConfig_BruteForceConfig{} 896 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[9] 897 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 898 ms.StoreMessageInfo(mi) 899 } 900 901 func (x *FeatureView_IndexConfig_BruteForceConfig) String() string { 902 return protoimpl.X.MessageStringOf(x) 903 } 904 905 func (*FeatureView_IndexConfig_BruteForceConfig) ProtoMessage() {} 906 907 func (x *FeatureView_IndexConfig_BruteForceConfig) ProtoReflect() protoreflect.Message { 908 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[9] 909 if x != nil { 910 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 911 if ms.LoadMessageInfo() == nil { 912 ms.StoreMessageInfo(mi) 913 } 914 return ms 915 } 916 return mi.MessageOf(x) 917 } 918 919 // Deprecated: Use FeatureView_IndexConfig_BruteForceConfig.ProtoReflect.Descriptor instead. 920 func (*FeatureView_IndexConfig_BruteForceConfig) Descriptor() ([]byte, []int) { 921 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0} 922 } 923 924 // Configuration options for the tree-AH algorithm. 925 type FeatureView_IndexConfig_TreeAHConfig struct { 926 state protoimpl.MessageState 927 sizeCache protoimpl.SizeCache 928 unknownFields protoimpl.UnknownFields 929 930 // Optional. Number of embeddings on each leaf node. The default value is 931 // 1000 if not set. 932 LeafNodeEmbeddingCount *int64 `protobuf:"varint,1,opt,name=leaf_node_embedding_count,json=leafNodeEmbeddingCount,proto3,oneof" json:"leaf_node_embedding_count,omitempty"` 933 } 934 935 func (x *FeatureView_IndexConfig_TreeAHConfig) Reset() { 936 *x = FeatureView_IndexConfig_TreeAHConfig{} 937 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[10] 938 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 939 ms.StoreMessageInfo(mi) 940 } 941 942 func (x *FeatureView_IndexConfig_TreeAHConfig) String() string { 943 return protoimpl.X.MessageStringOf(x) 944 } 945 946 func (*FeatureView_IndexConfig_TreeAHConfig) ProtoMessage() {} 947 948 func (x *FeatureView_IndexConfig_TreeAHConfig) ProtoReflect() protoreflect.Message { 949 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[10] 950 if x != nil { 951 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 952 if ms.LoadMessageInfo() == nil { 953 ms.StoreMessageInfo(mi) 954 } 955 return ms 956 } 957 return mi.MessageOf(x) 958 } 959 960 // Deprecated: Use FeatureView_IndexConfig_TreeAHConfig.ProtoReflect.Descriptor instead. 961 func (*FeatureView_IndexConfig_TreeAHConfig) Descriptor() ([]byte, []int) { 962 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 2, 1} 963 } 964 965 func (x *FeatureView_IndexConfig_TreeAHConfig) GetLeafNodeEmbeddingCount() int64 { 966 if x != nil && x.LeafNodeEmbeddingCount != nil { 967 return *x.LeafNodeEmbeddingCount 968 } 969 return 0 970 } 971 972 // Features belonging to a single feature group that will be 973 // synced to Online Store. 974 type FeatureView_FeatureRegistrySource_FeatureGroup struct { 975 state protoimpl.MessageState 976 sizeCache protoimpl.SizeCache 977 unknownFields protoimpl.UnknownFields 978 979 // Required. Identifier of the feature group. 980 FeatureGroupId string `protobuf:"bytes,1,opt,name=feature_group_id,json=featureGroupId,proto3" json:"feature_group_id,omitempty"` 981 // Required. Identifiers of features under the feature group. 982 FeatureIds []string `protobuf:"bytes,2,rep,name=feature_ids,json=featureIds,proto3" json:"feature_ids,omitempty"` 983 } 984 985 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) Reset() { 986 *x = FeatureView_FeatureRegistrySource_FeatureGroup{} 987 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[11] 988 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 989 ms.StoreMessageInfo(mi) 990 } 991 992 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) String() string { 993 return protoimpl.X.MessageStringOf(x) 994 } 995 996 func (*FeatureView_FeatureRegistrySource_FeatureGroup) ProtoMessage() {} 997 998 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) ProtoReflect() protoreflect.Message { 999 mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[11] 1000 if x != nil { 1001 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1002 if ms.LoadMessageInfo() == nil { 1003 ms.StoreMessageInfo(mi) 1004 } 1005 return ms 1006 } 1007 return mi.MessageOf(x) 1008 } 1009 1010 // Deprecated: Use FeatureView_FeatureRegistrySource_FeatureGroup.ProtoReflect.Descriptor instead. 1011 func (*FeatureView_FeatureRegistrySource_FeatureGroup) Descriptor() ([]byte, []int) { 1012 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0} 1013 } 1014 1015 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureGroupId() string { 1016 if x != nil { 1017 return x.FeatureGroupId 1018 } 1019 return "" 1020 } 1021 1022 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureIds() []string { 1023 if x != nil { 1024 return x.FeatureIds 1025 } 1026 return nil 1027 } 1028 1029 var File_google_cloud_aiplatform_v1_feature_view_proto protoreflect.FileDescriptor 1030 1031 var file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc = []byte{ 1032 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 1033 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x65, 0x61, 1034 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 1035 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1036 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 1037 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 1038 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 1039 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 1040 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1041 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1042 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 1043 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 1044 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 1045 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x19, 0x0a, 1046 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x67, 0x0a, 0x10, 1047 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1048 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1049 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1050 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 1051 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 1052 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 1053 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x17, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1054 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1055 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1056 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1057 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 1058 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 1059 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x15, 0x66, 0x65, 1060 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 1061 0x72, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 1062 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 1063 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1064 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 1065 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 1066 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 1067 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 1068 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 1069 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 1070 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 1071 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1072 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 1073 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 1074 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 1075 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1076 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 1077 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 1078 0x65, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 1079 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x50, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 1080 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1081 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1082 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x4c, 1083 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 1084 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x5f, 1085 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 1086 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1087 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 1088 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1089 0x52, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0c, 1090 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0f, 0x20, 0x01, 1091 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1092 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 1093 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 1094 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x69, 0x6e, 1095 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x10, 0x6f, 0x70, 0x74, 1096 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 1097 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1098 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1099 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x4f, 0x70, 0x74, 1100 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 1101 0x01, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 1102 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x67, 1103 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 1104 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1105 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 1106 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 1107 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73, 1108 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 1109 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 1110 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 1111 0xe0, 0x41, 0x03, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 1112 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 1113 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x42, 1114 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 1115 0x7a, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 1116 0x70, 0x7a, 0x69, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 1117 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x69, 0x12, 0x6a, 0x0a, 0x11, 1118 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 1119 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1120 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1121 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 1122 0x2e, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 1123 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 1124 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x58, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, 1125 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 1126 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 1127 0x69, 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x63, 1128 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1129 0x02, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 1130 0x6e, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1131 0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 1132 0x63, 0x72, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 1133 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 1134 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x1a, 0xf9, 0x06, 0x0a, 0x0b, 0x49, 0x6e, 1135 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6d, 0x0a, 0x0e, 0x74, 0x72, 0x65, 1136 0x65, 0x5f, 0x61, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 1137 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1138 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 1139 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 1140 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 1141 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x72, 0x65, 0x65, 1142 0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x12, 0x62, 0x72, 0x75, 0x74, 1143 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 1144 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1145 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1146 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 1147 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x72, 0x75, 0x74, 0x65, 0x46, 1148 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 1149 0x00, 0x52, 0x10, 0x62, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 1150 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x10, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 1151 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 1152 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 1153 0x75, 0x6d, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 1154 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 1155 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 1156 0x2c, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 1157 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x63, 1158 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x39, 0x0a, 1159 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 1160 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 1161 0x01, 0x52, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 1162 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x15, 0x64, 0x69, 0x73, 1163 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 1164 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1165 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1166 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 1167 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 1168 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 1169 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 1170 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, 0x42, 1171 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 1172 0x71, 0x0a, 0x0c, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 1173 0x43, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 1174 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 1175 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, 0x4e, 1176 0x6f, 0x64, 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 1177 0x74, 0x88, 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 1178 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 1179 0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 1180 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, 1181 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54, 1182 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 1183 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, 0x5f, 1184 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 1185 0x53, 0x49, 0x4e, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 1186 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44, 1187 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x61, 0x6c, 0x67, 1188 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 1189 0x14, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 1190 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xb8, 0x02, 0x0a, 0x15, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 1191 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 1192 0x76, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 1193 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1194 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1195 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 1196 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 1197 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 1198 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 1199 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 1200 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 1201 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 1202 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x1a, 0x63, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 1203 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2d, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 1204 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 1205 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1206 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 1207 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1208 0x02, 0x52, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x42, 0x11, 0x0a, 1209 0x0f, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 1210 0x1a, 0x51, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x6f, 0x75, 1211 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1212 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x61, 1213 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 1214 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 1215 0x73, 0x49, 0x64, 0x1a, 0x77, 0x0a, 0x0f, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 1216 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 1217 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 1218 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1219 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1220 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 1221 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 1222 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 1223 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 1224 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 1225 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 1226 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x10, 0x42, 0x69, 0x67, 0x74, 0x61, 1227 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x72, 1228 0x65, 0x61, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 1229 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 1230 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x7b, 0x0a, 0x10, 0x53, 0x65, 1231 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 1232 0x0a, 0x1e, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 1233 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 1234 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 1235 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 1236 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 1237 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 1238 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x3a, 0x9b, 0x01, 0xea, 0x41, 0x97, 0x01, 0x0a, 0x25, 1239 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1240 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 1241 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 1242 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 1243 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 1244 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 1245 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 1246 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 1247 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 1248 0x76, 0x69, 0x65, 0x77, 0x7d, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 1249 0xce, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1250 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1251 0x76, 0x31, 0x42, 0x10, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x50, 1252 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 1253 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 1254 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 1255 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1256 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1257 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1258 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 1259 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 1260 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 1261 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 1262 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1263 } 1264 1265 var ( 1266 file_google_cloud_aiplatform_v1_feature_view_proto_rawDescOnce sync.Once 1267 file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData = file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc 1268 ) 1269 1270 func file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP() []byte { 1271 file_google_cloud_aiplatform_v1_feature_view_proto_rawDescOnce.Do(func() { 1272 file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData) 1273 }) 1274 return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData 1275 } 1276 1277 var file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1278 var file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes = make([]protoimpl.MessageInfo, 12) 1279 var file_google_cloud_aiplatform_v1_feature_view_proto_goTypes = []any{ 1280 (FeatureView_ServiceAgentType)(0), // 0: google.cloud.aiplatform.v1.FeatureView.ServiceAgentType 1281 (FeatureView_IndexConfig_DistanceMeasureType)(0), // 1: google.cloud.aiplatform.v1.FeatureView.IndexConfig.DistanceMeasureType 1282 (*FeatureView)(nil), // 2: google.cloud.aiplatform.v1.FeatureView 1283 (*FeatureView_BigQuerySource)(nil), // 3: google.cloud.aiplatform.v1.FeatureView.BigQuerySource 1284 (*FeatureView_SyncConfig)(nil), // 4: google.cloud.aiplatform.v1.FeatureView.SyncConfig 1285 (*FeatureView_IndexConfig)(nil), // 5: google.cloud.aiplatform.v1.FeatureView.IndexConfig 1286 (*FeatureView_FeatureRegistrySource)(nil), // 6: google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource 1287 (*FeatureView_VertexRagSource)(nil), // 7: google.cloud.aiplatform.v1.FeatureView.VertexRagSource 1288 (*FeatureView_OptimizedConfig)(nil), // 8: google.cloud.aiplatform.v1.FeatureView.OptimizedConfig 1289 nil, // 9: google.cloud.aiplatform.v1.FeatureView.LabelsEntry 1290 (*FeatureView_BigtableMetadata)(nil), // 10: google.cloud.aiplatform.v1.FeatureView.BigtableMetadata 1291 (*FeatureView_IndexConfig_BruteForceConfig)(nil), // 11: google.cloud.aiplatform.v1.FeatureView.IndexConfig.BruteForceConfig 1292 (*FeatureView_IndexConfig_TreeAHConfig)(nil), // 12: google.cloud.aiplatform.v1.FeatureView.IndexConfig.TreeAHConfig 1293 (*FeatureView_FeatureRegistrySource_FeatureGroup)(nil), // 13: google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.FeatureGroup 1294 (*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp 1295 (*AutomaticResources)(nil), // 15: google.cloud.aiplatform.v1.AutomaticResources 1296 } 1297 var file_google_cloud_aiplatform_v1_feature_view_proto_depIdxs = []int32{ 1298 3, // 0: google.cloud.aiplatform.v1.FeatureView.big_query_source:type_name -> google.cloud.aiplatform.v1.FeatureView.BigQuerySource 1299 6, // 1: google.cloud.aiplatform.v1.FeatureView.feature_registry_source:type_name -> google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource 1300 7, // 2: google.cloud.aiplatform.v1.FeatureView.vertex_rag_source:type_name -> google.cloud.aiplatform.v1.FeatureView.VertexRagSource 1301 14, // 3: google.cloud.aiplatform.v1.FeatureView.create_time:type_name -> google.protobuf.Timestamp 1302 14, // 4: google.cloud.aiplatform.v1.FeatureView.update_time:type_name -> google.protobuf.Timestamp 1303 9, // 5: google.cloud.aiplatform.v1.FeatureView.labels:type_name -> google.cloud.aiplatform.v1.FeatureView.LabelsEntry 1304 4, // 6: google.cloud.aiplatform.v1.FeatureView.sync_config:type_name -> google.cloud.aiplatform.v1.FeatureView.SyncConfig 1305 5, // 7: google.cloud.aiplatform.v1.FeatureView.index_config:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig 1306 8, // 8: google.cloud.aiplatform.v1.FeatureView.optimized_config:type_name -> google.cloud.aiplatform.v1.FeatureView.OptimizedConfig 1307 0, // 9: google.cloud.aiplatform.v1.FeatureView.service_agent_type:type_name -> google.cloud.aiplatform.v1.FeatureView.ServiceAgentType 1308 10, // 10: google.cloud.aiplatform.v1.FeatureView.bigtable_metadata:type_name -> google.cloud.aiplatform.v1.FeatureView.BigtableMetadata 1309 12, // 11: google.cloud.aiplatform.v1.FeatureView.IndexConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig.TreeAHConfig 1310 11, // 12: google.cloud.aiplatform.v1.FeatureView.IndexConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig.BruteForceConfig 1311 1, // 13: google.cloud.aiplatform.v1.FeatureView.IndexConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig.DistanceMeasureType 1312 13, // 14: google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.feature_groups:type_name -> google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.FeatureGroup 1313 15, // 15: google.cloud.aiplatform.v1.FeatureView.OptimizedConfig.automatic_resources:type_name -> google.cloud.aiplatform.v1.AutomaticResources 1314 16, // [16:16] is the sub-list for method output_type 1315 16, // [16:16] is the sub-list for method input_type 1316 16, // [16:16] is the sub-list for extension type_name 1317 16, // [16:16] is the sub-list for extension extendee 1318 0, // [0:16] is the sub-list for field type_name 1319 } 1320 1321 func init() { file_google_cloud_aiplatform_v1_feature_view_proto_init() } 1322 func file_google_cloud_aiplatform_v1_feature_view_proto_init() { 1323 if File_google_cloud_aiplatform_v1_feature_view_proto != nil { 1324 return 1325 } 1326 file_google_cloud_aiplatform_v1_machine_resources_proto_init() 1327 file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[0].OneofWrappers = []any{ 1328 (*FeatureView_BigQuerySource_)(nil), 1329 (*FeatureView_FeatureRegistrySource_)(nil), 1330 (*FeatureView_VertexRagSource_)(nil), 1331 } 1332 file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[3].OneofWrappers = []any{ 1333 (*FeatureView_IndexConfig_TreeAhConfig)(nil), 1334 (*FeatureView_IndexConfig_BruteForceConfig_)(nil), 1335 } 1336 file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[4].OneofWrappers = []any{} 1337 file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[10].OneofWrappers = []any{} 1338 type x struct{} 1339 out := protoimpl.TypeBuilder{ 1340 File: protoimpl.DescBuilder{ 1341 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1342 RawDescriptor: file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc, 1343 NumEnums: 2, 1344 NumMessages: 12, 1345 NumExtensions: 0, 1346 NumServices: 0, 1347 }, 1348 GoTypes: file_google_cloud_aiplatform_v1_feature_view_proto_goTypes, 1349 DependencyIndexes: file_google_cloud_aiplatform_v1_feature_view_proto_depIdxs, 1350 EnumInfos: file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes, 1351 MessageInfos: file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes, 1352 }.Build() 1353 File_google_cloud_aiplatform_v1_feature_view_proto = out.File 1354 file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc = nil 1355 file_google_cloud_aiplatform_v1_feature_view_proto_goTypes = nil 1356 file_google_cloud_aiplatform_v1_feature_view_proto_depIdxs = nil 1357 }