cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/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/v1beta1/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_v1beta1_feature_view_proto_enumTypes[0].Descriptor() 81 } 82 83 func (FeatureView_ServiceAgentType) Type() protoreflect.EnumType { 84 return &file_google_cloud_aiplatform_v1beta1_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_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 0} 94 } 95 96 type FeatureView_VectorSearchConfig_DistanceMeasureType int32 97 98 const ( 99 // Should not be set. 100 FeatureView_VectorSearchConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED FeatureView_VectorSearchConfig_DistanceMeasureType = 0 101 // Euclidean (L_2) Distance. 102 FeatureView_VectorSearchConfig_SQUARED_L2_DISTANCE FeatureView_VectorSearchConfig_DistanceMeasureType = 1 103 // Cosine Distance. Defined as 1 - cosine similarity. 104 // 105 // We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead 106 // of COSINE distance. Our algorithms have been more optimized for 107 // DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is 108 // mathematically equivalent to COSINE distance and results in the same 109 // ranking. 110 FeatureView_VectorSearchConfig_COSINE_DISTANCE FeatureView_VectorSearchConfig_DistanceMeasureType = 2 111 // Dot Product Distance. Defined as a negative of the dot product. 112 FeatureView_VectorSearchConfig_DOT_PRODUCT_DISTANCE FeatureView_VectorSearchConfig_DistanceMeasureType = 3 113 ) 114 115 // Enum value maps for FeatureView_VectorSearchConfig_DistanceMeasureType. 116 var ( 117 FeatureView_VectorSearchConfig_DistanceMeasureType_name = map[int32]string{ 118 0: "DISTANCE_MEASURE_TYPE_UNSPECIFIED", 119 1: "SQUARED_L2_DISTANCE", 120 2: "COSINE_DISTANCE", 121 3: "DOT_PRODUCT_DISTANCE", 122 } 123 FeatureView_VectorSearchConfig_DistanceMeasureType_value = map[string]int32{ 124 "DISTANCE_MEASURE_TYPE_UNSPECIFIED": 0, 125 "SQUARED_L2_DISTANCE": 1, 126 "COSINE_DISTANCE": 2, 127 "DOT_PRODUCT_DISTANCE": 3, 128 } 129 ) 130 131 func (x FeatureView_VectorSearchConfig_DistanceMeasureType) Enum() *FeatureView_VectorSearchConfig_DistanceMeasureType { 132 p := new(FeatureView_VectorSearchConfig_DistanceMeasureType) 133 *p = x 134 return p 135 } 136 137 func (x FeatureView_VectorSearchConfig_DistanceMeasureType) String() string { 138 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 139 } 140 141 func (FeatureView_VectorSearchConfig_DistanceMeasureType) Descriptor() protoreflect.EnumDescriptor { 142 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[1].Descriptor() 143 } 144 145 func (FeatureView_VectorSearchConfig_DistanceMeasureType) Type() protoreflect.EnumType { 146 return &file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[1] 147 } 148 149 func (x FeatureView_VectorSearchConfig_DistanceMeasureType) Number() protoreflect.EnumNumber { 150 return protoreflect.EnumNumber(x) 151 } 152 153 // Deprecated: Use FeatureView_VectorSearchConfig_DistanceMeasureType.Descriptor instead. 154 func (FeatureView_VectorSearchConfig_DistanceMeasureType) EnumDescriptor() ([]byte, []int) { 155 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0} 156 } 157 158 // The distance measure used in nearest neighbor search. 159 type FeatureView_IndexConfig_DistanceMeasureType int32 160 161 const ( 162 // Should not be set. 163 FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED FeatureView_IndexConfig_DistanceMeasureType = 0 164 // Euclidean (L_2) Distance. 165 FeatureView_IndexConfig_SQUARED_L2_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 1 166 // Cosine Distance. Defined as 1 - cosine similarity. 167 // 168 // We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead 169 // of COSINE distance. Our algorithms have been more optimized for 170 // DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is 171 // mathematically equivalent to COSINE distance and results in the same 172 // ranking. 173 FeatureView_IndexConfig_COSINE_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 2 174 // Dot Product Distance. Defined as a negative of the dot product. 175 FeatureView_IndexConfig_DOT_PRODUCT_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 3 176 ) 177 178 // Enum value maps for FeatureView_IndexConfig_DistanceMeasureType. 179 var ( 180 FeatureView_IndexConfig_DistanceMeasureType_name = map[int32]string{ 181 0: "DISTANCE_MEASURE_TYPE_UNSPECIFIED", 182 1: "SQUARED_L2_DISTANCE", 183 2: "COSINE_DISTANCE", 184 3: "DOT_PRODUCT_DISTANCE", 185 } 186 FeatureView_IndexConfig_DistanceMeasureType_value = map[string]int32{ 187 "DISTANCE_MEASURE_TYPE_UNSPECIFIED": 0, 188 "SQUARED_L2_DISTANCE": 1, 189 "COSINE_DISTANCE": 2, 190 "DOT_PRODUCT_DISTANCE": 3, 191 } 192 ) 193 194 func (x FeatureView_IndexConfig_DistanceMeasureType) Enum() *FeatureView_IndexConfig_DistanceMeasureType { 195 p := new(FeatureView_IndexConfig_DistanceMeasureType) 196 *p = x 197 return p 198 } 199 200 func (x FeatureView_IndexConfig_DistanceMeasureType) String() string { 201 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 202 } 203 204 func (FeatureView_IndexConfig_DistanceMeasureType) Descriptor() protoreflect.EnumDescriptor { 205 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[2].Descriptor() 206 } 207 208 func (FeatureView_IndexConfig_DistanceMeasureType) Type() protoreflect.EnumType { 209 return &file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[2] 210 } 211 212 func (x FeatureView_IndexConfig_DistanceMeasureType) Number() protoreflect.EnumNumber { 213 return protoreflect.EnumNumber(x) 214 } 215 216 // Deprecated: Use FeatureView_IndexConfig_DistanceMeasureType.Descriptor instead. 217 func (FeatureView_IndexConfig_DistanceMeasureType) EnumDescriptor() ([]byte, []int) { 218 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0} 219 } 220 221 // FeatureView is representation of values that the FeatureOnlineStore will 222 // serve based on its syncConfig. 223 type FeatureView struct { 224 state protoimpl.MessageState 225 sizeCache protoimpl.SizeCache 226 unknownFields protoimpl.UnknownFields 227 228 // Types that are assignable to Source: 229 // 230 // *FeatureView_BigQuerySource_ 231 // *FeatureView_FeatureRegistrySource_ 232 // *FeatureView_VertexRagSource_ 233 Source isFeatureView_Source `protobuf_oneof:"source"` 234 // Identifier. Name of the FeatureView. Format: 235 // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` 236 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 237 // Output only. Timestamp when this FeatureView was created. 238 CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 239 // Output only. Timestamp when this FeatureView was last updated. 240 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 241 // Optional. Used to perform consistent read-modify-write updates. If not set, 242 // a blind "overwrite" update happens. 243 Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` 244 // Optional. The labels with user-defined metadata to organize your 245 // FeatureViews. 246 // 247 // Label keys and values can be no longer than 64 characters 248 // (Unicode codepoints), can only contain lowercase letters, numeric 249 // characters, underscores and dashes. International characters are allowed. 250 // 251 // See https://goo.gl/xmQnxf for more information on and examples of labels. 252 // No more than 64 user labels can be associated with one 253 // FeatureOnlineStore(System labels are excluded)." System reserved label keys 254 // are prefixed with "aiplatform.googleapis.com/" and are immutable. 255 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"` 256 // Configures when data is to be synced/updated for this FeatureView. At the 257 // end of the sync the latest featureValues for each entityId of this 258 // FeatureView are made ready for online serving. 259 SyncConfig *FeatureView_SyncConfig `protobuf:"bytes,7,opt,name=sync_config,json=syncConfig,proto3" json:"sync_config,omitempty"` 260 // Optional. Deprecated: please use 261 // [FeatureView.index_config][google.cloud.aiplatform.v1beta1.FeatureView.index_config] 262 // instead. 263 // 264 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_view.proto. 265 VectorSearchConfig *FeatureView_VectorSearchConfig `protobuf:"bytes,8,opt,name=vector_search_config,json=vectorSearchConfig,proto3" json:"vector_search_config,omitempty"` 266 // Optional. Configuration for index preparation for vector search. It 267 // contains the required configurations to create an index from source data, 268 // so that approximate nearest neighbor (a.k.a ANN) algorithms search can be 269 // performed during online serving. 270 IndexConfig *FeatureView_IndexConfig `protobuf:"bytes,15,opt,name=index_config,json=indexConfig,proto3" json:"index_config,omitempty"` 271 // Optional. Configuration for FeatureView created under Optimized 272 // FeatureOnlineStore. 273 OptimizedConfig *FeatureView_OptimizedConfig `protobuf:"bytes,16,opt,name=optimized_config,json=optimizedConfig,proto3" json:"optimized_config,omitempty"` 274 // Optional. Service agent type used during data sync. By default, the Vertex 275 // AI Service Agent is used. When using an IAM Policy to isolate this 276 // FeatureView within a project, a separate service account should be 277 // provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`. 278 // This will generate a separate service account to access the BigQuery source 279 // table. 280 ServiceAgentType FeatureView_ServiceAgentType `protobuf:"varint,14,opt,name=service_agent_type,json=serviceAgentType,proto3,enum=google.cloud.aiplatform.v1beta1.FeatureView_ServiceAgentType" json:"service_agent_type,omitempty"` 281 // Output only. A Service Account unique to this FeatureView. The role 282 // bigquery.dataViewer should be granted to this service account to allow 283 // Vertex AI Feature Store to sync data to the online store. 284 ServiceAccountEmail string `protobuf:"bytes,13,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` 285 // Output only. Reserved for future use. 286 SatisfiesPzs bool `protobuf:"varint,19,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"` 287 // Output only. Reserved for future use. 288 SatisfiesPzi bool `protobuf:"varint,20,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"` 289 // Metadata containing information about the Cloud Bigtable. 290 BigtableMetadata *FeatureView_BigtableMetadata `protobuf:"bytes,21,opt,name=bigtable_metadata,json=bigtableMetadata,proto3" json:"bigtable_metadata,omitempty"` 291 } 292 293 func (x *FeatureView) Reset() { 294 *x = FeatureView{} 295 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0] 296 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 297 ms.StoreMessageInfo(mi) 298 } 299 300 func (x *FeatureView) String() string { 301 return protoimpl.X.MessageStringOf(x) 302 } 303 304 func (*FeatureView) ProtoMessage() {} 305 306 func (x *FeatureView) ProtoReflect() protoreflect.Message { 307 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0] 308 if x != nil { 309 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 310 if ms.LoadMessageInfo() == nil { 311 ms.StoreMessageInfo(mi) 312 } 313 return ms 314 } 315 return mi.MessageOf(x) 316 } 317 318 // Deprecated: Use FeatureView.ProtoReflect.Descriptor instead. 319 func (*FeatureView) Descriptor() ([]byte, []int) { 320 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0} 321 } 322 323 func (m *FeatureView) GetSource() isFeatureView_Source { 324 if m != nil { 325 return m.Source 326 } 327 return nil 328 } 329 330 func (x *FeatureView) GetBigQuerySource() *FeatureView_BigQuerySource { 331 if x, ok := x.GetSource().(*FeatureView_BigQuerySource_); ok { 332 return x.BigQuerySource 333 } 334 return nil 335 } 336 337 func (x *FeatureView) GetFeatureRegistrySource() *FeatureView_FeatureRegistrySource { 338 if x, ok := x.GetSource().(*FeatureView_FeatureRegistrySource_); ok { 339 return x.FeatureRegistrySource 340 } 341 return nil 342 } 343 344 func (x *FeatureView) GetVertexRagSource() *FeatureView_VertexRagSource { 345 if x, ok := x.GetSource().(*FeatureView_VertexRagSource_); ok { 346 return x.VertexRagSource 347 } 348 return nil 349 } 350 351 func (x *FeatureView) GetName() string { 352 if x != nil { 353 return x.Name 354 } 355 return "" 356 } 357 358 func (x *FeatureView) GetCreateTime() *timestamppb.Timestamp { 359 if x != nil { 360 return x.CreateTime 361 } 362 return nil 363 } 364 365 func (x *FeatureView) GetUpdateTime() *timestamppb.Timestamp { 366 if x != nil { 367 return x.UpdateTime 368 } 369 return nil 370 } 371 372 func (x *FeatureView) GetEtag() string { 373 if x != nil { 374 return x.Etag 375 } 376 return "" 377 } 378 379 func (x *FeatureView) GetLabels() map[string]string { 380 if x != nil { 381 return x.Labels 382 } 383 return nil 384 } 385 386 func (x *FeatureView) GetSyncConfig() *FeatureView_SyncConfig { 387 if x != nil { 388 return x.SyncConfig 389 } 390 return nil 391 } 392 393 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_view.proto. 394 func (x *FeatureView) GetVectorSearchConfig() *FeatureView_VectorSearchConfig { 395 if x != nil { 396 return x.VectorSearchConfig 397 } 398 return nil 399 } 400 401 func (x *FeatureView) GetIndexConfig() *FeatureView_IndexConfig { 402 if x != nil { 403 return x.IndexConfig 404 } 405 return nil 406 } 407 408 func (x *FeatureView) GetOptimizedConfig() *FeatureView_OptimizedConfig { 409 if x != nil { 410 return x.OptimizedConfig 411 } 412 return nil 413 } 414 415 func (x *FeatureView) GetServiceAgentType() FeatureView_ServiceAgentType { 416 if x != nil { 417 return x.ServiceAgentType 418 } 419 return FeatureView_SERVICE_AGENT_TYPE_UNSPECIFIED 420 } 421 422 func (x *FeatureView) GetServiceAccountEmail() string { 423 if x != nil { 424 return x.ServiceAccountEmail 425 } 426 return "" 427 } 428 429 func (x *FeatureView) GetSatisfiesPzs() bool { 430 if x != nil { 431 return x.SatisfiesPzs 432 } 433 return false 434 } 435 436 func (x *FeatureView) GetSatisfiesPzi() bool { 437 if x != nil { 438 return x.SatisfiesPzi 439 } 440 return false 441 } 442 443 func (x *FeatureView) GetBigtableMetadata() *FeatureView_BigtableMetadata { 444 if x != nil { 445 return x.BigtableMetadata 446 } 447 return nil 448 } 449 450 type isFeatureView_Source interface { 451 isFeatureView_Source() 452 } 453 454 type FeatureView_BigQuerySource_ struct { 455 // Optional. Configures how data is supposed to be extracted from a BigQuery 456 // source to be loaded onto the FeatureOnlineStore. 457 BigQuerySource *FeatureView_BigQuerySource `protobuf:"bytes,6,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` 458 } 459 460 type FeatureView_FeatureRegistrySource_ struct { 461 // Optional. Configures the features from a Feature Registry source that 462 // need to be loaded onto the FeatureOnlineStore. 463 FeatureRegistrySource *FeatureView_FeatureRegistrySource `protobuf:"bytes,9,opt,name=feature_registry_source,json=featureRegistrySource,proto3,oneof"` 464 } 465 466 type FeatureView_VertexRagSource_ struct { 467 // Optional. The Vertex RAG Source that the FeatureView is linked to. 468 VertexRagSource *FeatureView_VertexRagSource `protobuf:"bytes,18,opt,name=vertex_rag_source,json=vertexRagSource,proto3,oneof"` 469 } 470 471 func (*FeatureView_BigQuerySource_) isFeatureView_Source() {} 472 473 func (*FeatureView_FeatureRegistrySource_) isFeatureView_Source() {} 474 475 func (*FeatureView_VertexRagSource_) isFeatureView_Source() {} 476 477 type FeatureView_BigQuerySource struct { 478 state protoimpl.MessageState 479 sizeCache protoimpl.SizeCache 480 unknownFields protoimpl.UnknownFields 481 482 // Required. The BigQuery view URI that will be materialized on each sync 483 // trigger based on FeatureView.SyncConfig. 484 Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` 485 // Required. Columns to construct entity_id / row keys. 486 EntityIdColumns []string `protobuf:"bytes,2,rep,name=entity_id_columns,json=entityIdColumns,proto3" json:"entity_id_columns,omitempty"` 487 } 488 489 func (x *FeatureView_BigQuerySource) Reset() { 490 *x = FeatureView_BigQuerySource{} 491 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[1] 492 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 493 ms.StoreMessageInfo(mi) 494 } 495 496 func (x *FeatureView_BigQuerySource) String() string { 497 return protoimpl.X.MessageStringOf(x) 498 } 499 500 func (*FeatureView_BigQuerySource) ProtoMessage() {} 501 502 func (x *FeatureView_BigQuerySource) ProtoReflect() protoreflect.Message { 503 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[1] 504 if x != nil { 505 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 506 if ms.LoadMessageInfo() == nil { 507 ms.StoreMessageInfo(mi) 508 } 509 return ms 510 } 511 return mi.MessageOf(x) 512 } 513 514 // Deprecated: Use FeatureView_BigQuerySource.ProtoReflect.Descriptor instead. 515 func (*FeatureView_BigQuerySource) Descriptor() ([]byte, []int) { 516 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 0} 517 } 518 519 func (x *FeatureView_BigQuerySource) GetUri() string { 520 if x != nil { 521 return x.Uri 522 } 523 return "" 524 } 525 526 func (x *FeatureView_BigQuerySource) GetEntityIdColumns() []string { 527 if x != nil { 528 return x.EntityIdColumns 529 } 530 return nil 531 } 532 533 // Configuration for Sync. Only one option is set. 534 type FeatureView_SyncConfig struct { 535 state protoimpl.MessageState 536 sizeCache protoimpl.SizeCache 537 unknownFields protoimpl.UnknownFields 538 539 // Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled 540 // runs. To explicitly set a timezone to the cron tab, apply a prefix in 541 // the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". 542 // The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone 543 // database. For example, "CRON_TZ=America/New_York 1 * * * *", or 544 // "TZ=America/New_York 1 * * * *". 545 Cron string `protobuf:"bytes,1,opt,name=cron,proto3" json:"cron,omitempty"` 546 } 547 548 func (x *FeatureView_SyncConfig) Reset() { 549 *x = FeatureView_SyncConfig{} 550 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[2] 551 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 552 ms.StoreMessageInfo(mi) 553 } 554 555 func (x *FeatureView_SyncConfig) String() string { 556 return protoimpl.X.MessageStringOf(x) 557 } 558 559 func (*FeatureView_SyncConfig) ProtoMessage() {} 560 561 func (x *FeatureView_SyncConfig) ProtoReflect() protoreflect.Message { 562 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[2] 563 if x != nil { 564 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 565 if ms.LoadMessageInfo() == nil { 566 ms.StoreMessageInfo(mi) 567 } 568 return ms 569 } 570 return mi.MessageOf(x) 571 } 572 573 // Deprecated: Use FeatureView_SyncConfig.ProtoReflect.Descriptor instead. 574 func (*FeatureView_SyncConfig) Descriptor() ([]byte, []int) { 575 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 1} 576 } 577 578 func (x *FeatureView_SyncConfig) GetCron() string { 579 if x != nil { 580 return x.Cron 581 } 582 return "" 583 } 584 585 // Deprecated. Use 586 // [IndexConfig][google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig] 587 // instead. 588 // 589 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_view.proto. 590 type FeatureView_VectorSearchConfig struct { 591 state protoimpl.MessageState 592 sizeCache protoimpl.SizeCache 593 unknownFields protoimpl.UnknownFields 594 595 // The configuration with regard to the algorithms used for efficient 596 // search. 597 // 598 // Types that are assignable to AlgorithmConfig: 599 // 600 // *FeatureView_VectorSearchConfig_TreeAhConfig 601 // *FeatureView_VectorSearchConfig_BruteForceConfig_ 602 AlgorithmConfig isFeatureView_VectorSearchConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"` 603 // Optional. Column of embedding. This column contains the source data to 604 // create index for vector search. embedding_column must be set when using 605 // vector search. 606 EmbeddingColumn string `protobuf:"bytes,3,opt,name=embedding_column,json=embeddingColumn,proto3" json:"embedding_column,omitempty"` 607 // Optional. Columns of features that're used to filter vector search 608 // results. 609 FilterColumns []string `protobuf:"bytes,4,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"` 610 // Optional. Column of crowding. This column contains crowding attribute 611 // which is a constraint on a neighbor list produced by 612 // [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities] 613 // to diversify search results. If 614 // [NearestNeighborQuery.per_crowding_attribute_neighbor_count][google.cloud.aiplatform.v1beta1.NearestNeighborQuery.per_crowding_attribute_neighbor_count] 615 // is set to K in 616 // [SearchNearestEntitiesRequest][google.cloud.aiplatform.v1beta1.SearchNearestEntitiesRequest], 617 // it's guaranteed that no more than K entities of the same crowding 618 // attribute are returned in the response. 619 CrowdingColumn string `protobuf:"bytes,5,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"` 620 // Optional. The number of dimensions of the input embedding. 621 EmbeddingDimension *int32 `protobuf:"varint,6,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"` 622 // Optional. The distance measure used in nearest neighbor search. 623 DistanceMeasureType FeatureView_VectorSearchConfig_DistanceMeasureType `protobuf:"varint,7,opt,name=distance_measure_type,json=distanceMeasureType,proto3,enum=google.cloud.aiplatform.v1beta1.FeatureView_VectorSearchConfig_DistanceMeasureType" json:"distance_measure_type,omitempty"` 624 } 625 626 func (x *FeatureView_VectorSearchConfig) Reset() { 627 *x = FeatureView_VectorSearchConfig{} 628 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3] 629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 630 ms.StoreMessageInfo(mi) 631 } 632 633 func (x *FeatureView_VectorSearchConfig) String() string { 634 return protoimpl.X.MessageStringOf(x) 635 } 636 637 func (*FeatureView_VectorSearchConfig) ProtoMessage() {} 638 639 func (x *FeatureView_VectorSearchConfig) ProtoReflect() protoreflect.Message { 640 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3] 641 if x != nil { 642 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 643 if ms.LoadMessageInfo() == nil { 644 ms.StoreMessageInfo(mi) 645 } 646 return ms 647 } 648 return mi.MessageOf(x) 649 } 650 651 // Deprecated: Use FeatureView_VectorSearchConfig.ProtoReflect.Descriptor instead. 652 func (*FeatureView_VectorSearchConfig) Descriptor() ([]byte, []int) { 653 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2} 654 } 655 656 func (m *FeatureView_VectorSearchConfig) GetAlgorithmConfig() isFeatureView_VectorSearchConfig_AlgorithmConfig { 657 if m != nil { 658 return m.AlgorithmConfig 659 } 660 return nil 661 } 662 663 func (x *FeatureView_VectorSearchConfig) GetTreeAhConfig() *FeatureView_VectorSearchConfig_TreeAHConfig { 664 if x, ok := x.GetAlgorithmConfig().(*FeatureView_VectorSearchConfig_TreeAhConfig); ok { 665 return x.TreeAhConfig 666 } 667 return nil 668 } 669 670 func (x *FeatureView_VectorSearchConfig) GetBruteForceConfig() *FeatureView_VectorSearchConfig_BruteForceConfig { 671 if x, ok := x.GetAlgorithmConfig().(*FeatureView_VectorSearchConfig_BruteForceConfig_); ok { 672 return x.BruteForceConfig 673 } 674 return nil 675 } 676 677 func (x *FeatureView_VectorSearchConfig) GetEmbeddingColumn() string { 678 if x != nil { 679 return x.EmbeddingColumn 680 } 681 return "" 682 } 683 684 func (x *FeatureView_VectorSearchConfig) GetFilterColumns() []string { 685 if x != nil { 686 return x.FilterColumns 687 } 688 return nil 689 } 690 691 func (x *FeatureView_VectorSearchConfig) GetCrowdingColumn() string { 692 if x != nil { 693 return x.CrowdingColumn 694 } 695 return "" 696 } 697 698 func (x *FeatureView_VectorSearchConfig) GetEmbeddingDimension() int32 { 699 if x != nil && x.EmbeddingDimension != nil { 700 return *x.EmbeddingDimension 701 } 702 return 0 703 } 704 705 func (x *FeatureView_VectorSearchConfig) GetDistanceMeasureType() FeatureView_VectorSearchConfig_DistanceMeasureType { 706 if x != nil { 707 return x.DistanceMeasureType 708 } 709 return FeatureView_VectorSearchConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED 710 } 711 712 type isFeatureView_VectorSearchConfig_AlgorithmConfig interface { 713 isFeatureView_VectorSearchConfig_AlgorithmConfig() 714 } 715 716 type FeatureView_VectorSearchConfig_TreeAhConfig struct { 717 // Optional. Configuration options for the tree-AH algorithm (Shallow tree 718 // + Asymmetric Hashing). Please refer to this paper for more details: 719 // https://arxiv.org/abs/1908.10396 720 TreeAhConfig *FeatureView_VectorSearchConfig_TreeAHConfig `protobuf:"bytes,8,opt,name=tree_ah_config,json=treeAhConfig,proto3,oneof"` 721 } 722 723 type FeatureView_VectorSearchConfig_BruteForceConfig_ struct { 724 // Optional. Configuration options for using brute force search, which 725 // simply implements the standard linear search in the database for each 726 // query. It is primarily meant for benchmarking and to generate the 727 // ground truth for approximate search. 728 BruteForceConfig *FeatureView_VectorSearchConfig_BruteForceConfig `protobuf:"bytes,9,opt,name=brute_force_config,json=bruteForceConfig,proto3,oneof"` 729 } 730 731 func (*FeatureView_VectorSearchConfig_TreeAhConfig) isFeatureView_VectorSearchConfig_AlgorithmConfig() { 732 } 733 734 func (*FeatureView_VectorSearchConfig_BruteForceConfig_) isFeatureView_VectorSearchConfig_AlgorithmConfig() { 735 } 736 737 // Configuration for vector indexing. 738 type FeatureView_IndexConfig struct { 739 state protoimpl.MessageState 740 sizeCache protoimpl.SizeCache 741 unknownFields protoimpl.UnknownFields 742 743 // The configuration with regard to the algorithms used for efficient 744 // search. 745 // 746 // Types that are assignable to AlgorithmConfig: 747 // 748 // *FeatureView_IndexConfig_TreeAhConfig 749 // *FeatureView_IndexConfig_BruteForceConfig_ 750 AlgorithmConfig isFeatureView_IndexConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"` 751 // Optional. Column of embedding. This column contains the source data to 752 // create index for vector search. embedding_column must be set when using 753 // vector search. 754 EmbeddingColumn string `protobuf:"bytes,1,opt,name=embedding_column,json=embeddingColumn,proto3" json:"embedding_column,omitempty"` 755 // Optional. Columns of features that're used to filter vector search 756 // results. 757 FilterColumns []string `protobuf:"bytes,2,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"` 758 // Optional. Column of crowding. This column contains crowding attribute 759 // which is a constraint on a neighbor list produced by 760 // [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities] 761 // to diversify search results. If 762 // [NearestNeighborQuery.per_crowding_attribute_neighbor_count][google.cloud.aiplatform.v1beta1.NearestNeighborQuery.per_crowding_attribute_neighbor_count] 763 // is set to K in 764 // [SearchNearestEntitiesRequest][google.cloud.aiplatform.v1beta1.SearchNearestEntitiesRequest], 765 // it's guaranteed that no more than K entities of the same crowding 766 // attribute are returned in the response. 767 CrowdingColumn string `protobuf:"bytes,3,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"` 768 // Optional. The number of dimensions of the input embedding. 769 EmbeddingDimension *int32 `protobuf:"varint,4,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"` 770 // Optional. The distance measure used in nearest neighbor search. 771 DistanceMeasureType FeatureView_IndexConfig_DistanceMeasureType `protobuf:"varint,5,opt,name=distance_measure_type,json=distanceMeasureType,proto3,enum=google.cloud.aiplatform.v1beta1.FeatureView_IndexConfig_DistanceMeasureType" json:"distance_measure_type,omitempty"` 772 } 773 774 func (x *FeatureView_IndexConfig) Reset() { 775 *x = FeatureView_IndexConfig{} 776 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4] 777 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 778 ms.StoreMessageInfo(mi) 779 } 780 781 func (x *FeatureView_IndexConfig) String() string { 782 return protoimpl.X.MessageStringOf(x) 783 } 784 785 func (*FeatureView_IndexConfig) ProtoMessage() {} 786 787 func (x *FeatureView_IndexConfig) ProtoReflect() protoreflect.Message { 788 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4] 789 if x != nil { 790 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 791 if ms.LoadMessageInfo() == nil { 792 ms.StoreMessageInfo(mi) 793 } 794 return ms 795 } 796 return mi.MessageOf(x) 797 } 798 799 // Deprecated: Use FeatureView_IndexConfig.ProtoReflect.Descriptor instead. 800 func (*FeatureView_IndexConfig) Descriptor() ([]byte, []int) { 801 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3} 802 } 803 804 func (m *FeatureView_IndexConfig) GetAlgorithmConfig() isFeatureView_IndexConfig_AlgorithmConfig { 805 if m != nil { 806 return m.AlgorithmConfig 807 } 808 return nil 809 } 810 811 func (x *FeatureView_IndexConfig) GetTreeAhConfig() *FeatureView_IndexConfig_TreeAHConfig { 812 if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_TreeAhConfig); ok { 813 return x.TreeAhConfig 814 } 815 return nil 816 } 817 818 func (x *FeatureView_IndexConfig) GetBruteForceConfig() *FeatureView_IndexConfig_BruteForceConfig { 819 if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_BruteForceConfig_); ok { 820 return x.BruteForceConfig 821 } 822 return nil 823 } 824 825 func (x *FeatureView_IndexConfig) GetEmbeddingColumn() string { 826 if x != nil { 827 return x.EmbeddingColumn 828 } 829 return "" 830 } 831 832 func (x *FeatureView_IndexConfig) GetFilterColumns() []string { 833 if x != nil { 834 return x.FilterColumns 835 } 836 return nil 837 } 838 839 func (x *FeatureView_IndexConfig) GetCrowdingColumn() string { 840 if x != nil { 841 return x.CrowdingColumn 842 } 843 return "" 844 } 845 846 func (x *FeatureView_IndexConfig) GetEmbeddingDimension() int32 { 847 if x != nil && x.EmbeddingDimension != nil { 848 return *x.EmbeddingDimension 849 } 850 return 0 851 } 852 853 func (x *FeatureView_IndexConfig) GetDistanceMeasureType() FeatureView_IndexConfig_DistanceMeasureType { 854 if x != nil { 855 return x.DistanceMeasureType 856 } 857 return FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED 858 } 859 860 type isFeatureView_IndexConfig_AlgorithmConfig interface { 861 isFeatureView_IndexConfig_AlgorithmConfig() 862 } 863 864 type FeatureView_IndexConfig_TreeAhConfig struct { 865 // Optional. Configuration options for the tree-AH algorithm (Shallow tree 866 // + Asymmetric Hashing). Please refer to this paper for more details: 867 // https://arxiv.org/abs/1908.10396 868 TreeAhConfig *FeatureView_IndexConfig_TreeAHConfig `protobuf:"bytes,6,opt,name=tree_ah_config,json=treeAhConfig,proto3,oneof"` 869 } 870 871 type FeatureView_IndexConfig_BruteForceConfig_ struct { 872 // Optional. Configuration options for using brute force search, which 873 // simply implements the standard linear search in the database for each 874 // query. It is primarily meant for benchmarking and to generate the 875 // ground truth for approximate search. 876 BruteForceConfig *FeatureView_IndexConfig_BruteForceConfig `protobuf:"bytes,7,opt,name=brute_force_config,json=bruteForceConfig,proto3,oneof"` 877 } 878 879 func (*FeatureView_IndexConfig_TreeAhConfig) isFeatureView_IndexConfig_AlgorithmConfig() {} 880 881 func (*FeatureView_IndexConfig_BruteForceConfig_) isFeatureView_IndexConfig_AlgorithmConfig() {} 882 883 // A Feature Registry source for features that need to be synced to Online 884 // Store. 885 type FeatureView_FeatureRegistrySource struct { 886 state protoimpl.MessageState 887 sizeCache protoimpl.SizeCache 888 unknownFields protoimpl.UnknownFields 889 890 // Required. List of features that need to be synced to Online Store. 891 FeatureGroups []*FeatureView_FeatureRegistrySource_FeatureGroup `protobuf:"bytes,1,rep,name=feature_groups,json=featureGroups,proto3" json:"feature_groups,omitempty"` 892 // Optional. The project number of the parent project of the Feature Groups. 893 ProjectNumber *int64 `protobuf:"varint,2,opt,name=project_number,json=projectNumber,proto3,oneof" json:"project_number,omitempty"` 894 } 895 896 func (x *FeatureView_FeatureRegistrySource) Reset() { 897 *x = FeatureView_FeatureRegistrySource{} 898 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5] 899 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 900 ms.StoreMessageInfo(mi) 901 } 902 903 func (x *FeatureView_FeatureRegistrySource) String() string { 904 return protoimpl.X.MessageStringOf(x) 905 } 906 907 func (*FeatureView_FeatureRegistrySource) ProtoMessage() {} 908 909 func (x *FeatureView_FeatureRegistrySource) ProtoReflect() protoreflect.Message { 910 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5] 911 if x != nil { 912 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 913 if ms.LoadMessageInfo() == nil { 914 ms.StoreMessageInfo(mi) 915 } 916 return ms 917 } 918 return mi.MessageOf(x) 919 } 920 921 // Deprecated: Use FeatureView_FeatureRegistrySource.ProtoReflect.Descriptor instead. 922 func (*FeatureView_FeatureRegistrySource) Descriptor() ([]byte, []int) { 923 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 4} 924 } 925 926 func (x *FeatureView_FeatureRegistrySource) GetFeatureGroups() []*FeatureView_FeatureRegistrySource_FeatureGroup { 927 if x != nil { 928 return x.FeatureGroups 929 } 930 return nil 931 } 932 933 func (x *FeatureView_FeatureRegistrySource) GetProjectNumber() int64 { 934 if x != nil && x.ProjectNumber != nil { 935 return *x.ProjectNumber 936 } 937 return 0 938 } 939 940 // A Vertex Rag source for features that need to be synced to Online 941 // Store. 942 type FeatureView_VertexRagSource struct { 943 state protoimpl.MessageState 944 sizeCache protoimpl.SizeCache 945 unknownFields protoimpl.UnknownFields 946 947 // Required. The BigQuery view/table URI that will be materialized on each 948 // manual sync trigger. The table/view is expected to have the following 949 // columns and types at least: 950 // - `corpus_id` (STRING, NULLABLE/REQUIRED) 951 // - `file_id` (STRING, NULLABLE/REQUIRED) 952 // - `chunk_id` (STRING, NULLABLE/REQUIRED) 953 // - `chunk_data_type` (STRING, NULLABLE/REQUIRED) 954 // - `chunk_data` (STRING, NULLABLE/REQUIRED) 955 // - `embeddings` (FLOAT, REPEATED) 956 // - `file_original_uri` (STRING, NULLABLE/REQUIRED) 957 Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` 958 // Optional. The RAG corpus id corresponding to this FeatureView. 959 RagCorpusId int64 `protobuf:"varint,2,opt,name=rag_corpus_id,json=ragCorpusId,proto3" json:"rag_corpus_id,omitempty"` 960 } 961 962 func (x *FeatureView_VertexRagSource) Reset() { 963 *x = FeatureView_VertexRagSource{} 964 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[6] 965 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 966 ms.StoreMessageInfo(mi) 967 } 968 969 func (x *FeatureView_VertexRagSource) String() string { 970 return protoimpl.X.MessageStringOf(x) 971 } 972 973 func (*FeatureView_VertexRagSource) ProtoMessage() {} 974 975 func (x *FeatureView_VertexRagSource) ProtoReflect() protoreflect.Message { 976 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[6] 977 if x != nil { 978 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 979 if ms.LoadMessageInfo() == nil { 980 ms.StoreMessageInfo(mi) 981 } 982 return ms 983 } 984 return mi.MessageOf(x) 985 } 986 987 // Deprecated: Use FeatureView_VertexRagSource.ProtoReflect.Descriptor instead. 988 func (*FeatureView_VertexRagSource) Descriptor() ([]byte, []int) { 989 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 5} 990 } 991 992 func (x *FeatureView_VertexRagSource) GetUri() string { 993 if x != nil { 994 return x.Uri 995 } 996 return "" 997 } 998 999 func (x *FeatureView_VertexRagSource) GetRagCorpusId() int64 { 1000 if x != nil { 1001 return x.RagCorpusId 1002 } 1003 return 0 1004 } 1005 1006 // Configuration for FeatureViews created in Optimized FeatureOnlineStore. 1007 type FeatureView_OptimizedConfig struct { 1008 state protoimpl.MessageState 1009 sizeCache protoimpl.SizeCache 1010 unknownFields protoimpl.UnknownFields 1011 1012 // Optional. A description of resources that the FeatureView uses, which to 1013 // large degree are decided by Vertex AI, and optionally allows only a 1014 // modest additional configuration. If min_replica_count is not set, the 1015 // default value is 2. If max_replica_count is not set, the default value 1016 // is 6. The max allowed replica count is 1000. 1017 AutomaticResources *AutomaticResources `protobuf:"bytes,7,opt,name=automatic_resources,json=automaticResources,proto3" json:"automatic_resources,omitempty"` 1018 } 1019 1020 func (x *FeatureView_OptimizedConfig) Reset() { 1021 *x = FeatureView_OptimizedConfig{} 1022 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7] 1023 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1024 ms.StoreMessageInfo(mi) 1025 } 1026 1027 func (x *FeatureView_OptimizedConfig) String() string { 1028 return protoimpl.X.MessageStringOf(x) 1029 } 1030 1031 func (*FeatureView_OptimizedConfig) ProtoMessage() {} 1032 1033 func (x *FeatureView_OptimizedConfig) ProtoReflect() protoreflect.Message { 1034 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7] 1035 if x != nil { 1036 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1037 if ms.LoadMessageInfo() == nil { 1038 ms.StoreMessageInfo(mi) 1039 } 1040 return ms 1041 } 1042 return mi.MessageOf(x) 1043 } 1044 1045 // Deprecated: Use FeatureView_OptimizedConfig.ProtoReflect.Descriptor instead. 1046 func (*FeatureView_OptimizedConfig) Descriptor() ([]byte, []int) { 1047 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 6} 1048 } 1049 1050 func (x *FeatureView_OptimizedConfig) GetAutomaticResources() *AutomaticResources { 1051 if x != nil { 1052 return x.AutomaticResources 1053 } 1054 return nil 1055 } 1056 1057 // Metadata for the Cloud Bigtable that supports directly interacting Bigtable 1058 // instances. 1059 type FeatureView_BigtableMetadata struct { 1060 state protoimpl.MessageState 1061 sizeCache protoimpl.SizeCache 1062 unknownFields protoimpl.UnknownFields 1063 1064 // The Bigtable App Profile to use for reading from Bigtable. 1065 ReadAppProfile string `protobuf:"bytes,1,opt,name=read_app_profile,json=readAppProfile,proto3" json:"read_app_profile,omitempty"` 1066 } 1067 1068 func (x *FeatureView_BigtableMetadata) Reset() { 1069 *x = FeatureView_BigtableMetadata{} 1070 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[9] 1071 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1072 ms.StoreMessageInfo(mi) 1073 } 1074 1075 func (x *FeatureView_BigtableMetadata) String() string { 1076 return protoimpl.X.MessageStringOf(x) 1077 } 1078 1079 func (*FeatureView_BigtableMetadata) ProtoMessage() {} 1080 1081 func (x *FeatureView_BigtableMetadata) ProtoReflect() protoreflect.Message { 1082 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[9] 1083 if x != nil { 1084 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1085 if ms.LoadMessageInfo() == nil { 1086 ms.StoreMessageInfo(mi) 1087 } 1088 return ms 1089 } 1090 return mi.MessageOf(x) 1091 } 1092 1093 // Deprecated: Use FeatureView_BigtableMetadata.ProtoReflect.Descriptor instead. 1094 func (*FeatureView_BigtableMetadata) Descriptor() ([]byte, []int) { 1095 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 8} 1096 } 1097 1098 func (x *FeatureView_BigtableMetadata) GetReadAppProfile() string { 1099 if x != nil { 1100 return x.ReadAppProfile 1101 } 1102 return "" 1103 } 1104 1105 type FeatureView_VectorSearchConfig_BruteForceConfig struct { 1106 state protoimpl.MessageState 1107 sizeCache protoimpl.SizeCache 1108 unknownFields protoimpl.UnknownFields 1109 } 1110 1111 func (x *FeatureView_VectorSearchConfig_BruteForceConfig) Reset() { 1112 *x = FeatureView_VectorSearchConfig_BruteForceConfig{} 1113 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[10] 1114 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1115 ms.StoreMessageInfo(mi) 1116 } 1117 1118 func (x *FeatureView_VectorSearchConfig_BruteForceConfig) String() string { 1119 return protoimpl.X.MessageStringOf(x) 1120 } 1121 1122 func (*FeatureView_VectorSearchConfig_BruteForceConfig) ProtoMessage() {} 1123 1124 func (x *FeatureView_VectorSearchConfig_BruteForceConfig) ProtoReflect() protoreflect.Message { 1125 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[10] 1126 if x != nil { 1127 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1128 if ms.LoadMessageInfo() == nil { 1129 ms.StoreMessageInfo(mi) 1130 } 1131 return ms 1132 } 1133 return mi.MessageOf(x) 1134 } 1135 1136 // Deprecated: Use FeatureView_VectorSearchConfig_BruteForceConfig.ProtoReflect.Descriptor instead. 1137 func (*FeatureView_VectorSearchConfig_BruteForceConfig) Descriptor() ([]byte, []int) { 1138 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0} 1139 } 1140 1141 type FeatureView_VectorSearchConfig_TreeAHConfig struct { 1142 state protoimpl.MessageState 1143 sizeCache protoimpl.SizeCache 1144 unknownFields protoimpl.UnknownFields 1145 1146 // Optional. Number of embeddings on each leaf node. The default value is 1147 // 1000 if not set. 1148 LeafNodeEmbeddingCount *int64 `protobuf:"varint,1,opt,name=leaf_node_embedding_count,json=leafNodeEmbeddingCount,proto3,oneof" json:"leaf_node_embedding_count,omitempty"` 1149 } 1150 1151 func (x *FeatureView_VectorSearchConfig_TreeAHConfig) Reset() { 1152 *x = FeatureView_VectorSearchConfig_TreeAHConfig{} 1153 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[11] 1154 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1155 ms.StoreMessageInfo(mi) 1156 } 1157 1158 func (x *FeatureView_VectorSearchConfig_TreeAHConfig) String() string { 1159 return protoimpl.X.MessageStringOf(x) 1160 } 1161 1162 func (*FeatureView_VectorSearchConfig_TreeAHConfig) ProtoMessage() {} 1163 1164 func (x *FeatureView_VectorSearchConfig_TreeAHConfig) ProtoReflect() protoreflect.Message { 1165 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[11] 1166 if x != nil { 1167 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1168 if ms.LoadMessageInfo() == nil { 1169 ms.StoreMessageInfo(mi) 1170 } 1171 return ms 1172 } 1173 return mi.MessageOf(x) 1174 } 1175 1176 // Deprecated: Use FeatureView_VectorSearchConfig_TreeAHConfig.ProtoReflect.Descriptor instead. 1177 func (*FeatureView_VectorSearchConfig_TreeAHConfig) Descriptor() ([]byte, []int) { 1178 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 1} 1179 } 1180 1181 func (x *FeatureView_VectorSearchConfig_TreeAHConfig) GetLeafNodeEmbeddingCount() int64 { 1182 if x != nil && x.LeafNodeEmbeddingCount != nil { 1183 return *x.LeafNodeEmbeddingCount 1184 } 1185 return 0 1186 } 1187 1188 // Configuration options for using brute force search. 1189 type FeatureView_IndexConfig_BruteForceConfig struct { 1190 state protoimpl.MessageState 1191 sizeCache protoimpl.SizeCache 1192 unknownFields protoimpl.UnknownFields 1193 } 1194 1195 func (x *FeatureView_IndexConfig_BruteForceConfig) Reset() { 1196 *x = FeatureView_IndexConfig_BruteForceConfig{} 1197 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[12] 1198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1199 ms.StoreMessageInfo(mi) 1200 } 1201 1202 func (x *FeatureView_IndexConfig_BruteForceConfig) String() string { 1203 return protoimpl.X.MessageStringOf(x) 1204 } 1205 1206 func (*FeatureView_IndexConfig_BruteForceConfig) ProtoMessage() {} 1207 1208 func (x *FeatureView_IndexConfig_BruteForceConfig) ProtoReflect() protoreflect.Message { 1209 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[12] 1210 if x != nil { 1211 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1212 if ms.LoadMessageInfo() == nil { 1213 ms.StoreMessageInfo(mi) 1214 } 1215 return ms 1216 } 1217 return mi.MessageOf(x) 1218 } 1219 1220 // Deprecated: Use FeatureView_IndexConfig_BruteForceConfig.ProtoReflect.Descriptor instead. 1221 func (*FeatureView_IndexConfig_BruteForceConfig) Descriptor() ([]byte, []int) { 1222 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0} 1223 } 1224 1225 // Configuration options for the tree-AH algorithm. 1226 type FeatureView_IndexConfig_TreeAHConfig struct { 1227 state protoimpl.MessageState 1228 sizeCache protoimpl.SizeCache 1229 unknownFields protoimpl.UnknownFields 1230 1231 // Optional. Number of embeddings on each leaf node. The default value is 1232 // 1000 if not set. 1233 LeafNodeEmbeddingCount *int64 `protobuf:"varint,1,opt,name=leaf_node_embedding_count,json=leafNodeEmbeddingCount,proto3,oneof" json:"leaf_node_embedding_count,omitempty"` 1234 } 1235 1236 func (x *FeatureView_IndexConfig_TreeAHConfig) Reset() { 1237 *x = FeatureView_IndexConfig_TreeAHConfig{} 1238 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[13] 1239 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1240 ms.StoreMessageInfo(mi) 1241 } 1242 1243 func (x *FeatureView_IndexConfig_TreeAHConfig) String() string { 1244 return protoimpl.X.MessageStringOf(x) 1245 } 1246 1247 func (*FeatureView_IndexConfig_TreeAHConfig) ProtoMessage() {} 1248 1249 func (x *FeatureView_IndexConfig_TreeAHConfig) ProtoReflect() protoreflect.Message { 1250 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[13] 1251 if x != nil { 1252 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1253 if ms.LoadMessageInfo() == nil { 1254 ms.StoreMessageInfo(mi) 1255 } 1256 return ms 1257 } 1258 return mi.MessageOf(x) 1259 } 1260 1261 // Deprecated: Use FeatureView_IndexConfig_TreeAHConfig.ProtoReflect.Descriptor instead. 1262 func (*FeatureView_IndexConfig_TreeAHConfig) Descriptor() ([]byte, []int) { 1263 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 1} 1264 } 1265 1266 func (x *FeatureView_IndexConfig_TreeAHConfig) GetLeafNodeEmbeddingCount() int64 { 1267 if x != nil && x.LeafNodeEmbeddingCount != nil { 1268 return *x.LeafNodeEmbeddingCount 1269 } 1270 return 0 1271 } 1272 1273 // Features belonging to a single feature group that will be 1274 // synced to Online Store. 1275 type FeatureView_FeatureRegistrySource_FeatureGroup struct { 1276 state protoimpl.MessageState 1277 sizeCache protoimpl.SizeCache 1278 unknownFields protoimpl.UnknownFields 1279 1280 // Required. Identifier of the feature group. 1281 FeatureGroupId string `protobuf:"bytes,1,opt,name=feature_group_id,json=featureGroupId,proto3" json:"feature_group_id,omitempty"` 1282 // Required. Identifiers of features under the feature group. 1283 FeatureIds []string `protobuf:"bytes,2,rep,name=feature_ids,json=featureIds,proto3" json:"feature_ids,omitempty"` 1284 } 1285 1286 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) Reset() { 1287 *x = FeatureView_FeatureRegistrySource_FeatureGroup{} 1288 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[14] 1289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1290 ms.StoreMessageInfo(mi) 1291 } 1292 1293 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) String() string { 1294 return protoimpl.X.MessageStringOf(x) 1295 } 1296 1297 func (*FeatureView_FeatureRegistrySource_FeatureGroup) ProtoMessage() {} 1298 1299 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) ProtoReflect() protoreflect.Message { 1300 mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[14] 1301 if x != nil { 1302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1303 if ms.LoadMessageInfo() == nil { 1304 ms.StoreMessageInfo(mi) 1305 } 1306 return ms 1307 } 1308 return mi.MessageOf(x) 1309 } 1310 1311 // Deprecated: Use FeatureView_FeatureRegistrySource_FeatureGroup.ProtoReflect.Descriptor instead. 1312 func (*FeatureView_FeatureRegistrySource_FeatureGroup) Descriptor() ([]byte, []int) { 1313 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 4, 0} 1314 } 1315 1316 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureGroupId() string { 1317 if x != nil { 1318 return x.FeatureGroupId 1319 } 1320 return "" 1321 } 1322 1323 func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureIds() []string { 1324 if x != nil { 1325 return x.FeatureIds 1326 } 1327 return nil 1328 } 1329 1330 var File_google_cloud_aiplatform_v1beta1_feature_view_proto protoreflect.FileDescriptor 1331 1332 var file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc = []byte{ 1333 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 1334 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1335 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x70, 1336 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1337 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1338 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 1339 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 1340 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 1341 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1342 0x6f, 0x1a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 1343 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 1344 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 1345 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 1346 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 1347 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf8, 0x21, 0x0a, 0x0b, 1348 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6c, 0x0a, 0x10, 0x62, 1349 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 1350 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1351 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1352 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 1353 0x69, 0x65, 0x77, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 1354 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 1355 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x66, 0x65, 1356 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 1357 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 1358 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 1359 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 1360 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 1361 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 1362 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x15, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 1363 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x6f, 0x0a, 1364 0x11, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 1365 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1366 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1367 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 1368 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 1369 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x76, 1370 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x17, 1371 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1372 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 1373 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 1374 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 1375 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 1376 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 1377 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1378 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1379 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 1380 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 1381 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 1382 0x65, 0x74, 0x61, 0x67, 0x12, 0x55, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 1383 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1384 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1385 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 1386 0x65, 0x77, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 1387 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x58, 0x0a, 0x0b, 0x73, 1388 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 1389 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1390 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1391 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x53, 1392 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x43, 1393 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x78, 0x0a, 0x14, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 1394 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 1395 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1396 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1397 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 1398 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 1399 0x6e, 0x66, 0x69, 0x67, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x12, 0x76, 0x65, 0x63, 1400 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 1401 0x60, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 1402 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1403 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1404 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 1405 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 1406 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 1407 0x67, 0x12, 0x6c, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 1408 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 1409 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 1410 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 1411 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 1412 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 1413 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 1414 0x70, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 1415 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 1416 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 1417 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 1418 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 1419 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 1420 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 1421 0x65, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 1422 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 1423 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 1424 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 1425 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 1426 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 1427 0x73, 0x50, 0x7a, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 1428 0x73, 0x5f, 0x70, 0x7a, 0x69, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 1429 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x69, 0x12, 0x6f, 1430 0x0a, 0x11, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 1431 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1432 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1433 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 1434 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 1435 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x62, 1436 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 1437 0x58, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 1438 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 1439 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x69, 1440 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 1441 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 1442 0x49, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x20, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 1443 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x18, 1444 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x1a, 0xa9, 0x07, 0x0a, 0x12, 1445 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 1446 0x69, 0x67, 0x12, 0x79, 0x0a, 0x0e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x61, 0x68, 0x5f, 0x63, 0x6f, 1447 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 1448 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1449 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 1450 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 1451 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x65, 0x65, 1452 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 1453 0x0c, 0x74, 0x72, 0x65, 0x65, 0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x85, 0x01, 1454 0x0a, 0x12, 0x62, 0x72, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 1455 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 1456 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1457 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 1458 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 1459 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x72, 0x75, 0x74, 1460 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 1461 0x01, 0x48, 0x00, 0x52, 0x10, 0x62, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 1462 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x10, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 1463 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 1464 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 1465 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 1466 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 1467 0x41, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 1468 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 1469 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 1470 0x0e, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 1471 0x39, 0x0a, 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 1472 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 1473 0x01, 0x48, 0x01, 0x52, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x69, 1474 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x15, 0x64, 1475 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 1476 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 1477 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1478 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 1479 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 1480 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x74, 1481 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 1482 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 1483 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, 0x42, 0x72, 0x75, 1484 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x71, 0x0a, 1485 0x0c, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 1486 0x19, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 1487 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 1488 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, 0x4e, 0x6f, 0x64, 1489 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 1490 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 1491 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 1492 0x22, 0x84, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 1493 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, 0x53, 0x54, 1494 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 1495 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 1496 0x17, 0x0a, 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, 0x5f, 0x44, 0x49, 1497 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x53, 0x49, 1498 0x4e, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 1499 0x14, 0x44, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, 1500 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x61, 1501 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 1502 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 1503 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x88, 0x07, 0x0a, 0x0b, 0x49, 0x6e, 0x64, 0x65, 1504 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x0e, 0x74, 0x72, 0x65, 0x65, 0x5f, 1505 0x61, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 1506 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 1507 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1508 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 1509 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 1510 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x74, 1511 0x72, 0x65, 0x65, 0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7e, 0x0a, 0x12, 0x62, 1512 0x72, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 1513 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1514 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1515 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 1516 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 1517 0x67, 0x2e, 0x42, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 1518 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x62, 0x72, 0x75, 0x74, 0x65, 1519 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x10, 0x65, 1520 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 1521 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65, 1522 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 1523 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 1524 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 1525 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 1526 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 1527 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43, 1528 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x39, 0x0a, 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 1529 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 1530 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64, 1531 0x64, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 1532 0x12, 0x85, 0x01, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 1533 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 1534 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1535 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1536 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 1537 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61, 1538 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 1539 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 1540 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, 0x42, 0x72, 0x75, 0x74, 1541 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x71, 0x0a, 0x0c, 1542 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x19, 1543 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 1544 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 1545 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, 0x4e, 0x6f, 0x64, 0x65, 1546 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 1547 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 1548 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 1549 0x84, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 1550 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, 0x53, 0x54, 0x41, 1551 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 1552 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 1553 0x0a, 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, 0x5f, 0x44, 0x49, 0x53, 1554 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x53, 0x49, 0x4e, 1555 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 1556 0x44, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x54, 1557 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 1558 0x74, 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 1559 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 1560 0x6f, 0x6e, 0x1a, 0xbd, 0x02, 0x0a, 0x15, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 1561 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 1562 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 1563 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1564 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1565 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 1566 0x65, 0x77, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 1567 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1568 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 1569 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 1570 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 1571 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 1572 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x1a, 0x63, 0x0a, 0x0c, 0x46, 0x65, 1573 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2d, 0x0a, 0x10, 0x66, 0x65, 1574 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 1575 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 1576 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x66, 0x65, 0x61, 1577 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 1578 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x42, 1579 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 1580 0x65, 0x72, 0x1a, 0x51, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 1581 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 1582 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x27, 0x0a, 0x0d, 1583 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 1584 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 1585 0x70, 0x75, 0x73, 0x49, 0x64, 0x1a, 0x7c, 0x0a, 0x0f, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 1586 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x69, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 1587 0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 1588 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1589 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1590 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 1591 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 1592 0x12, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 1593 0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 1594 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1595 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 1596 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 1597 0x0a, 0x10, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 1598 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x70, 1599 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1600 0x03, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 1601 0x65, 0x22, 0x7b, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 1602 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 1603 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 1604 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x52, 1605 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 1606 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x52, 1607 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 1608 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x3a, 0x9b, 1609 0x01, 0xea, 0x41, 0x97, 0x01, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1610 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 1611 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6e, 0x70, 0x72, 1612 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 1613 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 1614 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 1615 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 1616 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 1617 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x66, 1618 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x42, 0x08, 0x0a, 0x06, 1619 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0xe7, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 1620 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1621 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 1622 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x74, 0x6f, 1623 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1624 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1625 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 1626 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 1627 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1628 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1629 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 1630 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 1631 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 1632 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 1633 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1634 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1635 } 1636 1637 var ( 1638 file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescOnce sync.Once 1639 file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc 1640 ) 1641 1642 func file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP() []byte { 1643 file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescOnce.Do(func() { 1644 file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData) 1645 }) 1646 return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData 1647 } 1648 1649 var file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes = make([]protoimpl.EnumInfo, 3) 1650 var file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes = make([]protoimpl.MessageInfo, 15) 1651 var file_google_cloud_aiplatform_v1beta1_feature_view_proto_goTypes = []any{ 1652 (FeatureView_ServiceAgentType)(0), // 0: google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType 1653 (FeatureView_VectorSearchConfig_DistanceMeasureType)(0), // 1: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.DistanceMeasureType 1654 (FeatureView_IndexConfig_DistanceMeasureType)(0), // 2: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.DistanceMeasureType 1655 (*FeatureView)(nil), // 3: google.cloud.aiplatform.v1beta1.FeatureView 1656 (*FeatureView_BigQuerySource)(nil), // 4: google.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource 1657 (*FeatureView_SyncConfig)(nil), // 5: google.cloud.aiplatform.v1beta1.FeatureView.SyncConfig 1658 (*FeatureView_VectorSearchConfig)(nil), // 6: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig 1659 (*FeatureView_IndexConfig)(nil), // 7: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig 1660 (*FeatureView_FeatureRegistrySource)(nil), // 8: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource 1661 (*FeatureView_VertexRagSource)(nil), // 9: google.cloud.aiplatform.v1beta1.FeatureView.VertexRagSource 1662 (*FeatureView_OptimizedConfig)(nil), // 10: google.cloud.aiplatform.v1beta1.FeatureView.OptimizedConfig 1663 nil, // 11: google.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry 1664 (*FeatureView_BigtableMetadata)(nil), // 12: google.cloud.aiplatform.v1beta1.FeatureView.BigtableMetadata 1665 (*FeatureView_VectorSearchConfig_BruteForceConfig)(nil), // 13: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig 1666 (*FeatureView_VectorSearchConfig_TreeAHConfig)(nil), // 14: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig 1667 (*FeatureView_IndexConfig_BruteForceConfig)(nil), // 15: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.BruteForceConfig 1668 (*FeatureView_IndexConfig_TreeAHConfig)(nil), // 16: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.TreeAHConfig 1669 (*FeatureView_FeatureRegistrySource_FeatureGroup)(nil), // 17: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup 1670 (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp 1671 (*AutomaticResources)(nil), // 19: google.cloud.aiplatform.v1beta1.AutomaticResources 1672 } 1673 var file_google_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs = []int32{ 1674 4, // 0: google.cloud.aiplatform.v1beta1.FeatureView.big_query_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource 1675 8, // 1: google.cloud.aiplatform.v1beta1.FeatureView.feature_registry_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource 1676 9, // 2: google.cloud.aiplatform.v1beta1.FeatureView.vertex_rag_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VertexRagSource 1677 18, // 3: google.cloud.aiplatform.v1beta1.FeatureView.create_time:type_name -> google.protobuf.Timestamp 1678 18, // 4: google.cloud.aiplatform.v1beta1.FeatureView.update_time:type_name -> google.protobuf.Timestamp 1679 11, // 5: google.cloud.aiplatform.v1beta1.FeatureView.labels:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry 1680 5, // 6: google.cloud.aiplatform.v1beta1.FeatureView.sync_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.SyncConfig 1681 6, // 7: google.cloud.aiplatform.v1beta1.FeatureView.vector_search_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig 1682 7, // 8: google.cloud.aiplatform.v1beta1.FeatureView.index_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig 1683 10, // 9: google.cloud.aiplatform.v1beta1.FeatureView.optimized_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.OptimizedConfig 1684 0, // 10: google.cloud.aiplatform.v1beta1.FeatureView.service_agent_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType 1685 12, // 11: google.cloud.aiplatform.v1beta1.FeatureView.bigtable_metadata:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.BigtableMetadata 1686 14, // 12: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig 1687 13, // 13: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig 1688 1, // 14: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.DistanceMeasureType 1689 16, // 15: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.TreeAHConfig 1690 15, // 16: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.BruteForceConfig 1691 2, // 17: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.DistanceMeasureType 1692 17, // 18: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.feature_groups:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup 1693 19, // 19: google.cloud.aiplatform.v1beta1.FeatureView.OptimizedConfig.automatic_resources:type_name -> google.cloud.aiplatform.v1beta1.AutomaticResources 1694 20, // [20:20] is the sub-list for method output_type 1695 20, // [20:20] is the sub-list for method input_type 1696 20, // [20:20] is the sub-list for extension type_name 1697 20, // [20:20] is the sub-list for extension extendee 1698 0, // [0:20] is the sub-list for field type_name 1699 } 1700 1701 func init() { file_google_cloud_aiplatform_v1beta1_feature_view_proto_init() } 1702 func file_google_cloud_aiplatform_v1beta1_feature_view_proto_init() { 1703 if File_google_cloud_aiplatform_v1beta1_feature_view_proto != nil { 1704 return 1705 } 1706 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() 1707 file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0].OneofWrappers = []any{ 1708 (*FeatureView_BigQuerySource_)(nil), 1709 (*FeatureView_FeatureRegistrySource_)(nil), 1710 (*FeatureView_VertexRagSource_)(nil), 1711 } 1712 file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3].OneofWrappers = []any{ 1713 (*FeatureView_VectorSearchConfig_TreeAhConfig)(nil), 1714 (*FeatureView_VectorSearchConfig_BruteForceConfig_)(nil), 1715 } 1716 file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4].OneofWrappers = []any{ 1717 (*FeatureView_IndexConfig_TreeAhConfig)(nil), 1718 (*FeatureView_IndexConfig_BruteForceConfig_)(nil), 1719 } 1720 file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5].OneofWrappers = []any{} 1721 file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[11].OneofWrappers = []any{} 1722 file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[13].OneofWrappers = []any{} 1723 type x struct{} 1724 out := protoimpl.TypeBuilder{ 1725 File: protoimpl.DescBuilder{ 1726 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1727 RawDescriptor: file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc, 1728 NumEnums: 3, 1729 NumMessages: 15, 1730 NumExtensions: 0, 1731 NumServices: 0, 1732 }, 1733 GoTypes: file_google_cloud_aiplatform_v1beta1_feature_view_proto_goTypes, 1734 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs, 1735 EnumInfos: file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes, 1736 MessageInfos: file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes, 1737 }.Build() 1738 File_google_cloud_aiplatform_v1beta1_feature_view_proto = out.File 1739 file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc = nil 1740 file_google_cloud_aiplatform_v1beta1_feature_view_proto_goTypes = nil 1741 file_google_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs = nil 1742 }