1// Copyright 2021 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.26.0 18// protoc v3.12.2 19// source: google/cloud/aiplatform/v1beta1/model_monitoring.proto 20 21package aiplatform 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 _ "google.golang.org/genproto/googleapis/api/annotations" 28 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 29 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 30) 31 32const ( 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// The storage format of the predictions generated BatchPrediction job. 40type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat int32 41 42const ( 43 // Should not be set. 44 ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PREDICTION_FORMAT_UNSPECIFIED ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat = 0 45 // Predictions are in JSONL files, consistent from the definition here 46 // (http://shortn/_4bS0hL7ofb). 47 ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_JSONL ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat = 2 48 // Predictions are in BigQuery. 49 ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_BIGQUERY ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat = 3 50) 51 52// Enum value maps for ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat. 53var ( 54 ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat_name = map[int32]string{ 55 0: "PREDICTION_FORMAT_UNSPECIFIED", 56 2: "JSONL", 57 3: "BIGQUERY", 58 } 59 ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat_value = map[string]int32{ 60 "PREDICTION_FORMAT_UNSPECIFIED": 0, 61 "JSONL": 2, 62 "BIGQUERY": 3, 63 } 64) 65 66func (x ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) Enum() *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat { 67 p := new(ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) 68 *p = x 69 return p 70} 71 72func (x ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) String() string { 73 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 74} 75 76func (ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) Descriptor() protoreflect.EnumDescriptor { 77 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_enumTypes[0].Descriptor() 78} 79 80func (ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) Type() protoreflect.EnumType { 81 return &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_enumTypes[0] 82} 83 84func (x ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) Number() protoreflect.EnumNumber { 85 return protoreflect.EnumNumber(x) 86} 87 88// Deprecated: Use ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat.Descriptor instead. 89func (ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) EnumDescriptor() ([]byte, []int) { 90 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{0, 3, 0, 0} 91} 92 93// Next ID: 6 94type ModelMonitoringObjectiveConfig struct { 95 state protoimpl.MessageState 96 sizeCache protoimpl.SizeCache 97 unknownFields protoimpl.UnknownFields 98 99 // Training dataset for models. This field has to be set only if 100 // TrainingPredictionSkewDetectionConfig is specified. 101 TrainingDataset *ModelMonitoringObjectiveConfig_TrainingDataset `protobuf:"bytes,1,opt,name=training_dataset,json=trainingDataset,proto3" json:"training_dataset,omitempty"` 102 // The config for skew between training data and prediction data. 103 TrainingPredictionSkewDetectionConfig *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig `protobuf:"bytes,2,opt,name=training_prediction_skew_detection_config,json=trainingPredictionSkewDetectionConfig,proto3" json:"training_prediction_skew_detection_config,omitempty"` 104 // The config for drift of prediction data. 105 PredictionDriftDetectionConfig *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig `protobuf:"bytes,3,opt,name=prediction_drift_detection_config,json=predictionDriftDetectionConfig,proto3" json:"prediction_drift_detection_config,omitempty"` 106 // The config for integrated with Explainable AI. 107 ExplanationConfig *ModelMonitoringObjectiveConfig_ExplanationConfig `protobuf:"bytes,5,opt,name=explanation_config,json=explanationConfig,proto3" json:"explanation_config,omitempty"` 108} 109 110func (x *ModelMonitoringObjectiveConfig) Reset() { 111 *x = ModelMonitoringObjectiveConfig{} 112 if protoimpl.UnsafeEnabled { 113 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[0] 114 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 115 ms.StoreMessageInfo(mi) 116 } 117} 118 119func (x *ModelMonitoringObjectiveConfig) String() string { 120 return protoimpl.X.MessageStringOf(x) 121} 122 123func (*ModelMonitoringObjectiveConfig) ProtoMessage() {} 124 125func (x *ModelMonitoringObjectiveConfig) ProtoReflect() protoreflect.Message { 126 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[0] 127 if protoimpl.UnsafeEnabled && x != nil { 128 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 129 if ms.LoadMessageInfo() == nil { 130 ms.StoreMessageInfo(mi) 131 } 132 return ms 133 } 134 return mi.MessageOf(x) 135} 136 137// Deprecated: Use ModelMonitoringObjectiveConfig.ProtoReflect.Descriptor instead. 138func (*ModelMonitoringObjectiveConfig) Descriptor() ([]byte, []int) { 139 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{0} 140} 141 142func (x *ModelMonitoringObjectiveConfig) GetTrainingDataset() *ModelMonitoringObjectiveConfig_TrainingDataset { 143 if x != nil { 144 return x.TrainingDataset 145 } 146 return nil 147} 148 149func (x *ModelMonitoringObjectiveConfig) GetTrainingPredictionSkewDetectionConfig() *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig { 150 if x != nil { 151 return x.TrainingPredictionSkewDetectionConfig 152 } 153 return nil 154} 155 156func (x *ModelMonitoringObjectiveConfig) GetPredictionDriftDetectionConfig() *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig { 157 if x != nil { 158 return x.PredictionDriftDetectionConfig 159 } 160 return nil 161} 162 163func (x *ModelMonitoringObjectiveConfig) GetExplanationConfig() *ModelMonitoringObjectiveConfig_ExplanationConfig { 164 if x != nil { 165 return x.ExplanationConfig 166 } 167 return nil 168} 169 170// Next ID: 2 171type ModelMonitoringAlertConfig struct { 172 state protoimpl.MessageState 173 sizeCache protoimpl.SizeCache 174 unknownFields protoimpl.UnknownFields 175 176 // Types that are assignable to Alert: 177 // *ModelMonitoringAlertConfig_EmailAlertConfig_ 178 Alert isModelMonitoringAlertConfig_Alert `protobuf_oneof:"alert"` 179} 180 181func (x *ModelMonitoringAlertConfig) Reset() { 182 *x = ModelMonitoringAlertConfig{} 183 if protoimpl.UnsafeEnabled { 184 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[1] 185 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 186 ms.StoreMessageInfo(mi) 187 } 188} 189 190func (x *ModelMonitoringAlertConfig) String() string { 191 return protoimpl.X.MessageStringOf(x) 192} 193 194func (*ModelMonitoringAlertConfig) ProtoMessage() {} 195 196func (x *ModelMonitoringAlertConfig) ProtoReflect() protoreflect.Message { 197 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[1] 198 if protoimpl.UnsafeEnabled && x != nil { 199 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 200 if ms.LoadMessageInfo() == nil { 201 ms.StoreMessageInfo(mi) 202 } 203 return ms 204 } 205 return mi.MessageOf(x) 206} 207 208// Deprecated: Use ModelMonitoringAlertConfig.ProtoReflect.Descriptor instead. 209func (*ModelMonitoringAlertConfig) Descriptor() ([]byte, []int) { 210 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{1} 211} 212 213func (m *ModelMonitoringAlertConfig) GetAlert() isModelMonitoringAlertConfig_Alert { 214 if m != nil { 215 return m.Alert 216 } 217 return nil 218} 219 220func (x *ModelMonitoringAlertConfig) GetEmailAlertConfig() *ModelMonitoringAlertConfig_EmailAlertConfig { 221 if x, ok := x.GetAlert().(*ModelMonitoringAlertConfig_EmailAlertConfig_); ok { 222 return x.EmailAlertConfig 223 } 224 return nil 225} 226 227type isModelMonitoringAlertConfig_Alert interface { 228 isModelMonitoringAlertConfig_Alert() 229} 230 231type ModelMonitoringAlertConfig_EmailAlertConfig_ struct { 232 // Email alert config. 233 EmailAlertConfig *ModelMonitoringAlertConfig_EmailAlertConfig `protobuf:"bytes,1,opt,name=email_alert_config,json=emailAlertConfig,proto3,oneof"` 234} 235 236func (*ModelMonitoringAlertConfig_EmailAlertConfig_) isModelMonitoringAlertConfig_Alert() {} 237 238// The config for feature monitoring threshold. 239// Next ID: 3 240type ThresholdConfig struct { 241 state protoimpl.MessageState 242 sizeCache protoimpl.SizeCache 243 unknownFields protoimpl.UnknownFields 244 245 // Types that are assignable to Threshold: 246 // *ThresholdConfig_Value 247 Threshold isThresholdConfig_Threshold `protobuf_oneof:"threshold"` 248} 249 250func (x *ThresholdConfig) Reset() { 251 *x = ThresholdConfig{} 252 if protoimpl.UnsafeEnabled { 253 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[2] 254 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 255 ms.StoreMessageInfo(mi) 256 } 257} 258 259func (x *ThresholdConfig) String() string { 260 return protoimpl.X.MessageStringOf(x) 261} 262 263func (*ThresholdConfig) ProtoMessage() {} 264 265func (x *ThresholdConfig) ProtoReflect() protoreflect.Message { 266 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[2] 267 if protoimpl.UnsafeEnabled && x != nil { 268 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 269 if ms.LoadMessageInfo() == nil { 270 ms.StoreMessageInfo(mi) 271 } 272 return ms 273 } 274 return mi.MessageOf(x) 275} 276 277// Deprecated: Use ThresholdConfig.ProtoReflect.Descriptor instead. 278func (*ThresholdConfig) Descriptor() ([]byte, []int) { 279 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{2} 280} 281 282func (m *ThresholdConfig) GetThreshold() isThresholdConfig_Threshold { 283 if m != nil { 284 return m.Threshold 285 } 286 return nil 287} 288 289func (x *ThresholdConfig) GetValue() float64 { 290 if x, ok := x.GetThreshold().(*ThresholdConfig_Value); ok { 291 return x.Value 292 } 293 return 0 294} 295 296type isThresholdConfig_Threshold interface { 297 isThresholdConfig_Threshold() 298} 299 300type ThresholdConfig_Value struct { 301 // Specify a threshold value that can trigger the alert. 302 // If this threshold config is for feature distribution distance: 303 // 1. For categorical feature, the distribution distance is calculated by 304 // L-inifinity norm. 305 // 2. For numerical feature, the distribution distance is calculated by 306 // Jensen–Shannon divergence. 307 // Each feature must have a non-zero threshold if they need to be monitored. 308 // Otherwise no alert will be triggered for that feature. 309 Value float64 `protobuf:"fixed64,1,opt,name=value,proto3,oneof"` 310} 311 312func (*ThresholdConfig_Value) isThresholdConfig_Threshold() {} 313 314// Sampling Strategy for logging, can be for both training and prediction 315// dataset. 316// Next ID: 2 317type SamplingStrategy struct { 318 state protoimpl.MessageState 319 sizeCache protoimpl.SizeCache 320 unknownFields protoimpl.UnknownFields 321 322 // Random sample config. Will support more sampling strategies later. 323 RandomSampleConfig *SamplingStrategy_RandomSampleConfig `protobuf:"bytes,1,opt,name=random_sample_config,json=randomSampleConfig,proto3" json:"random_sample_config,omitempty"` 324} 325 326func (x *SamplingStrategy) Reset() { 327 *x = SamplingStrategy{} 328 if protoimpl.UnsafeEnabled { 329 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[3] 330 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 331 ms.StoreMessageInfo(mi) 332 } 333} 334 335func (x *SamplingStrategy) String() string { 336 return protoimpl.X.MessageStringOf(x) 337} 338 339func (*SamplingStrategy) ProtoMessage() {} 340 341func (x *SamplingStrategy) ProtoReflect() protoreflect.Message { 342 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[3] 343 if protoimpl.UnsafeEnabled && x != nil { 344 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 345 if ms.LoadMessageInfo() == nil { 346 ms.StoreMessageInfo(mi) 347 } 348 return ms 349 } 350 return mi.MessageOf(x) 351} 352 353// Deprecated: Use SamplingStrategy.ProtoReflect.Descriptor instead. 354func (*SamplingStrategy) Descriptor() ([]byte, []int) { 355 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{3} 356} 357 358func (x *SamplingStrategy) GetRandomSampleConfig() *SamplingStrategy_RandomSampleConfig { 359 if x != nil { 360 return x.RandomSampleConfig 361 } 362 return nil 363} 364 365// Training Dataset information. 366type ModelMonitoringObjectiveConfig_TrainingDataset struct { 367 state protoimpl.MessageState 368 sizeCache protoimpl.SizeCache 369 unknownFields protoimpl.UnknownFields 370 371 // Types that are assignable to DataSource: 372 // *ModelMonitoringObjectiveConfig_TrainingDataset_Dataset 373 // *ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource 374 // *ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource 375 DataSource isModelMonitoringObjectiveConfig_TrainingDataset_DataSource `protobuf_oneof:"data_source"` 376 // Data format of the dataset, only applicable if the input is from 377 // Google Cloud Storage. 378 // The possible formats are: 379 // 380 // "tf-record" 381 // The source file is a TFRecord file. 382 // 383 // "csv" 384 // The source file is a CSV file. 385 DataFormat string `protobuf:"bytes,2,opt,name=data_format,json=dataFormat,proto3" json:"data_format,omitempty"` 386 // The target field name the model is to predict. 387 // This field will be excluded when doing Predict and (or) Explain for the 388 // training data. 389 TargetField string `protobuf:"bytes,6,opt,name=target_field,json=targetField,proto3" json:"target_field,omitempty"` 390 // Strategy to sample data from Training Dataset. 391 // If not set, we process the whole dataset. 392 LoggingSamplingStrategy *SamplingStrategy `protobuf:"bytes,7,opt,name=logging_sampling_strategy,json=loggingSamplingStrategy,proto3" json:"logging_sampling_strategy,omitempty"` 393} 394 395func (x *ModelMonitoringObjectiveConfig_TrainingDataset) Reset() { 396 *x = ModelMonitoringObjectiveConfig_TrainingDataset{} 397 if protoimpl.UnsafeEnabled { 398 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[4] 399 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 400 ms.StoreMessageInfo(mi) 401 } 402} 403 404func (x *ModelMonitoringObjectiveConfig_TrainingDataset) String() string { 405 return protoimpl.X.MessageStringOf(x) 406} 407 408func (*ModelMonitoringObjectiveConfig_TrainingDataset) ProtoMessage() {} 409 410func (x *ModelMonitoringObjectiveConfig_TrainingDataset) ProtoReflect() protoreflect.Message { 411 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[4] 412 if protoimpl.UnsafeEnabled && x != nil { 413 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 414 if ms.LoadMessageInfo() == nil { 415 ms.StoreMessageInfo(mi) 416 } 417 return ms 418 } 419 return mi.MessageOf(x) 420} 421 422// Deprecated: Use ModelMonitoringObjectiveConfig_TrainingDataset.ProtoReflect.Descriptor instead. 423func (*ModelMonitoringObjectiveConfig_TrainingDataset) Descriptor() ([]byte, []int) { 424 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{0, 0} 425} 426 427func (m *ModelMonitoringObjectiveConfig_TrainingDataset) GetDataSource() isModelMonitoringObjectiveConfig_TrainingDataset_DataSource { 428 if m != nil { 429 return m.DataSource 430 } 431 return nil 432} 433 434func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetDataset() string { 435 if x, ok := x.GetDataSource().(*ModelMonitoringObjectiveConfig_TrainingDataset_Dataset); ok { 436 return x.Dataset 437 } 438 return "" 439} 440 441func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetGcsSource() *GcsSource { 442 if x, ok := x.GetDataSource().(*ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource); ok { 443 return x.GcsSource 444 } 445 return nil 446} 447 448func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetBigquerySource() *BigQuerySource { 449 if x, ok := x.GetDataSource().(*ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource); ok { 450 return x.BigquerySource 451 } 452 return nil 453} 454 455func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetDataFormat() string { 456 if x != nil { 457 return x.DataFormat 458 } 459 return "" 460} 461 462func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetTargetField() string { 463 if x != nil { 464 return x.TargetField 465 } 466 return "" 467} 468 469func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetLoggingSamplingStrategy() *SamplingStrategy { 470 if x != nil { 471 return x.LoggingSamplingStrategy 472 } 473 return nil 474} 475 476type isModelMonitoringObjectiveConfig_TrainingDataset_DataSource interface { 477 isModelMonitoringObjectiveConfig_TrainingDataset_DataSource() 478} 479 480type ModelMonitoringObjectiveConfig_TrainingDataset_Dataset struct { 481 // The resource name of the Dataset used to train this Model. 482 Dataset string `protobuf:"bytes,3,opt,name=dataset,proto3,oneof"` 483} 484 485type ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource struct { 486 // The Google Cloud Storage uri of the unmanaged Dataset used to train 487 // this Model. 488 GcsSource *GcsSource `protobuf:"bytes,4,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 489} 490 491type ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource struct { 492 // The BigQuery table of the unmanaged Dataset used to train this 493 // Model. 494 BigquerySource *BigQuerySource `protobuf:"bytes,5,opt,name=bigquery_source,json=bigquerySource,proto3,oneof"` 495} 496 497func (*ModelMonitoringObjectiveConfig_TrainingDataset_Dataset) isModelMonitoringObjectiveConfig_TrainingDataset_DataSource() { 498} 499 500func (*ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource) isModelMonitoringObjectiveConfig_TrainingDataset_DataSource() { 501} 502 503func (*ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource) isModelMonitoringObjectiveConfig_TrainingDataset_DataSource() { 504} 505 506// The config for Training & Prediction data skew detection. It specifies the 507// training dataset sources and the skew detection parameters. 508type ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig struct { 509 state protoimpl.MessageState 510 sizeCache protoimpl.SizeCache 511 unknownFields protoimpl.UnknownFields 512 513 // Key is the feature name and value is the threshold. If a feature needs to 514 // be monitored for skew, a value threshold must be configured for that 515 // feature. The threshold here is against feature distribution distance 516 // between the training and prediction feature. 517 SkewThresholds map[string]*ThresholdConfig `protobuf:"bytes,1,rep,name=skew_thresholds,json=skewThresholds,proto3" json:"skew_thresholds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 518 // Key is the feature name and value is the threshold. The threshold here is 519 // against attribution score distance between the training and prediction 520 // feature. 521 AttributionScoreSkewThresholds map[string]*ThresholdConfig `protobuf:"bytes,2,rep,name=attribution_score_skew_thresholds,json=attributionScoreSkewThresholds,proto3" json:"attribution_score_skew_thresholds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 522} 523 524func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) Reset() { 525 *x = ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig{} 526 if protoimpl.UnsafeEnabled { 527 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[5] 528 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 529 ms.StoreMessageInfo(mi) 530 } 531} 532 533func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) String() string { 534 return protoimpl.X.MessageStringOf(x) 535} 536 537func (*ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) ProtoMessage() {} 538 539func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) ProtoReflect() protoreflect.Message { 540 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[5] 541 if protoimpl.UnsafeEnabled && x != nil { 542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 543 if ms.LoadMessageInfo() == nil { 544 ms.StoreMessageInfo(mi) 545 } 546 return ms 547 } 548 return mi.MessageOf(x) 549} 550 551// Deprecated: Use ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig.ProtoReflect.Descriptor instead. 552func (*ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) Descriptor() ([]byte, []int) { 553 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{0, 1} 554} 555 556func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) GetSkewThresholds() map[string]*ThresholdConfig { 557 if x != nil { 558 return x.SkewThresholds 559 } 560 return nil 561} 562 563func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) GetAttributionScoreSkewThresholds() map[string]*ThresholdConfig { 564 if x != nil { 565 return x.AttributionScoreSkewThresholds 566 } 567 return nil 568} 569 570// The config for Prediction data drift detection. 571type ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig struct { 572 state protoimpl.MessageState 573 sizeCache protoimpl.SizeCache 574 unknownFields protoimpl.UnknownFields 575 576 // Key is the feature name and value is the threshold. If a feature needs to 577 // be monitored for drift, a value threshold must be configured for that 578 // feature. The threshold here is against feature distribution distance 579 // between different time windws. 580 DriftThresholds map[string]*ThresholdConfig `protobuf:"bytes,1,rep,name=drift_thresholds,json=driftThresholds,proto3" json:"drift_thresholds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 581 // Key is the feature name and value is the threshold. The threshold here is 582 // against attribution score distance between different time windows. 583 AttributionScoreDriftThresholds map[string]*ThresholdConfig `protobuf:"bytes,2,rep,name=attribution_score_drift_thresholds,json=attributionScoreDriftThresholds,proto3" json:"attribution_score_drift_thresholds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 584} 585 586func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) Reset() { 587 *x = ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig{} 588 if protoimpl.UnsafeEnabled { 589 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[6] 590 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 591 ms.StoreMessageInfo(mi) 592 } 593} 594 595func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) String() string { 596 return protoimpl.X.MessageStringOf(x) 597} 598 599func (*ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) ProtoMessage() {} 600 601func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) ProtoReflect() protoreflect.Message { 602 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[6] 603 if protoimpl.UnsafeEnabled && x != nil { 604 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 605 if ms.LoadMessageInfo() == nil { 606 ms.StoreMessageInfo(mi) 607 } 608 return ms 609 } 610 return mi.MessageOf(x) 611} 612 613// Deprecated: Use ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig.ProtoReflect.Descriptor instead. 614func (*ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) Descriptor() ([]byte, []int) { 615 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{0, 2} 616} 617 618func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) GetDriftThresholds() map[string]*ThresholdConfig { 619 if x != nil { 620 return x.DriftThresholds 621 } 622 return nil 623} 624 625func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) GetAttributionScoreDriftThresholds() map[string]*ThresholdConfig { 626 if x != nil { 627 return x.AttributionScoreDriftThresholds 628 } 629 return nil 630} 631 632// The config for integrated with Explainable AI. Only applicable if the Model 633// has explanation_spec populated. 634type ModelMonitoringObjectiveConfig_ExplanationConfig struct { 635 state protoimpl.MessageState 636 sizeCache protoimpl.SizeCache 637 unknownFields protoimpl.UnknownFields 638 639 // If want to analyze the Explainable AI feature attribute scores or not. 640 // If set to true, Vertex AI will log the feature attributions from 641 // explain response and do the skew/drift detection for them. 642 EnableFeatureAttributes bool `protobuf:"varint,1,opt,name=enable_feature_attributes,json=enableFeatureAttributes,proto3" json:"enable_feature_attributes,omitempty"` 643 // Predictions generated by the BatchPredictionJob using baseline dataset. 644 ExplanationBaseline *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline `protobuf:"bytes,2,opt,name=explanation_baseline,json=explanationBaseline,proto3" json:"explanation_baseline,omitempty"` 645} 646 647func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) Reset() { 648 *x = ModelMonitoringObjectiveConfig_ExplanationConfig{} 649 if protoimpl.UnsafeEnabled { 650 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[7] 651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 652 ms.StoreMessageInfo(mi) 653 } 654} 655 656func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) String() string { 657 return protoimpl.X.MessageStringOf(x) 658} 659 660func (*ModelMonitoringObjectiveConfig_ExplanationConfig) ProtoMessage() {} 661 662func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) ProtoReflect() protoreflect.Message { 663 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[7] 664 if protoimpl.UnsafeEnabled && x != nil { 665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 666 if ms.LoadMessageInfo() == nil { 667 ms.StoreMessageInfo(mi) 668 } 669 return ms 670 } 671 return mi.MessageOf(x) 672} 673 674// Deprecated: Use ModelMonitoringObjectiveConfig_ExplanationConfig.ProtoReflect.Descriptor instead. 675func (*ModelMonitoringObjectiveConfig_ExplanationConfig) Descriptor() ([]byte, []int) { 676 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{0, 3} 677} 678 679func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) GetEnableFeatureAttributes() bool { 680 if x != nil { 681 return x.EnableFeatureAttributes 682 } 683 return false 684} 685 686func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) GetExplanationBaseline() *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline { 687 if x != nil { 688 return x.ExplanationBaseline 689 } 690 return nil 691} 692 693// Output from [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob] for Model Monitoring baseline dataset, 694// which can be used to generate baseline attribution scores. 695type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline struct { 696 state protoimpl.MessageState 697 sizeCache protoimpl.SizeCache 698 unknownFields protoimpl.UnknownFields 699 700 // The configuration specifying of BatchExplain job output. This can be 701 // used to generate the baseline of feature attribution scores. 702 // 703 // Types that are assignable to Destination: 704 // *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs 705 // *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery 706 Destination isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination `protobuf_oneof:"destination"` 707 // The storage format of the predictions generated BatchPrediction job. 708 PredictionFormat ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat `protobuf:"varint,1,opt,name=prediction_format,json=predictionFormat,proto3,enum=google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat" json:"prediction_format,omitempty"` 709} 710 711func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) Reset() { 712 *x = ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline{} 713 if protoimpl.UnsafeEnabled { 714 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[12] 715 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 716 ms.StoreMessageInfo(mi) 717 } 718} 719 720func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) String() string { 721 return protoimpl.X.MessageStringOf(x) 722} 723 724func (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) ProtoMessage() {} 725 726func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) ProtoReflect() protoreflect.Message { 727 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[12] 728 if protoimpl.UnsafeEnabled && x != nil { 729 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 730 if ms.LoadMessageInfo() == nil { 731 ms.StoreMessageInfo(mi) 732 } 733 return ms 734 } 735 return mi.MessageOf(x) 736} 737 738// Deprecated: Use ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline.ProtoReflect.Descriptor instead. 739func (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) Descriptor() ([]byte, []int) { 740 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{0, 3, 0} 741} 742 743func (m *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) GetDestination() isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination { 744 if m != nil { 745 return m.Destination 746 } 747 return nil 748} 749 750func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) GetGcs() *GcsDestination { 751 if x, ok := x.GetDestination().(*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs); ok { 752 return x.Gcs 753 } 754 return nil 755} 756 757func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) GetBigquery() *BigQueryDestination { 758 if x, ok := x.GetDestination().(*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery); ok { 759 return x.Bigquery 760 } 761 return nil 762} 763 764func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) GetPredictionFormat() ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat { 765 if x != nil { 766 return x.PredictionFormat 767 } 768 return ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PREDICTION_FORMAT_UNSPECIFIED 769} 770 771type isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination interface { 772 isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination() 773} 774 775type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs struct { 776 // Cloud Storage location for BatchExplain output. 777 Gcs *GcsDestination `protobuf:"bytes,2,opt,name=gcs,proto3,oneof"` 778} 779 780type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery struct { 781 // BigQuery location for BatchExplain output. 782 Bigquery *BigQueryDestination `protobuf:"bytes,3,opt,name=bigquery,proto3,oneof"` 783} 784 785func (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs) isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination() { 786} 787 788func (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery) isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination() { 789} 790 791// The config for email alert. 792type ModelMonitoringAlertConfig_EmailAlertConfig struct { 793 state protoimpl.MessageState 794 sizeCache protoimpl.SizeCache 795 unknownFields protoimpl.UnknownFields 796 797 // The email addresses to send the alert. 798 UserEmails []string `protobuf:"bytes,1,rep,name=user_emails,json=userEmails,proto3" json:"user_emails,omitempty"` 799} 800 801func (x *ModelMonitoringAlertConfig_EmailAlertConfig) Reset() { 802 *x = ModelMonitoringAlertConfig_EmailAlertConfig{} 803 if protoimpl.UnsafeEnabled { 804 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[13] 805 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 806 ms.StoreMessageInfo(mi) 807 } 808} 809 810func (x *ModelMonitoringAlertConfig_EmailAlertConfig) String() string { 811 return protoimpl.X.MessageStringOf(x) 812} 813 814func (*ModelMonitoringAlertConfig_EmailAlertConfig) ProtoMessage() {} 815 816func (x *ModelMonitoringAlertConfig_EmailAlertConfig) ProtoReflect() protoreflect.Message { 817 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[13] 818 if protoimpl.UnsafeEnabled && x != nil { 819 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 820 if ms.LoadMessageInfo() == nil { 821 ms.StoreMessageInfo(mi) 822 } 823 return ms 824 } 825 return mi.MessageOf(x) 826} 827 828// Deprecated: Use ModelMonitoringAlertConfig_EmailAlertConfig.ProtoReflect.Descriptor instead. 829func (*ModelMonitoringAlertConfig_EmailAlertConfig) Descriptor() ([]byte, []int) { 830 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{1, 0} 831} 832 833func (x *ModelMonitoringAlertConfig_EmailAlertConfig) GetUserEmails() []string { 834 if x != nil { 835 return x.UserEmails 836 } 837 return nil 838} 839 840// Requests are randomly selected. 841type SamplingStrategy_RandomSampleConfig struct { 842 state protoimpl.MessageState 843 sizeCache protoimpl.SizeCache 844 unknownFields protoimpl.UnknownFields 845 846 // Sample rate (0, 1] 847 SampleRate float64 `protobuf:"fixed64,1,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"` 848} 849 850func (x *SamplingStrategy_RandomSampleConfig) Reset() { 851 *x = SamplingStrategy_RandomSampleConfig{} 852 if protoimpl.UnsafeEnabled { 853 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[14] 854 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 855 ms.StoreMessageInfo(mi) 856 } 857} 858 859func (x *SamplingStrategy_RandomSampleConfig) String() string { 860 return protoimpl.X.MessageStringOf(x) 861} 862 863func (*SamplingStrategy_RandomSampleConfig) ProtoMessage() {} 864 865func (x *SamplingStrategy_RandomSampleConfig) ProtoReflect() protoreflect.Message { 866 mi := &file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[14] 867 if protoimpl.UnsafeEnabled && x != nil { 868 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 869 if ms.LoadMessageInfo() == nil { 870 ms.StoreMessageInfo(mi) 871 } 872 return ms 873 } 874 return mi.MessageOf(x) 875} 876 877// Deprecated: Use SamplingStrategy_RandomSampleConfig.ProtoReflect.Descriptor instead. 878func (*SamplingStrategy_RandomSampleConfig) Descriptor() ([]byte, []int) { 879 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{3, 0} 880} 881 882func (x *SamplingStrategy_RandomSampleConfig) GetSampleRate() float64 { 883 if x != nil { 884 return x.SampleRate 885 } 886 return 0 887} 888 889var File_google_cloud_aiplatform_v1beta1_model_monitoring_proto protoreflect.FileDescriptor 890 891var file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc = []byte{ 892 0x0a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 893 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 894 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 895 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 896 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 897 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 898 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 899 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 900 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 901 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 902 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 903 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x18, 0x0a, 904 0x1e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 905 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 906 0x7a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 907 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 908 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 909 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 910 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 911 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 912 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x69, 913 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0xbf, 0x01, 0x0a, 0x29, 914 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 915 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6b, 0x65, 0x77, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 916 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 917 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 918 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 919 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 920 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 921 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 922 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x65, 0x77, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 923 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x25, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 924 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x65, 0x77, 0x44, 0x65, 925 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xa9, 0x01, 926 0x0a, 0x21, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x69, 927 0x66, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 928 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 929 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 930 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 931 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 932 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 933 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x69, 0x66, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 934 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1e, 0x70, 0x72, 0x65, 0x64, 0x69, 935 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x69, 0x66, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 936 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x80, 0x01, 0x0a, 0x12, 0x65, 0x78, 937 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 938 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 939 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 940 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 941 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 942 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 943 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x65, 0x78, 0x70, 0x6c, 0x61, 944 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc0, 0x03, 0x0a, 945 0x0f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 946 0x12, 0x42, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 947 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 948 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 949 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x64, 0x61, 0x74, 950 0x61, 0x73, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 951 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 952 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 953 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 954 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 955 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 956 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 957 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 958 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, 0x67, 959 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, 960 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 961 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 962 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x21, 963 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x06, 964 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 965 0x64, 0x12, 0x6d, 0x0a, 0x19, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x61, 0x6d, 966 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x07, 967 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 968 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 969 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 970 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x17, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 971 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 972 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 973 0x9f, 0x05, 0x0a, 0x25, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 974 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x65, 0x77, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 975 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xa2, 0x01, 0x0a, 0x0f, 0x73, 0x6b, 976 0x65, 0x77, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 977 0x03, 0x28, 0x0b, 0x32, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 978 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 979 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 980 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 981 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 982 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x65, 0x77, 0x44, 0x65, 0x74, 0x65, 0x63, 983 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x6b, 0x65, 0x77, 0x54, 984 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 985 0x73, 0x6b, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0xd5, 986 0x01, 0x0a, 0x21, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 987 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x65, 0x77, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 988 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x89, 0x01, 0x2e, 0x67, 0x6f, 989 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 990 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 991 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 992 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 993 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 994 0x6b, 0x65, 0x77, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 995 0x69, 0x67, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 996 0x6f, 0x72, 0x65, 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 997 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 998 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, 999 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x1a, 0x73, 0x0a, 0x13, 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, 1000 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 1001 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 1002 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 1003 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1004 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1005 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1006 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x83, 0x01, 0x0a, 0x23, 1007 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 1008 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 1009 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1010 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 1011 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1012 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1013 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 1014 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 1015 0x01, 0x1a, 0x92, 0x05, 0x0a, 0x1e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 1016 0x44, 0x72, 0x69, 0x66, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 1017 0x6e, 0x66, 0x69, 0x67, 0x12, 0x9e, 0x01, 0x0a, 0x10, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x74, 1018 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 1019 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 1020 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1021 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 1022 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1023 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x69, 0x66, 0x74, 1024 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 1025 0x44, 0x72, 0x69, 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 1026 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 1027 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0xd1, 0x01, 0x0a, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 1028 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x66, 1029 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 1030 0x28, 0x0b, 0x32, 0x83, 0x01, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1031 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1032 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 1033 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 1034 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 1035 0x72, 0x69, 0x66, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 1036 0x66, 0x69, 0x67, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 1037 0x63, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 1038 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 1039 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x66, 0x74, 0x54, 1040 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x1a, 0x74, 0x0a, 0x14, 0x44, 0x72, 0x69, 1041 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 1042 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 1043 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 1044 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1045 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 1046 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 1047 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 1048 0x84, 0x01, 0x0a, 0x24, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 1049 0x63, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 1050 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 1051 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 1052 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1053 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1054 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 1055 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 1056 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xa0, 0x05, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6c, 0x61, 1057 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x19, 1058 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 1059 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 1060 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, 1061 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x14, 0x65, 0x78, 0x70, 1062 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 1063 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1064 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1065 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 1066 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 1067 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 1068 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 1069 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x13, 1070 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x6c, 1071 0x69, 0x6e, 0x65, 0x1a, 0xb3, 0x03, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 1072 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x43, 0x0a, 0x03, 0x67, 1073 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1074 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1075 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 1076 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x67, 0x63, 0x73, 1077 0x12, 0x52, 0x0a, 0x08, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 1078 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1079 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 1080 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 1081 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x62, 0x69, 0x67, 0x71, 1082 0x75, 0x65, 0x72, 0x79, 0x12, 0xa3, 0x01, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 1083 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 1084 0x32, 0x76, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1085 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1086 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 1087 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 1088 0x67, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 1089 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 1090 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 1091 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 1092 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x4e, 0x0a, 0x10, 0x50, 0x72, 1093 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x21, 1094 0x0a, 0x1d, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 1095 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 1096 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4a, 0x53, 0x4f, 0x4e, 0x4c, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 1097 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x03, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 1098 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd8, 0x01, 0x0a, 0x1a, 0x4d, 0x6f, 1099 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 1100 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7c, 0x0a, 0x12, 0x65, 0x6d, 0x61, 0x69, 1101 0x6c, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 1102 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1103 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1104 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 1105 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 1106 0x67, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 1107 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 1108 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x33, 0x0a, 0x10, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 1109 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 1110 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 1111 0x0a, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x61, 1112 0x6c, 0x65, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 1113 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 1114 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 1115 0x0b, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xc1, 0x01, 0x0a, 1116 0x10, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1117 0x79, 0x12, 0x76, 0x0a, 0x14, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 1118 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 1119 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 1120 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1121 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 1122 0x67, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 1123 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 1124 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x35, 0x0a, 0x12, 0x52, 0x61, 0x6e, 1125 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 1126 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 1127 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 1128 0x42, 0xf1, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1129 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1130 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 1131 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 1132 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 1133 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 1134 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 1135 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1136 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 1137 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 1138 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 1139 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 1140 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 1141 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 1142 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 1143 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1144} 1145 1146var ( 1147 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescOnce sync.Once 1148 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc 1149) 1150 1151func file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP() []byte { 1152 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescOnce.Do(func() { 1153 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescData) 1154 }) 1155 return file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescData 1156} 1157 1158var file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 1159var file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes = make([]protoimpl.MessageInfo, 15) 1160var file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_goTypes = []interface{}{ 1161 (ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat)(0), // 0: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.PredictionFormat 1162 (*ModelMonitoringObjectiveConfig)(nil), // 1: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig 1163 (*ModelMonitoringAlertConfig)(nil), // 2: google.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig 1164 (*ThresholdConfig)(nil), // 3: google.cloud.aiplatform.v1beta1.ThresholdConfig 1165 (*SamplingStrategy)(nil), // 4: google.cloud.aiplatform.v1beta1.SamplingStrategy 1166 (*ModelMonitoringObjectiveConfig_TrainingDataset)(nil), // 5: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset 1167 (*ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig)(nil), // 6: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig 1168 (*ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig)(nil), // 7: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig 1169 (*ModelMonitoringObjectiveConfig_ExplanationConfig)(nil), // 8: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig 1170 nil, // 9: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.SkewThresholdsEntry 1171 nil, // 10: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.AttributionScoreSkewThresholdsEntry 1172 nil, // 11: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.DriftThresholdsEntry 1173 nil, // 12: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.AttributionScoreDriftThresholdsEntry 1174 (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline)(nil), // 13: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline 1175 (*ModelMonitoringAlertConfig_EmailAlertConfig)(nil), // 14: google.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig.EmailAlertConfig 1176 (*SamplingStrategy_RandomSampleConfig)(nil), // 15: google.cloud.aiplatform.v1beta1.SamplingStrategy.RandomSampleConfig 1177 (*GcsSource)(nil), // 16: google.cloud.aiplatform.v1beta1.GcsSource 1178 (*BigQuerySource)(nil), // 17: google.cloud.aiplatform.v1beta1.BigQuerySource 1179 (*GcsDestination)(nil), // 18: google.cloud.aiplatform.v1beta1.GcsDestination 1180 (*BigQueryDestination)(nil), // 19: google.cloud.aiplatform.v1beta1.BigQueryDestination 1181} 1182var file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_depIdxs = []int32{ 1183 5, // 0: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.training_dataset:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset 1184 6, // 1: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.training_prediction_skew_detection_config:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig 1185 7, // 2: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.prediction_drift_detection_config:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig 1186 8, // 3: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.explanation_config:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig 1187 14, // 4: google.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig.email_alert_config:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig.EmailAlertConfig 1188 15, // 5: google.cloud.aiplatform.v1beta1.SamplingStrategy.random_sample_config:type_name -> google.cloud.aiplatform.v1beta1.SamplingStrategy.RandomSampleConfig 1189 16, // 6: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource 1190 17, // 7: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset.bigquery_source:type_name -> google.cloud.aiplatform.v1beta1.BigQuerySource 1191 4, // 8: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset.logging_sampling_strategy:type_name -> google.cloud.aiplatform.v1beta1.SamplingStrategy 1192 9, // 9: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.skew_thresholds:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.SkewThresholdsEntry 1193 10, // 10: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.attribution_score_skew_thresholds:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.AttributionScoreSkewThresholdsEntry 1194 11, // 11: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.drift_thresholds:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.DriftThresholdsEntry 1195 12, // 12: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.attribution_score_drift_thresholds:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.AttributionScoreDriftThresholdsEntry 1196 13, // 13: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.explanation_baseline:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline 1197 3, // 14: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.SkewThresholdsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ThresholdConfig 1198 3, // 15: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.AttributionScoreSkewThresholdsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ThresholdConfig 1199 3, // 16: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.DriftThresholdsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ThresholdConfig 1200 3, // 17: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.AttributionScoreDriftThresholdsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ThresholdConfig 1201 18, // 18: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.gcs:type_name -> google.cloud.aiplatform.v1beta1.GcsDestination 1202 19, // 19: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.bigquery:type_name -> google.cloud.aiplatform.v1beta1.BigQueryDestination 1203 0, // 20: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.prediction_format:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.PredictionFormat 1204 21, // [21:21] is the sub-list for method output_type 1205 21, // [21:21] is the sub-list for method input_type 1206 21, // [21:21] is the sub-list for extension type_name 1207 21, // [21:21] is the sub-list for extension extendee 1208 0, // [0:21] is the sub-list for field type_name 1209} 1210 1211func init() { file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_init() } 1212func file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_init() { 1213 if File_google_cloud_aiplatform_v1beta1_model_monitoring_proto != nil { 1214 return 1215 } 1216 file_google_cloud_aiplatform_v1beta1_io_proto_init() 1217 if !protoimpl.UnsafeEnabled { 1218 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1219 switch v := v.(*ModelMonitoringObjectiveConfig); i { 1220 case 0: 1221 return &v.state 1222 case 1: 1223 return &v.sizeCache 1224 case 2: 1225 return &v.unknownFields 1226 default: 1227 return nil 1228 } 1229 } 1230 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1231 switch v := v.(*ModelMonitoringAlertConfig); i { 1232 case 0: 1233 return &v.state 1234 case 1: 1235 return &v.sizeCache 1236 case 2: 1237 return &v.unknownFields 1238 default: 1239 return nil 1240 } 1241 } 1242 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1243 switch v := v.(*ThresholdConfig); i { 1244 case 0: 1245 return &v.state 1246 case 1: 1247 return &v.sizeCache 1248 case 2: 1249 return &v.unknownFields 1250 default: 1251 return nil 1252 } 1253 } 1254 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1255 switch v := v.(*SamplingStrategy); i { 1256 case 0: 1257 return &v.state 1258 case 1: 1259 return &v.sizeCache 1260 case 2: 1261 return &v.unknownFields 1262 default: 1263 return nil 1264 } 1265 } 1266 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1267 switch v := v.(*ModelMonitoringObjectiveConfig_TrainingDataset); i { 1268 case 0: 1269 return &v.state 1270 case 1: 1271 return &v.sizeCache 1272 case 2: 1273 return &v.unknownFields 1274 default: 1275 return nil 1276 } 1277 } 1278 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1279 switch v := v.(*ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig); i { 1280 case 0: 1281 return &v.state 1282 case 1: 1283 return &v.sizeCache 1284 case 2: 1285 return &v.unknownFields 1286 default: 1287 return nil 1288 } 1289 } 1290 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1291 switch v := v.(*ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig); i { 1292 case 0: 1293 return &v.state 1294 case 1: 1295 return &v.sizeCache 1296 case 2: 1297 return &v.unknownFields 1298 default: 1299 return nil 1300 } 1301 } 1302 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1303 switch v := v.(*ModelMonitoringObjectiveConfig_ExplanationConfig); i { 1304 case 0: 1305 return &v.state 1306 case 1: 1307 return &v.sizeCache 1308 case 2: 1309 return &v.unknownFields 1310 default: 1311 return nil 1312 } 1313 } 1314 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 1315 switch v := v.(*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline); i { 1316 case 0: 1317 return &v.state 1318 case 1: 1319 return &v.sizeCache 1320 case 2: 1321 return &v.unknownFields 1322 default: 1323 return nil 1324 } 1325 } 1326 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 1327 switch v := v.(*ModelMonitoringAlertConfig_EmailAlertConfig); i { 1328 case 0: 1329 return &v.state 1330 case 1: 1331 return &v.sizeCache 1332 case 2: 1333 return &v.unknownFields 1334 default: 1335 return nil 1336 } 1337 } 1338 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 1339 switch v := v.(*SamplingStrategy_RandomSampleConfig); i { 1340 case 0: 1341 return &v.state 1342 case 1: 1343 return &v.sizeCache 1344 case 2: 1345 return &v.unknownFields 1346 default: 1347 return nil 1348 } 1349 } 1350 } 1351 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[1].OneofWrappers = []interface{}{ 1352 (*ModelMonitoringAlertConfig_EmailAlertConfig_)(nil), 1353 } 1354 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[2].OneofWrappers = []interface{}{ 1355 (*ThresholdConfig_Value)(nil), 1356 } 1357 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[4].OneofWrappers = []interface{}{ 1358 (*ModelMonitoringObjectiveConfig_TrainingDataset_Dataset)(nil), 1359 (*ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource)(nil), 1360 (*ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource)(nil), 1361 } 1362 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[12].OneofWrappers = []interface{}{ 1363 (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs)(nil), 1364 (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery)(nil), 1365 } 1366 type x struct{} 1367 out := protoimpl.TypeBuilder{ 1368 File: protoimpl.DescBuilder{ 1369 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1370 RawDescriptor: file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc, 1371 NumEnums: 1, 1372 NumMessages: 15, 1373 NumExtensions: 0, 1374 NumServices: 0, 1375 }, 1376 GoTypes: file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_goTypes, 1377 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_depIdxs, 1378 EnumInfos: file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_enumTypes, 1379 MessageInfos: file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes, 1380 }.Build() 1381 File_google_cloud_aiplatform_v1beta1_model_monitoring_proto = out.File 1382 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc = nil 1383 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_goTypes = nil 1384 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_depIdxs = nil 1385} 1386