cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/feature.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.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 // Only applicable for Vertex AI Legacy Feature Store. 40 // An enum representing the value type of a feature. 41 type Feature_ValueType int32 42 43 const ( 44 // The value type is unspecified. 45 Feature_VALUE_TYPE_UNSPECIFIED Feature_ValueType = 0 46 // Used for Feature that is a boolean. 47 Feature_BOOL Feature_ValueType = 1 48 // Used for Feature that is a list of boolean. 49 Feature_BOOL_ARRAY Feature_ValueType = 2 50 // Used for Feature that is double. 51 Feature_DOUBLE Feature_ValueType = 3 52 // Used for Feature that is a list of double. 53 Feature_DOUBLE_ARRAY Feature_ValueType = 4 54 // Used for Feature that is INT64. 55 Feature_INT64 Feature_ValueType = 9 56 // Used for Feature that is a list of INT64. 57 Feature_INT64_ARRAY Feature_ValueType = 10 58 // Used for Feature that is string. 59 Feature_STRING Feature_ValueType = 11 60 // Used for Feature that is a list of String. 61 Feature_STRING_ARRAY Feature_ValueType = 12 62 // Used for Feature that is bytes. 63 Feature_BYTES Feature_ValueType = 13 64 // Used for Feature that is struct. 65 Feature_STRUCT Feature_ValueType = 14 66 ) 67 68 // Enum value maps for Feature_ValueType. 69 var ( 70 Feature_ValueType_name = map[int32]string{ 71 0: "VALUE_TYPE_UNSPECIFIED", 72 1: "BOOL", 73 2: "BOOL_ARRAY", 74 3: "DOUBLE", 75 4: "DOUBLE_ARRAY", 76 9: "INT64", 77 10: "INT64_ARRAY", 78 11: "STRING", 79 12: "STRING_ARRAY", 80 13: "BYTES", 81 14: "STRUCT", 82 } 83 Feature_ValueType_value = map[string]int32{ 84 "VALUE_TYPE_UNSPECIFIED": 0, 85 "BOOL": 1, 86 "BOOL_ARRAY": 2, 87 "DOUBLE": 3, 88 "DOUBLE_ARRAY": 4, 89 "INT64": 9, 90 "INT64_ARRAY": 10, 91 "STRING": 11, 92 "STRING_ARRAY": 12, 93 "BYTES": 13, 94 "STRUCT": 14, 95 } 96 ) 97 98 func (x Feature_ValueType) Enum() *Feature_ValueType { 99 p := new(Feature_ValueType) 100 *p = x 101 return p 102 } 103 104 func (x Feature_ValueType) String() string { 105 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 106 } 107 108 func (Feature_ValueType) Descriptor() protoreflect.EnumDescriptor { 109 return file_google_cloud_aiplatform_v1beta1_feature_proto_enumTypes[0].Descriptor() 110 } 111 112 func (Feature_ValueType) Type() protoreflect.EnumType { 113 return &file_google_cloud_aiplatform_v1beta1_feature_proto_enumTypes[0] 114 } 115 116 func (x Feature_ValueType) Number() protoreflect.EnumNumber { 117 return protoreflect.EnumNumber(x) 118 } 119 120 // Deprecated: Use Feature_ValueType.Descriptor instead. 121 func (Feature_ValueType) EnumDescriptor() ([]byte, []int) { 122 return file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP(), []int{0, 0} 123 } 124 125 // If the objective in the request is both 126 // Import Feature Analysis and Snapshot Analysis, this objective could be 127 // one of them. Otherwise, this objective should be the same as the 128 // objective in the request. 129 type Feature_MonitoringStatsAnomaly_Objective int32 130 131 const ( 132 // If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty. 133 Feature_MonitoringStatsAnomaly_OBJECTIVE_UNSPECIFIED Feature_MonitoringStatsAnomaly_Objective = 0 134 // Stats are generated by Import Feature Analysis. 135 Feature_MonitoringStatsAnomaly_IMPORT_FEATURE_ANALYSIS Feature_MonitoringStatsAnomaly_Objective = 1 136 // Stats are generated by Snapshot Analysis. 137 Feature_MonitoringStatsAnomaly_SNAPSHOT_ANALYSIS Feature_MonitoringStatsAnomaly_Objective = 2 138 ) 139 140 // Enum value maps for Feature_MonitoringStatsAnomaly_Objective. 141 var ( 142 Feature_MonitoringStatsAnomaly_Objective_name = map[int32]string{ 143 0: "OBJECTIVE_UNSPECIFIED", 144 1: "IMPORT_FEATURE_ANALYSIS", 145 2: "SNAPSHOT_ANALYSIS", 146 } 147 Feature_MonitoringStatsAnomaly_Objective_value = map[string]int32{ 148 "OBJECTIVE_UNSPECIFIED": 0, 149 "IMPORT_FEATURE_ANALYSIS": 1, 150 "SNAPSHOT_ANALYSIS": 2, 151 } 152 ) 153 154 func (x Feature_MonitoringStatsAnomaly_Objective) Enum() *Feature_MonitoringStatsAnomaly_Objective { 155 p := new(Feature_MonitoringStatsAnomaly_Objective) 156 *p = x 157 return p 158 } 159 160 func (x Feature_MonitoringStatsAnomaly_Objective) String() string { 161 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 162 } 163 164 func (Feature_MonitoringStatsAnomaly_Objective) Descriptor() protoreflect.EnumDescriptor { 165 return file_google_cloud_aiplatform_v1beta1_feature_proto_enumTypes[1].Descriptor() 166 } 167 168 func (Feature_MonitoringStatsAnomaly_Objective) Type() protoreflect.EnumType { 169 return &file_google_cloud_aiplatform_v1beta1_feature_proto_enumTypes[1] 170 } 171 172 func (x Feature_MonitoringStatsAnomaly_Objective) Number() protoreflect.EnumNumber { 173 return protoreflect.EnumNumber(x) 174 } 175 176 // Deprecated: Use Feature_MonitoringStatsAnomaly_Objective.Descriptor instead. 177 func (Feature_MonitoringStatsAnomaly_Objective) EnumDescriptor() ([]byte, []int) { 178 return file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP(), []int{0, 0, 0} 179 } 180 181 // Feature Metadata information. 182 // For example, color is a feature that describes an apple. 183 type Feature struct { 184 state protoimpl.MessageState 185 sizeCache protoimpl.SizeCache 186 unknownFields protoimpl.UnknownFields 187 188 // Immutable. Name of the Feature. 189 // Format: 190 // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` 191 // `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` 192 // 193 // The last part feature is assigned by the client. The feature can be up to 194 // 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, 195 // underscore(_), and ASCII digits 0-9 starting with a letter. The value will 196 // be unique given an entity type. 197 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 198 // Description of the Feature. 199 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 200 // Immutable. Only applicable for Vertex AI Feature Store (Legacy). 201 // Type of Feature value. 202 ValueType Feature_ValueType `protobuf:"varint,3,opt,name=value_type,json=valueType,proto3,enum=google.cloud.aiplatform.v1beta1.Feature_ValueType" json:"value_type,omitempty"` 203 // Output only. Only applicable for Vertex AI Feature Store (Legacy). 204 // Timestamp when this EntityType was created. 205 CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 206 // Output only. Only applicable for Vertex AI Feature Store (Legacy). 207 // Timestamp when this EntityType was most recently updated. 208 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 209 // Optional. The labels with user-defined metadata to organize your Features. 210 // 211 // Label keys and values can be no longer than 64 characters 212 // (Unicode codepoints), can only contain lowercase letters, numeric 213 // characters, underscores and dashes. International characters are allowed. 214 // 215 // See https://goo.gl/xmQnxf for more information on and examples of labels. 216 // No more than 64 user labels can be associated with one Feature (System 217 // labels are excluded)." 218 // System reserved label keys are prefixed with "aiplatform.googleapis.com/" 219 // and are immutable. 220 Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 221 // Used to perform a consistent read-modify-write updates. If not set, a blind 222 // "overwrite" update happens. 223 Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` 224 // Optional. Only applicable for Vertex AI Feature Store (Legacy). 225 // Deprecated: The custom monitoring configuration for this Feature, if not 226 // set, use the monitoring_config defined for the EntityType this Feature 227 // belongs to. 228 // Only Features with type 229 // ([Feature.ValueType][google.cloud.aiplatform.v1beta1.Feature.ValueType]) 230 // BOOL, STRING, DOUBLE or INT64 can enable monitoring. 231 // 232 // If this is populated with 233 // [FeaturestoreMonitoringConfig.disabled][] = true, snapshot analysis 234 // monitoring is disabled; if 235 // [FeaturestoreMonitoringConfig.monitoring_interval][] specified, snapshot 236 // analysis monitoring is enabled. Otherwise, snapshot analysis monitoring 237 // config is same as the EntityType's this Feature belongs to. 238 // 239 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature.proto. 240 MonitoringConfig *FeaturestoreMonitoringConfig `protobuf:"bytes,9,opt,name=monitoring_config,json=monitoringConfig,proto3" json:"monitoring_config,omitempty"` 241 // Optional. Only applicable for Vertex AI Feature Store (Legacy). 242 // If not set, use the monitoring_config defined for the EntityType this 243 // Feature belongs to. 244 // Only Features with type 245 // ([Feature.ValueType][google.cloud.aiplatform.v1beta1.Feature.ValueType]) 246 // BOOL, STRING, DOUBLE or INT64 can enable monitoring. 247 // 248 // If set to true, all types of data monitoring are disabled despite the 249 // config on EntityType. 250 DisableMonitoring bool `protobuf:"varint,12,opt,name=disable_monitoring,json=disableMonitoring,proto3" json:"disable_monitoring,omitempty"` 251 // Output only. Only applicable for Vertex AI Feature Store (Legacy). 252 // A list of historical 253 // [SnapshotAnalysis][google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis] 254 // stats requested by user, sorted by 255 // [FeatureStatsAnomaly.start_time][google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.start_time] 256 // descending. 257 MonitoringStats []*FeatureStatsAnomaly `protobuf:"bytes,10,rep,name=monitoring_stats,json=monitoringStats,proto3" json:"monitoring_stats,omitempty"` 258 // Output only. Only applicable for Vertex AI Feature Store (Legacy). 259 // The list of historical stats and anomalies with specified objectives. 260 MonitoringStatsAnomalies []*Feature_MonitoringStatsAnomaly `protobuf:"bytes,11,rep,name=monitoring_stats_anomalies,json=monitoringStatsAnomalies,proto3" json:"monitoring_stats_anomalies,omitempty"` 261 // Output only. Only applicable for Vertex AI Feature Store. 262 // The list of historical stats and anomalies. 263 FeatureStatsAndAnomaly []*FeatureStatsAndAnomaly `protobuf:"bytes,13,rep,name=feature_stats_and_anomaly,json=featureStatsAndAnomaly,proto3" json:"feature_stats_and_anomaly,omitempty"` 264 // Only applicable for Vertex AI Feature Store. 265 // The name of the BigQuery Table/View column hosting data for this version. 266 // If no value is provided, will use feature_id. 267 VersionColumnName string `protobuf:"bytes,106,opt,name=version_column_name,json=versionColumnName,proto3" json:"version_column_name,omitempty"` 268 // Entity responsible for maintaining this feature. Can be comma separated 269 // list of email addresses or URIs. 270 PointOfContact string `protobuf:"bytes,107,opt,name=point_of_contact,json=pointOfContact,proto3" json:"point_of_contact,omitempty"` 271 } 272 273 func (x *Feature) Reset() { 274 *x = Feature{} 275 mi := &file_google_cloud_aiplatform_v1beta1_feature_proto_msgTypes[0] 276 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 277 ms.StoreMessageInfo(mi) 278 } 279 280 func (x *Feature) String() string { 281 return protoimpl.X.MessageStringOf(x) 282 } 283 284 func (*Feature) ProtoMessage() {} 285 286 func (x *Feature) ProtoReflect() protoreflect.Message { 287 mi := &file_google_cloud_aiplatform_v1beta1_feature_proto_msgTypes[0] 288 if x != nil { 289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 290 if ms.LoadMessageInfo() == nil { 291 ms.StoreMessageInfo(mi) 292 } 293 return ms 294 } 295 return mi.MessageOf(x) 296 } 297 298 // Deprecated: Use Feature.ProtoReflect.Descriptor instead. 299 func (*Feature) Descriptor() ([]byte, []int) { 300 return file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP(), []int{0} 301 } 302 303 func (x *Feature) GetName() string { 304 if x != nil { 305 return x.Name 306 } 307 return "" 308 } 309 310 func (x *Feature) GetDescription() string { 311 if x != nil { 312 return x.Description 313 } 314 return "" 315 } 316 317 func (x *Feature) GetValueType() Feature_ValueType { 318 if x != nil { 319 return x.ValueType 320 } 321 return Feature_VALUE_TYPE_UNSPECIFIED 322 } 323 324 func (x *Feature) GetCreateTime() *timestamppb.Timestamp { 325 if x != nil { 326 return x.CreateTime 327 } 328 return nil 329 } 330 331 func (x *Feature) GetUpdateTime() *timestamppb.Timestamp { 332 if x != nil { 333 return x.UpdateTime 334 } 335 return nil 336 } 337 338 func (x *Feature) GetLabels() map[string]string { 339 if x != nil { 340 return x.Labels 341 } 342 return nil 343 } 344 345 func (x *Feature) GetEtag() string { 346 if x != nil { 347 return x.Etag 348 } 349 return "" 350 } 351 352 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature.proto. 353 func (x *Feature) GetMonitoringConfig() *FeaturestoreMonitoringConfig { 354 if x != nil { 355 return x.MonitoringConfig 356 } 357 return nil 358 } 359 360 func (x *Feature) GetDisableMonitoring() bool { 361 if x != nil { 362 return x.DisableMonitoring 363 } 364 return false 365 } 366 367 func (x *Feature) GetMonitoringStats() []*FeatureStatsAnomaly { 368 if x != nil { 369 return x.MonitoringStats 370 } 371 return nil 372 } 373 374 func (x *Feature) GetMonitoringStatsAnomalies() []*Feature_MonitoringStatsAnomaly { 375 if x != nil { 376 return x.MonitoringStatsAnomalies 377 } 378 return nil 379 } 380 381 func (x *Feature) GetFeatureStatsAndAnomaly() []*FeatureStatsAndAnomaly { 382 if x != nil { 383 return x.FeatureStatsAndAnomaly 384 } 385 return nil 386 } 387 388 func (x *Feature) GetVersionColumnName() string { 389 if x != nil { 390 return x.VersionColumnName 391 } 392 return "" 393 } 394 395 func (x *Feature) GetPointOfContact() string { 396 if x != nil { 397 return x.PointOfContact 398 } 399 return "" 400 } 401 402 // A list of historical 403 // [SnapshotAnalysis][google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis] 404 // or 405 // [ImportFeaturesAnalysis][google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis] 406 // stats requested by user, sorted by 407 // [FeatureStatsAnomaly.start_time][google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.start_time] 408 // descending. 409 type Feature_MonitoringStatsAnomaly struct { 410 state protoimpl.MessageState 411 sizeCache protoimpl.SizeCache 412 unknownFields protoimpl.UnknownFields 413 414 // Output only. The objective for each stats. 415 Objective Feature_MonitoringStatsAnomaly_Objective `protobuf:"varint,1,opt,name=objective,proto3,enum=google.cloud.aiplatform.v1beta1.Feature_MonitoringStatsAnomaly_Objective" json:"objective,omitempty"` 416 // Output only. The stats and anomalies generated at specific timestamp. 417 FeatureStatsAnomaly *FeatureStatsAnomaly `protobuf:"bytes,2,opt,name=feature_stats_anomaly,json=featureStatsAnomaly,proto3" json:"feature_stats_anomaly,omitempty"` 418 } 419 420 func (x *Feature_MonitoringStatsAnomaly) Reset() { 421 *x = Feature_MonitoringStatsAnomaly{} 422 mi := &file_google_cloud_aiplatform_v1beta1_feature_proto_msgTypes[1] 423 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 424 ms.StoreMessageInfo(mi) 425 } 426 427 func (x *Feature_MonitoringStatsAnomaly) String() string { 428 return protoimpl.X.MessageStringOf(x) 429 } 430 431 func (*Feature_MonitoringStatsAnomaly) ProtoMessage() {} 432 433 func (x *Feature_MonitoringStatsAnomaly) ProtoReflect() protoreflect.Message { 434 mi := &file_google_cloud_aiplatform_v1beta1_feature_proto_msgTypes[1] 435 if x != nil { 436 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 437 if ms.LoadMessageInfo() == nil { 438 ms.StoreMessageInfo(mi) 439 } 440 return ms 441 } 442 return mi.MessageOf(x) 443 } 444 445 // Deprecated: Use Feature_MonitoringStatsAnomaly.ProtoReflect.Descriptor instead. 446 func (*Feature_MonitoringStatsAnomaly) Descriptor() ([]byte, []int) { 447 return file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP(), []int{0, 0} 448 } 449 450 func (x *Feature_MonitoringStatsAnomaly) GetObjective() Feature_MonitoringStatsAnomaly_Objective { 451 if x != nil { 452 return x.Objective 453 } 454 return Feature_MonitoringStatsAnomaly_OBJECTIVE_UNSPECIFIED 455 } 456 457 func (x *Feature_MonitoringStatsAnomaly) GetFeatureStatsAnomaly() *FeatureStatsAnomaly { 458 if x != nil { 459 return x.FeatureStatsAnomaly 460 } 461 return nil 462 } 463 464 var File_google_cloud_aiplatform_v1beta1_feature_proto protoreflect.FileDescriptor 465 466 var file_google_cloud_aiplatform_v1beta1_feature_proto_rawDesc = []byte{ 467 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 468 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 469 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 470 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 471 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 472 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 473 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 474 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 475 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 476 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 477 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 478 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 479 0x6f, 0x74, 0x6f, 0x1a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 480 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 481 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 482 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 483 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 484 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 485 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 486 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 487 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 488 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 489 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x0e, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 490 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 491 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 492 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 493 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x0a, 0x76, 0x61, 494 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 495 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 496 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 497 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 498 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 499 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 500 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 501 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 502 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 503 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 504 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 505 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 506 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 507 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 508 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 509 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 510 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 511 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 512 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 513 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x71, 0x0a, 514 0x11, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 515 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 516 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 517 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 518 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 519 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x10, 520 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 521 0x12, 0x32, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 522 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 523 0x01, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 524 0x72, 0x69, 0x6e, 0x67, 0x12, 0x64, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 525 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 526 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 527 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 528 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 529 0x6d, 0x61, 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 530 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x82, 0x01, 0x0a, 0x1a, 0x6d, 531 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 532 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 533 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 534 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 535 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 536 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 537 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x18, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 538 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, 539 0x77, 0x0a, 0x19, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 540 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x03, 541 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 542 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 543 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 544 0x73, 0x41, 0x6e, 0x64, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 545 0x52, 0x16, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 546 0x64, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x73, 547 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 548 0x6a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 549 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6f, 0x69, 0x6e, 550 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x6b, 0x20, 0x01, 551 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x61, 552 0x63, 0x74, 0x1a, 0xd1, 0x02, 0x0a, 0x16, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 553 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x12, 0x6c, 0x0a, 554 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 555 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 556 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 557 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 558 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 559 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 560 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x6d, 0x0a, 0x15, 0x66, 561 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6e, 0x6f, 562 0x6d, 0x61, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 563 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 564 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 565 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 566 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 567 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x22, 0x5a, 0x0a, 0x09, 0x4f, 0x62, 568 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x42, 0x4a, 0x45, 0x43, 569 0x54, 0x49, 0x56, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 570 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x45, 0x41, 571 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x10, 0x01, 0x12, 572 0x15, 0x0a, 0x11, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 573 0x59, 0x53, 0x49, 0x53, 0x10, 0x02, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 574 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 575 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 576 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 577 0x01, 0x22, 0xb0, 0x01, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 578 0x1a, 0x0a, 0x16, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 579 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 580 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4f, 0x4f, 0x4c, 0x5f, 0x41, 0x52, 581 0x52, 0x41, 0x59, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 582 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x52, 0x52, 0x41, 583 0x59, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x09, 0x12, 0x0f, 584 0x0a, 0x0b, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x0a, 0x12, 585 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x53, 586 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x0c, 0x12, 0x09, 0x0a, 587 0x05, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0d, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x55, 588 0x43, 0x54, 0x10, 0x0e, 0x3a, 0x87, 0x02, 0xea, 0x41, 0x83, 0x02, 0x0a, 0x21, 0x61, 0x69, 0x70, 589 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 590 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x71, 591 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 592 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 593 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 594 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 595 0x6f, 0x72, 0x65, 0x7d, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 596 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x2f, 0x66, 597 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 598 0x7d, 0x12, 0x58, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 599 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 600 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 601 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 602 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 603 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x7d, 0x2a, 0x08, 0x66, 0x65, 0x61, 604 0x74, 0x75, 0x72, 0x65, 0x73, 0x32, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0xe3, 605 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 606 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 607 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x50, 608 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 609 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 610 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 611 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 612 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 613 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 614 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 615 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 616 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 617 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 618 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 619 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 620 } 621 622 var ( 623 file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescOnce sync.Once 624 file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_feature_proto_rawDesc 625 ) 626 627 func file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP() []byte { 628 file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescOnce.Do(func() { 629 file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescData) 630 }) 631 return file_google_cloud_aiplatform_v1beta1_feature_proto_rawDescData 632 } 633 634 var file_google_cloud_aiplatform_v1beta1_feature_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 635 var file_google_cloud_aiplatform_v1beta1_feature_proto_msgTypes = make([]protoimpl.MessageInfo, 3) 636 var file_google_cloud_aiplatform_v1beta1_feature_proto_goTypes = []any{ 637 (Feature_ValueType)(0), // 0: google.cloud.aiplatform.v1beta1.Feature.ValueType 638 (Feature_MonitoringStatsAnomaly_Objective)(0), // 1: google.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly.Objective 639 (*Feature)(nil), // 2: google.cloud.aiplatform.v1beta1.Feature 640 (*Feature_MonitoringStatsAnomaly)(nil), // 3: google.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly 641 nil, // 4: google.cloud.aiplatform.v1beta1.Feature.LabelsEntry 642 (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp 643 (*FeaturestoreMonitoringConfig)(nil), // 6: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig 644 (*FeatureStatsAnomaly)(nil), // 7: google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly 645 (*FeatureStatsAndAnomaly)(nil), // 8: google.cloud.aiplatform.v1beta1.FeatureStatsAndAnomaly 646 } 647 var file_google_cloud_aiplatform_v1beta1_feature_proto_depIdxs = []int32{ 648 0, // 0: google.cloud.aiplatform.v1beta1.Feature.value_type:type_name -> google.cloud.aiplatform.v1beta1.Feature.ValueType 649 5, // 1: google.cloud.aiplatform.v1beta1.Feature.create_time:type_name -> google.protobuf.Timestamp 650 5, // 2: google.cloud.aiplatform.v1beta1.Feature.update_time:type_name -> google.protobuf.Timestamp 651 4, // 3: google.cloud.aiplatform.v1beta1.Feature.labels:type_name -> google.cloud.aiplatform.v1beta1.Feature.LabelsEntry 652 6, // 4: google.cloud.aiplatform.v1beta1.Feature.monitoring_config:type_name -> google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig 653 7, // 5: google.cloud.aiplatform.v1beta1.Feature.monitoring_stats:type_name -> google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly 654 3, // 6: google.cloud.aiplatform.v1beta1.Feature.monitoring_stats_anomalies:type_name -> google.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly 655 8, // 7: google.cloud.aiplatform.v1beta1.Feature.feature_stats_and_anomaly:type_name -> google.cloud.aiplatform.v1beta1.FeatureStatsAndAnomaly 656 1, // 8: google.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly.objective:type_name -> google.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly.Objective 657 7, // 9: google.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly.feature_stats_anomaly:type_name -> google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly 658 10, // [10:10] is the sub-list for method output_type 659 10, // [10:10] is the sub-list for method input_type 660 10, // [10:10] is the sub-list for extension type_name 661 10, // [10:10] is the sub-list for extension extendee 662 0, // [0:10] is the sub-list for field type_name 663 } 664 665 func init() { file_google_cloud_aiplatform_v1beta1_feature_proto_init() } 666 func file_google_cloud_aiplatform_v1beta1_feature_proto_init() { 667 if File_google_cloud_aiplatform_v1beta1_feature_proto != nil { 668 return 669 } 670 file_google_cloud_aiplatform_v1beta1_feature_monitor_proto_init() 671 file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_init() 672 file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_init() 673 type x struct{} 674 out := protoimpl.TypeBuilder{ 675 File: protoimpl.DescBuilder{ 676 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 677 RawDescriptor: file_google_cloud_aiplatform_v1beta1_feature_proto_rawDesc, 678 NumEnums: 2, 679 NumMessages: 3, 680 NumExtensions: 0, 681 NumServices: 0, 682 }, 683 GoTypes: file_google_cloud_aiplatform_v1beta1_feature_proto_goTypes, 684 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_feature_proto_depIdxs, 685 EnumInfos: file_google_cloud_aiplatform_v1beta1_feature_proto_enumTypes, 686 MessageInfos: file_google_cloud_aiplatform_v1beta1_feature_proto_msgTypes, 687 }.Build() 688 File_google_cloud_aiplatform_v1beta1_feature_proto = out.File 689 file_google_cloud_aiplatform_v1beta1_feature_proto_rawDesc = nil 690 file_google_cloud_aiplatform_v1beta1_feature_proto_goTypes = nil 691 file_google_cloud_aiplatform_v1beta1_feature_proto_depIdxs = nil 692 }