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.25.0-devel 18// protoc v3.12.2 19// source: google/cloud/aiplatform/v1beta1/model_deployment_monitoring_job.proto 20 21package aiplatform 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 proto "github.com/golang/protobuf/proto" 28 _ "google.golang.org/genproto/googleapis/api/annotations" 29 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 30 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 31 durationpb "google.golang.org/protobuf/types/known/durationpb" 32 structpb "google.golang.org/protobuf/types/known/structpb" 33 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 34) 35 36const ( 37 // Verify that this generated code is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 39 // Verify that runtime/protoimpl is sufficiently up-to-date. 40 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 41) 42 43// This is a compile-time assertion that a sufficiently up-to-date version 44// of the legacy proto package is being used. 45const _ = proto.ProtoPackageIsVersion4 46 47// The Model Monitoring Objective types. 48type ModelDeploymentMonitoringObjectiveType int32 49 50const ( 51 // Default value, should not be set. 52 ModelDeploymentMonitoringObjectiveType_MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED ModelDeploymentMonitoringObjectiveType = 0 53 // Raw feature values' stats to detect skew between Training-Prediction 54 // datasets. 55 ModelDeploymentMonitoringObjectiveType_RAW_FEATURE_SKEW ModelDeploymentMonitoringObjectiveType = 1 56 // Raw feature values' stats to detect drift between Serving-Prediction 57 // datasets. 58 ModelDeploymentMonitoringObjectiveType_RAW_FEATURE_DRIFT ModelDeploymentMonitoringObjectiveType = 2 59 // Feature attribution scores to detect skew between Training-Prediction 60 // datasets. 61 ModelDeploymentMonitoringObjectiveType_FEATURE_ATTRIBUTION_SKEW ModelDeploymentMonitoringObjectiveType = 3 62 // Feature attribution scores to detect skew between Prediction datasets 63 // collected within different time windows. 64 ModelDeploymentMonitoringObjectiveType_FEATURE_ATTRIBUTION_DRIFT ModelDeploymentMonitoringObjectiveType = 4 65) 66 67// Enum value maps for ModelDeploymentMonitoringObjectiveType. 68var ( 69 ModelDeploymentMonitoringObjectiveType_name = map[int32]string{ 70 0: "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", 71 1: "RAW_FEATURE_SKEW", 72 2: "RAW_FEATURE_DRIFT", 73 3: "FEATURE_ATTRIBUTION_SKEW", 74 4: "FEATURE_ATTRIBUTION_DRIFT", 75 } 76 ModelDeploymentMonitoringObjectiveType_value = map[string]int32{ 77 "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED": 0, 78 "RAW_FEATURE_SKEW": 1, 79 "RAW_FEATURE_DRIFT": 2, 80 "FEATURE_ATTRIBUTION_SKEW": 3, 81 "FEATURE_ATTRIBUTION_DRIFT": 4, 82 } 83) 84 85func (x ModelDeploymentMonitoringObjectiveType) Enum() *ModelDeploymentMonitoringObjectiveType { 86 p := new(ModelDeploymentMonitoringObjectiveType) 87 *p = x 88 return p 89} 90 91func (x ModelDeploymentMonitoringObjectiveType) String() string { 92 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 93} 94 95func (ModelDeploymentMonitoringObjectiveType) Descriptor() protoreflect.EnumDescriptor { 96 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[0].Descriptor() 97} 98 99func (ModelDeploymentMonitoringObjectiveType) Type() protoreflect.EnumType { 100 return &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[0] 101} 102 103func (x ModelDeploymentMonitoringObjectiveType) Number() protoreflect.EnumNumber { 104 return protoreflect.EnumNumber(x) 105} 106 107// Deprecated: Use ModelDeploymentMonitoringObjectiveType.Descriptor instead. 108func (ModelDeploymentMonitoringObjectiveType) EnumDescriptor() ([]byte, []int) { 109 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{0} 110} 111 112// The state to Specify the monitoring pipeline. 113type ModelDeploymentMonitoringJob_MonitoringScheduleState int32 114 115const ( 116 // Unspecified state. 117 ModelDeploymentMonitoringJob_MONITORING_SCHEDULE_STATE_UNSPECIFIED ModelDeploymentMonitoringJob_MonitoringScheduleState = 0 118 // The pipeline is picked up and wait to run. 119 ModelDeploymentMonitoringJob_PENDING ModelDeploymentMonitoringJob_MonitoringScheduleState = 1 120 // The pipeline is offline and will be scheduled for next run. 121 ModelDeploymentMonitoringJob_OFFLINE ModelDeploymentMonitoringJob_MonitoringScheduleState = 2 122 // The pipeline is running. 123 ModelDeploymentMonitoringJob_RUNNING ModelDeploymentMonitoringJob_MonitoringScheduleState = 3 124) 125 126// Enum value maps for ModelDeploymentMonitoringJob_MonitoringScheduleState. 127var ( 128 ModelDeploymentMonitoringJob_MonitoringScheduleState_name = map[int32]string{ 129 0: "MONITORING_SCHEDULE_STATE_UNSPECIFIED", 130 1: "PENDING", 131 2: "OFFLINE", 132 3: "RUNNING", 133 } 134 ModelDeploymentMonitoringJob_MonitoringScheduleState_value = map[string]int32{ 135 "MONITORING_SCHEDULE_STATE_UNSPECIFIED": 0, 136 "PENDING": 1, 137 "OFFLINE": 2, 138 "RUNNING": 3, 139 } 140) 141 142func (x ModelDeploymentMonitoringJob_MonitoringScheduleState) Enum() *ModelDeploymentMonitoringJob_MonitoringScheduleState { 143 p := new(ModelDeploymentMonitoringJob_MonitoringScheduleState) 144 *p = x 145 return p 146} 147 148func (x ModelDeploymentMonitoringJob_MonitoringScheduleState) String() string { 149 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 150} 151 152func (ModelDeploymentMonitoringJob_MonitoringScheduleState) Descriptor() protoreflect.EnumDescriptor { 153 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[1].Descriptor() 154} 155 156func (ModelDeploymentMonitoringJob_MonitoringScheduleState) Type() protoreflect.EnumType { 157 return &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[1] 158} 159 160func (x ModelDeploymentMonitoringJob_MonitoringScheduleState) Number() protoreflect.EnumNumber { 161 return protoreflect.EnumNumber(x) 162} 163 164// Deprecated: Use ModelDeploymentMonitoringJob_MonitoringScheduleState.Descriptor instead. 165func (ModelDeploymentMonitoringJob_MonitoringScheduleState) EnumDescriptor() ([]byte, []int) { 166 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{0, 0} 167} 168 169// Indicates where does the log come from. 170type ModelDeploymentMonitoringBigQueryTable_LogSource int32 171 172const ( 173 // Unspecified source. 174 ModelDeploymentMonitoringBigQueryTable_LOG_SOURCE_UNSPECIFIED ModelDeploymentMonitoringBigQueryTable_LogSource = 0 175 // Logs coming from Training dataset. 176 ModelDeploymentMonitoringBigQueryTable_TRAINING ModelDeploymentMonitoringBigQueryTable_LogSource = 1 177 // Logs coming from Serving traffic. 178 ModelDeploymentMonitoringBigQueryTable_SERVING ModelDeploymentMonitoringBigQueryTable_LogSource = 2 179) 180 181// Enum value maps for ModelDeploymentMonitoringBigQueryTable_LogSource. 182var ( 183 ModelDeploymentMonitoringBigQueryTable_LogSource_name = map[int32]string{ 184 0: "LOG_SOURCE_UNSPECIFIED", 185 1: "TRAINING", 186 2: "SERVING", 187 } 188 ModelDeploymentMonitoringBigQueryTable_LogSource_value = map[string]int32{ 189 "LOG_SOURCE_UNSPECIFIED": 0, 190 "TRAINING": 1, 191 "SERVING": 2, 192 } 193) 194 195func (x ModelDeploymentMonitoringBigQueryTable_LogSource) Enum() *ModelDeploymentMonitoringBigQueryTable_LogSource { 196 p := new(ModelDeploymentMonitoringBigQueryTable_LogSource) 197 *p = x 198 return p 199} 200 201func (x ModelDeploymentMonitoringBigQueryTable_LogSource) String() string { 202 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 203} 204 205func (ModelDeploymentMonitoringBigQueryTable_LogSource) Descriptor() protoreflect.EnumDescriptor { 206 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[2].Descriptor() 207} 208 209func (ModelDeploymentMonitoringBigQueryTable_LogSource) Type() protoreflect.EnumType { 210 return &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[2] 211} 212 213func (x ModelDeploymentMonitoringBigQueryTable_LogSource) Number() protoreflect.EnumNumber { 214 return protoreflect.EnumNumber(x) 215} 216 217// Deprecated: Use ModelDeploymentMonitoringBigQueryTable_LogSource.Descriptor instead. 218func (ModelDeploymentMonitoringBigQueryTable_LogSource) EnumDescriptor() ([]byte, []int) { 219 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{1, 0} 220} 221 222// Indicates what type of traffic does the log belong to. 223type ModelDeploymentMonitoringBigQueryTable_LogType int32 224 225const ( 226 // Unspecified type. 227 ModelDeploymentMonitoringBigQueryTable_LOG_TYPE_UNSPECIFIED ModelDeploymentMonitoringBigQueryTable_LogType = 0 228 // Predict logs. 229 ModelDeploymentMonitoringBigQueryTable_PREDICT ModelDeploymentMonitoringBigQueryTable_LogType = 1 230 // Explain logs. 231 ModelDeploymentMonitoringBigQueryTable_EXPLAIN ModelDeploymentMonitoringBigQueryTable_LogType = 2 232) 233 234// Enum value maps for ModelDeploymentMonitoringBigQueryTable_LogType. 235var ( 236 ModelDeploymentMonitoringBigQueryTable_LogType_name = map[int32]string{ 237 0: "LOG_TYPE_UNSPECIFIED", 238 1: "PREDICT", 239 2: "EXPLAIN", 240 } 241 ModelDeploymentMonitoringBigQueryTable_LogType_value = map[string]int32{ 242 "LOG_TYPE_UNSPECIFIED": 0, 243 "PREDICT": 1, 244 "EXPLAIN": 2, 245 } 246) 247 248func (x ModelDeploymentMonitoringBigQueryTable_LogType) Enum() *ModelDeploymentMonitoringBigQueryTable_LogType { 249 p := new(ModelDeploymentMonitoringBigQueryTable_LogType) 250 *p = x 251 return p 252} 253 254func (x ModelDeploymentMonitoringBigQueryTable_LogType) String() string { 255 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 256} 257 258func (ModelDeploymentMonitoringBigQueryTable_LogType) Descriptor() protoreflect.EnumDescriptor { 259 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[3].Descriptor() 260} 261 262func (ModelDeploymentMonitoringBigQueryTable_LogType) Type() protoreflect.EnumType { 263 return &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[3] 264} 265 266func (x ModelDeploymentMonitoringBigQueryTable_LogType) Number() protoreflect.EnumNumber { 267 return protoreflect.EnumNumber(x) 268} 269 270// Deprecated: Use ModelDeploymentMonitoringBigQueryTable_LogType.Descriptor instead. 271func (ModelDeploymentMonitoringBigQueryTable_LogType) EnumDescriptor() ([]byte, []int) { 272 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{1, 1} 273} 274 275// Represents a job that runs periodically to monitor the deployed models in an 276// endpoint. It will analyze the logged training & prediction data to detect any 277// abnormal behaviors. 278type ModelDeploymentMonitoringJob struct { 279 state protoimpl.MessageState 280 sizeCache protoimpl.SizeCache 281 unknownFields protoimpl.UnknownFields 282 283 // Output only. Resource name of a ModelDeploymentMonitoringJob. 284 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 285 // Required. The user-defined name of the ModelDeploymentMonitoringJob. 286 // The name can be up to 128 characters long and can be consist of any UTF-8 287 // characters. 288 // Display name of a ModelDeploymentMonitoringJob. 289 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 290 // Required. Endpoint resource name. 291 // Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` 292 Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 293 // Output only. The detailed state of the monitoring job. 294 // When the job is still creating, the state will be 'PENDING'. 295 // Once the job is successfully created, the state will be 'RUNNING'. 296 // Pause the job, the state will be 'PAUSED'. 297 // Resume the job, the state will return to 'RUNNING'. 298 State JobState `protobuf:"varint,4,opt,name=state,proto3,enum=google.cloud.aiplatform.v1beta1.JobState" json:"state,omitempty"` 299 // Output only. Schedule state when the monitoring job is in Running state. 300 ScheduleState ModelDeploymentMonitoringJob_MonitoringScheduleState `protobuf:"varint,5,opt,name=schedule_state,json=scheduleState,proto3,enum=google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob_MonitoringScheduleState" json:"schedule_state,omitempty"` 301 // Required. The config for monitoring objectives. This is a per DeployedModel config. 302 // Each DeployedModel needs to be configed separately. 303 ModelDeploymentMonitoringObjectiveConfigs []*ModelDeploymentMonitoringObjectiveConfig `protobuf:"bytes,6,rep,name=model_deployment_monitoring_objective_configs,json=modelDeploymentMonitoringObjectiveConfigs,proto3" json:"model_deployment_monitoring_objective_configs,omitempty"` 304 // Required. Schedule config for running the monitoring job. 305 ModelDeploymentMonitoringScheduleConfig *ModelDeploymentMonitoringScheduleConfig `protobuf:"bytes,7,opt,name=model_deployment_monitoring_schedule_config,json=modelDeploymentMonitoringScheduleConfig,proto3" json:"model_deployment_monitoring_schedule_config,omitempty"` 306 // Required. Sample Strategy for logging. 307 LoggingSamplingStrategy *SamplingStrategy `protobuf:"bytes,8,opt,name=logging_sampling_strategy,json=loggingSamplingStrategy,proto3" json:"logging_sampling_strategy,omitempty"` 308 // Alert config for model monitoring. 309 ModelMonitoringAlertConfig *ModelMonitoringAlertConfig `protobuf:"bytes,15,opt,name=model_monitoring_alert_config,json=modelMonitoringAlertConfig,proto3" json:"model_monitoring_alert_config,omitempty"` 310 // YAML schema file uri describing the format of a single instance, 311 // which are given to format this Endpoint's prediction (and explanation). 312 // If not set, we will generate predict schema from collected predict 313 // requests. 314 PredictInstanceSchemaUri string `protobuf:"bytes,9,opt,name=predict_instance_schema_uri,json=predictInstanceSchemaUri,proto3" json:"predict_instance_schema_uri,omitempty"` 315 // Sample Predict instance, same format as [PredictRequest.instances][google.cloud.aiplatform.v1beta1.PredictRequest.instances], 316 // this can be set as a replacement of 317 // [ModelDeploymentMonitoringJob.predict_instance_schema_uri][google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.predict_instance_schema_uri]. If not set, 318 // we will generate predict schema from collected predict requests. 319 SamplePredictInstance *structpb.Value `protobuf:"bytes,19,opt,name=sample_predict_instance,json=samplePredictInstance,proto3" json:"sample_predict_instance,omitempty"` 320 // YAML schema file uri describing the format of a single instance that you 321 // want Tensorflow Data Validation (TFDV) to analyze. 322 // 323 // If this field is empty, all the feature data types are inferred from 324 // [predict_instance_schema_uri][google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.predict_instance_schema_uri], 325 // meaning that TFDV will use the data in the exact format(data type) as 326 // prediction request/response. 327 // If there are any data type differences between predict instance and TFDV 328 // instance, this field can be used to override the schema. 329 // For models trained with AI Platform, this field must be set as all the 330 // fields in predict instance formatted as string. 331 AnalysisInstanceSchemaUri string `protobuf:"bytes,16,opt,name=analysis_instance_schema_uri,json=analysisInstanceSchemaUri,proto3" json:"analysis_instance_schema_uri,omitempty"` 332 // Output only. The created bigquery tables for the job under customer project. Customer 333 // could do their own query & analysis. There could be 4 log tables in 334 // maximum: 335 // 1. Training data logging predict request/response 336 // 2. Serving data logging predict request/response 337 BigqueryTables []*ModelDeploymentMonitoringBigQueryTable `protobuf:"bytes,10,rep,name=bigquery_tables,json=bigqueryTables,proto3" json:"bigquery_tables,omitempty"` 338 // The TTL of BigQuery tables in user projects which stores logs. 339 // A day is the basic unit of the TTL and we take the ceil of TTL/86400(a 340 // day). e.g. { second: 3600} indicates ttl = 1 day. 341 LogTtl *durationpb.Duration `protobuf:"bytes,17,opt,name=log_ttl,json=logTtl,proto3" json:"log_ttl,omitempty"` 342 // The labels with user-defined metadata to organize your 343 // ModelDeploymentMonitoringJob. 344 // 345 // Label keys and values can be no longer than 64 characters 346 // (Unicode codepoints), can only contain lowercase letters, numeric 347 // characters, underscores and dashes. International characters are allowed. 348 // 349 // See https://goo.gl/xmQnxf for more information and examples of labels. 350 Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 351 // Output only. Timestamp when this ModelDeploymentMonitoringJob was created. 352 CreateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 353 // Output only. Timestamp when this ModelDeploymentMonitoringJob was updated most recently. 354 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 355 // Output only. Timestamp when this monitoring pipeline will be scheduled to run for the 356 // next round. 357 NextScheduleTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=next_schedule_time,json=nextScheduleTime,proto3" json:"next_schedule_time,omitempty"` 358 // Stats anomalies base folder path. 359 StatsAnomaliesBaseDirectory *GcsDestination `protobuf:"bytes,20,opt,name=stats_anomalies_base_directory,json=statsAnomaliesBaseDirectory,proto3" json:"stats_anomalies_base_directory,omitempty"` 360} 361 362func (x *ModelDeploymentMonitoringJob) Reset() { 363 *x = ModelDeploymentMonitoringJob{} 364 if protoimpl.UnsafeEnabled { 365 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[0] 366 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 367 ms.StoreMessageInfo(mi) 368 } 369} 370 371func (x *ModelDeploymentMonitoringJob) String() string { 372 return protoimpl.X.MessageStringOf(x) 373} 374 375func (*ModelDeploymentMonitoringJob) ProtoMessage() {} 376 377func (x *ModelDeploymentMonitoringJob) ProtoReflect() protoreflect.Message { 378 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[0] 379 if protoimpl.UnsafeEnabled && x != nil { 380 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 381 if ms.LoadMessageInfo() == nil { 382 ms.StoreMessageInfo(mi) 383 } 384 return ms 385 } 386 return mi.MessageOf(x) 387} 388 389// Deprecated: Use ModelDeploymentMonitoringJob.ProtoReflect.Descriptor instead. 390func (*ModelDeploymentMonitoringJob) Descriptor() ([]byte, []int) { 391 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{0} 392} 393 394func (x *ModelDeploymentMonitoringJob) GetName() string { 395 if x != nil { 396 return x.Name 397 } 398 return "" 399} 400 401func (x *ModelDeploymentMonitoringJob) GetDisplayName() string { 402 if x != nil { 403 return x.DisplayName 404 } 405 return "" 406} 407 408func (x *ModelDeploymentMonitoringJob) GetEndpoint() string { 409 if x != nil { 410 return x.Endpoint 411 } 412 return "" 413} 414 415func (x *ModelDeploymentMonitoringJob) GetState() JobState { 416 if x != nil { 417 return x.State 418 } 419 return JobState_JOB_STATE_UNSPECIFIED 420} 421 422func (x *ModelDeploymentMonitoringJob) GetScheduleState() ModelDeploymentMonitoringJob_MonitoringScheduleState { 423 if x != nil { 424 return x.ScheduleState 425 } 426 return ModelDeploymentMonitoringJob_MONITORING_SCHEDULE_STATE_UNSPECIFIED 427} 428 429func (x *ModelDeploymentMonitoringJob) GetModelDeploymentMonitoringObjectiveConfigs() []*ModelDeploymentMonitoringObjectiveConfig { 430 if x != nil { 431 return x.ModelDeploymentMonitoringObjectiveConfigs 432 } 433 return nil 434} 435 436func (x *ModelDeploymentMonitoringJob) GetModelDeploymentMonitoringScheduleConfig() *ModelDeploymentMonitoringScheduleConfig { 437 if x != nil { 438 return x.ModelDeploymentMonitoringScheduleConfig 439 } 440 return nil 441} 442 443func (x *ModelDeploymentMonitoringJob) GetLoggingSamplingStrategy() *SamplingStrategy { 444 if x != nil { 445 return x.LoggingSamplingStrategy 446 } 447 return nil 448} 449 450func (x *ModelDeploymentMonitoringJob) GetModelMonitoringAlertConfig() *ModelMonitoringAlertConfig { 451 if x != nil { 452 return x.ModelMonitoringAlertConfig 453 } 454 return nil 455} 456 457func (x *ModelDeploymentMonitoringJob) GetPredictInstanceSchemaUri() string { 458 if x != nil { 459 return x.PredictInstanceSchemaUri 460 } 461 return "" 462} 463 464func (x *ModelDeploymentMonitoringJob) GetSamplePredictInstance() *structpb.Value { 465 if x != nil { 466 return x.SamplePredictInstance 467 } 468 return nil 469} 470 471func (x *ModelDeploymentMonitoringJob) GetAnalysisInstanceSchemaUri() string { 472 if x != nil { 473 return x.AnalysisInstanceSchemaUri 474 } 475 return "" 476} 477 478func (x *ModelDeploymentMonitoringJob) GetBigqueryTables() []*ModelDeploymentMonitoringBigQueryTable { 479 if x != nil { 480 return x.BigqueryTables 481 } 482 return nil 483} 484 485func (x *ModelDeploymentMonitoringJob) GetLogTtl() *durationpb.Duration { 486 if x != nil { 487 return x.LogTtl 488 } 489 return nil 490} 491 492func (x *ModelDeploymentMonitoringJob) GetLabels() map[string]string { 493 if x != nil { 494 return x.Labels 495 } 496 return nil 497} 498 499func (x *ModelDeploymentMonitoringJob) GetCreateTime() *timestamppb.Timestamp { 500 if x != nil { 501 return x.CreateTime 502 } 503 return nil 504} 505 506func (x *ModelDeploymentMonitoringJob) GetUpdateTime() *timestamppb.Timestamp { 507 if x != nil { 508 return x.UpdateTime 509 } 510 return nil 511} 512 513func (x *ModelDeploymentMonitoringJob) GetNextScheduleTime() *timestamppb.Timestamp { 514 if x != nil { 515 return x.NextScheduleTime 516 } 517 return nil 518} 519 520func (x *ModelDeploymentMonitoringJob) GetStatsAnomaliesBaseDirectory() *GcsDestination { 521 if x != nil { 522 return x.StatsAnomaliesBaseDirectory 523 } 524 return nil 525} 526 527// ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name 528// as well as some information of the logs stored in this table. 529type ModelDeploymentMonitoringBigQueryTable struct { 530 state protoimpl.MessageState 531 sizeCache protoimpl.SizeCache 532 unknownFields protoimpl.UnknownFields 533 534 // The source of log. 535 LogSource ModelDeploymentMonitoringBigQueryTable_LogSource `protobuf:"varint,1,opt,name=log_source,json=logSource,proto3,enum=google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable_LogSource" json:"log_source,omitempty"` 536 // The type of log. 537 LogType ModelDeploymentMonitoringBigQueryTable_LogType `protobuf:"varint,2,opt,name=log_type,json=logType,proto3,enum=google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable_LogType" json:"log_type,omitempty"` 538 // The created BigQuery table to store logs. Customer could do their own query 539 // & analysis. Format: 540 // `bq://<project_id>.model_deployment_monitoring_<endpoint_id>.<tolower(log_source)>_<tolower(log_type)>` 541 BigqueryTablePath string `protobuf:"bytes,3,opt,name=bigquery_table_path,json=bigqueryTablePath,proto3" json:"bigquery_table_path,omitempty"` 542} 543 544func (x *ModelDeploymentMonitoringBigQueryTable) Reset() { 545 *x = ModelDeploymentMonitoringBigQueryTable{} 546 if protoimpl.UnsafeEnabled { 547 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[1] 548 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 549 ms.StoreMessageInfo(mi) 550 } 551} 552 553func (x *ModelDeploymentMonitoringBigQueryTable) String() string { 554 return protoimpl.X.MessageStringOf(x) 555} 556 557func (*ModelDeploymentMonitoringBigQueryTable) ProtoMessage() {} 558 559func (x *ModelDeploymentMonitoringBigQueryTable) ProtoReflect() protoreflect.Message { 560 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[1] 561 if protoimpl.UnsafeEnabled && x != nil { 562 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 563 if ms.LoadMessageInfo() == nil { 564 ms.StoreMessageInfo(mi) 565 } 566 return ms 567 } 568 return mi.MessageOf(x) 569} 570 571// Deprecated: Use ModelDeploymentMonitoringBigQueryTable.ProtoReflect.Descriptor instead. 572func (*ModelDeploymentMonitoringBigQueryTable) Descriptor() ([]byte, []int) { 573 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{1} 574} 575 576func (x *ModelDeploymentMonitoringBigQueryTable) GetLogSource() ModelDeploymentMonitoringBigQueryTable_LogSource { 577 if x != nil { 578 return x.LogSource 579 } 580 return ModelDeploymentMonitoringBigQueryTable_LOG_SOURCE_UNSPECIFIED 581} 582 583func (x *ModelDeploymentMonitoringBigQueryTable) GetLogType() ModelDeploymentMonitoringBigQueryTable_LogType { 584 if x != nil { 585 return x.LogType 586 } 587 return ModelDeploymentMonitoringBigQueryTable_LOG_TYPE_UNSPECIFIED 588} 589 590func (x *ModelDeploymentMonitoringBigQueryTable) GetBigqueryTablePath() string { 591 if x != nil { 592 return x.BigqueryTablePath 593 } 594 return "" 595} 596 597// ModelDeploymentMonitoringObjectiveConfig contains the pair of 598// deployed_model_id to ModelMonitoringObjectiveConfig. 599type ModelDeploymentMonitoringObjectiveConfig struct { 600 state protoimpl.MessageState 601 sizeCache protoimpl.SizeCache 602 unknownFields protoimpl.UnknownFields 603 604 // The DeployedModel ID of the objective config. 605 DeployedModelId string `protobuf:"bytes,1,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` 606 // The objective config of for the modelmonitoring job of this deployed model. 607 ObjectiveConfig *ModelMonitoringObjectiveConfig `protobuf:"bytes,2,opt,name=objective_config,json=objectiveConfig,proto3" json:"objective_config,omitempty"` 608} 609 610func (x *ModelDeploymentMonitoringObjectiveConfig) Reset() { 611 *x = ModelDeploymentMonitoringObjectiveConfig{} 612 if protoimpl.UnsafeEnabled { 613 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[2] 614 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 615 ms.StoreMessageInfo(mi) 616 } 617} 618 619func (x *ModelDeploymentMonitoringObjectiveConfig) String() string { 620 return protoimpl.X.MessageStringOf(x) 621} 622 623func (*ModelDeploymentMonitoringObjectiveConfig) ProtoMessage() {} 624 625func (x *ModelDeploymentMonitoringObjectiveConfig) ProtoReflect() protoreflect.Message { 626 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[2] 627 if protoimpl.UnsafeEnabled && x != nil { 628 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 629 if ms.LoadMessageInfo() == nil { 630 ms.StoreMessageInfo(mi) 631 } 632 return ms 633 } 634 return mi.MessageOf(x) 635} 636 637// Deprecated: Use ModelDeploymentMonitoringObjectiveConfig.ProtoReflect.Descriptor instead. 638func (*ModelDeploymentMonitoringObjectiveConfig) Descriptor() ([]byte, []int) { 639 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{2} 640} 641 642func (x *ModelDeploymentMonitoringObjectiveConfig) GetDeployedModelId() string { 643 if x != nil { 644 return x.DeployedModelId 645 } 646 return "" 647} 648 649func (x *ModelDeploymentMonitoringObjectiveConfig) GetObjectiveConfig() *ModelMonitoringObjectiveConfig { 650 if x != nil { 651 return x.ObjectiveConfig 652 } 653 return nil 654} 655 656// The config for scheduling monitoring job. 657type ModelDeploymentMonitoringScheduleConfig struct { 658 state protoimpl.MessageState 659 sizeCache protoimpl.SizeCache 660 unknownFields protoimpl.UnknownFields 661 662 // Required. The model monitoring job running interval. It will be rounded up to next 663 // full hour. 664 MonitorInterval *durationpb.Duration `protobuf:"bytes,1,opt,name=monitor_interval,json=monitorInterval,proto3" json:"monitor_interval,omitempty"` 665} 666 667func (x *ModelDeploymentMonitoringScheduleConfig) Reset() { 668 *x = ModelDeploymentMonitoringScheduleConfig{} 669 if protoimpl.UnsafeEnabled { 670 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[3] 671 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 672 ms.StoreMessageInfo(mi) 673 } 674} 675 676func (x *ModelDeploymentMonitoringScheduleConfig) String() string { 677 return protoimpl.X.MessageStringOf(x) 678} 679 680func (*ModelDeploymentMonitoringScheduleConfig) ProtoMessage() {} 681 682func (x *ModelDeploymentMonitoringScheduleConfig) ProtoReflect() protoreflect.Message { 683 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[3] 684 if protoimpl.UnsafeEnabled && x != nil { 685 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 686 if ms.LoadMessageInfo() == nil { 687 ms.StoreMessageInfo(mi) 688 } 689 return ms 690 } 691 return mi.MessageOf(x) 692} 693 694// Deprecated: Use ModelDeploymentMonitoringScheduleConfig.ProtoReflect.Descriptor instead. 695func (*ModelDeploymentMonitoringScheduleConfig) Descriptor() ([]byte, []int) { 696 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{3} 697} 698 699func (x *ModelDeploymentMonitoringScheduleConfig) GetMonitorInterval() *durationpb.Duration { 700 if x != nil { 701 return x.MonitorInterval 702 } 703 return nil 704} 705 706// Statistics and anomalies generated by Model Monitoring. 707type ModelMonitoringStatsAnomalies struct { 708 state protoimpl.MessageState 709 sizeCache protoimpl.SizeCache 710 unknownFields protoimpl.UnknownFields 711 712 // Model Monitoring Objective those stats and anomalies belonging to. 713 Objective ModelDeploymentMonitoringObjectiveType `protobuf:"varint,1,opt,name=objective,proto3,enum=google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType" json:"objective,omitempty"` 714 // Deployed Model ID. 715 DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` 716 // Number of anomalies within all stats. 717 AnomalyCount int32 `protobuf:"varint,3,opt,name=anomaly_count,json=anomalyCount,proto3" json:"anomaly_count,omitempty"` 718 // A list of historical Stats and Anomalies generated for all Features. 719 FeatureStats []*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies `protobuf:"bytes,4,rep,name=feature_stats,json=featureStats,proto3" json:"feature_stats,omitempty"` 720} 721 722func (x *ModelMonitoringStatsAnomalies) Reset() { 723 *x = ModelMonitoringStatsAnomalies{} 724 if protoimpl.UnsafeEnabled { 725 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[4] 726 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 727 ms.StoreMessageInfo(mi) 728 } 729} 730 731func (x *ModelMonitoringStatsAnomalies) String() string { 732 return protoimpl.X.MessageStringOf(x) 733} 734 735func (*ModelMonitoringStatsAnomalies) ProtoMessage() {} 736 737func (x *ModelMonitoringStatsAnomalies) ProtoReflect() protoreflect.Message { 738 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[4] 739 if protoimpl.UnsafeEnabled && x != nil { 740 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 741 if ms.LoadMessageInfo() == nil { 742 ms.StoreMessageInfo(mi) 743 } 744 return ms 745 } 746 return mi.MessageOf(x) 747} 748 749// Deprecated: Use ModelMonitoringStatsAnomalies.ProtoReflect.Descriptor instead. 750func (*ModelMonitoringStatsAnomalies) Descriptor() ([]byte, []int) { 751 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{4} 752} 753 754func (x *ModelMonitoringStatsAnomalies) GetObjective() ModelDeploymentMonitoringObjectiveType { 755 if x != nil { 756 return x.Objective 757 } 758 return ModelDeploymentMonitoringObjectiveType_MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED 759} 760 761func (x *ModelMonitoringStatsAnomalies) GetDeployedModelId() string { 762 if x != nil { 763 return x.DeployedModelId 764 } 765 return "" 766} 767 768func (x *ModelMonitoringStatsAnomalies) GetAnomalyCount() int32 { 769 if x != nil { 770 return x.AnomalyCount 771 } 772 return 0 773} 774 775func (x *ModelMonitoringStatsAnomalies) GetFeatureStats() []*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies { 776 if x != nil { 777 return x.FeatureStats 778 } 779 return nil 780} 781 782// Historical Stats (and Anomalies) for a specific Feature. 783type ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies struct { 784 state protoimpl.MessageState 785 sizeCache protoimpl.SizeCache 786 unknownFields protoimpl.UnknownFields 787 788 // Display Name of the Feature. 789 FeatureDisplayName string `protobuf:"bytes,1,opt,name=feature_display_name,json=featureDisplayName,proto3" json:"feature_display_name,omitempty"` 790 // Threshold for anomaly detection. 791 Threshold *ThresholdConfig `protobuf:"bytes,3,opt,name=threshold,proto3" json:"threshold,omitempty"` 792 // Stats calculated for the Training Dataset. 793 TrainingStats *FeatureStatsAnomaly `protobuf:"bytes,4,opt,name=training_stats,json=trainingStats,proto3" json:"training_stats,omitempty"` 794 // A list of historical stats generated by different time window's 795 // Prediction Dataset. 796 PredictionStats []*FeatureStatsAnomaly `protobuf:"bytes,5,rep,name=prediction_stats,json=predictionStats,proto3" json:"prediction_stats,omitempty"` 797} 798 799func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) Reset() { 800 *x = ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies{} 801 if protoimpl.UnsafeEnabled { 802 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[6] 803 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 804 ms.StoreMessageInfo(mi) 805 } 806} 807 808func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) String() string { 809 return protoimpl.X.MessageStringOf(x) 810} 811 812func (*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) ProtoMessage() {} 813 814func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) ProtoReflect() protoreflect.Message { 815 mi := &file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[6] 816 if protoimpl.UnsafeEnabled && x != nil { 817 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 818 if ms.LoadMessageInfo() == nil { 819 ms.StoreMessageInfo(mi) 820 } 821 return ms 822 } 823 return mi.MessageOf(x) 824} 825 826// Deprecated: Use ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies.ProtoReflect.Descriptor instead. 827func (*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) Descriptor() ([]byte, []int) { 828 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{4, 0} 829} 830 831func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetFeatureDisplayName() string { 832 if x != nil { 833 return x.FeatureDisplayName 834 } 835 return "" 836} 837 838func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetThreshold() *ThresholdConfig { 839 if x != nil { 840 return x.Threshold 841 } 842 return nil 843} 844 845func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetTrainingStats() *FeatureStatsAnomaly { 846 if x != nil { 847 return x.TrainingStats 848 } 849 return nil 850} 851 852func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetPredictionStats() []*FeatureStatsAnomaly { 853 if x != nil { 854 return x.PredictionStats 855 } 856 return nil 857} 858 859var File_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto protoreflect.FileDescriptor 860 861var file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDesc = []byte{ 862 0x0a, 0x45, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 863 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 864 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 865 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 866 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 867 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 868 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 869 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 870 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 871 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 872 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 873 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 874 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 875 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 876 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 877 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 878 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 879 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 880 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 881 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 882 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 883 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 884 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 885 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 886 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 887 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 888 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 889 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 890 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 891 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 892 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 893 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x10, 0x0a, 0x1c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 894 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 895 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 896 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 897 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 898 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 899 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 900 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 901 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 902 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 903 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x44, 904 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 905 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 906 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 907 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 908 0x74, 0x61, 0x74, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 909 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x55, 0x2e, 910 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 911 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 912 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 913 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x4d, 0x6f, 0x6e, 914 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 915 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x64, 916 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x2d, 0x6d, 0x6f, 0x64, 917 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 918 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 919 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 920 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 921 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 922 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 923 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 924 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 925 0x52, 0x29, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 926 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 927 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xab, 0x01, 0x0a, 0x2b, 928 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 929 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 930 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 931 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 932 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 933 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 934 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 935 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 936 0x52, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 937 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 938 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x19, 0x6c, 0x6f, 0x67, 939 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 940 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 941 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 942 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 943 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 944 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 945 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x7e, 0x0a, 946 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 947 0x67, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0f, 948 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 949 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 950 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 951 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 952 0x67, 0x52, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 953 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 954 0x1b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 955 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x09, 0x20, 0x01, 956 0x28, 0x09, 0x52, 0x18, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 957 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x4e, 0x0a, 0x17, 958 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x69, 959 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 960 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 961 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x72, 0x65, 962 0x64, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 963 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 964 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x10, 0x20, 0x01, 965 0x28, 0x09, 0x52, 0x19, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 966 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x75, 0x0a, 967 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 968 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 969 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 970 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 971 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 972 0x6e, 0x67, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 973 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 974 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x74, 0x6c, 0x18, 975 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 976 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 977 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x54, 0x74, 0x6c, 0x12, 0x61, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 978 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 979 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 980 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 981 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 982 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 983 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 984 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 985 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 986 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 987 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 988 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 989 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 990 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 991 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 992 0x4d, 0x0a, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 993 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 994 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 995 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6e, 0x65, 996 0x78, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x74, 997 0x0a, 0x1e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 998 0x73, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 999 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1000 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1001 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 1002 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 1003 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x42, 0x61, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 1004 0x74, 0x6f, 0x72, 0x79, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 1005 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1006 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 1007 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 1008 0x6b, 0x0a, 0x17, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 1009 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x4d, 0x4f, 1010 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 1011 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 1012 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 1013 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 1014 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0xa5, 0x01, 0xea, 1015 0x41, 0xa1, 0x01, 0x0a, 0x36, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1016 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 1017 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 1018 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x67, 0x70, 0x72, 0x6f, 1019 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 1020 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 1021 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 1022 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 1023 0x62, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 1024 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 1025 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0xb9, 0x03, 0x0a, 0x26, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 1026 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 1027 0x6e, 0x67, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 1028 0x70, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 1029 0x01, 0x28, 0x0e, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1030 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1031 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 1032 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 1033 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 1034 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 1035 0x65, 0x12, 0x6a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 1036 0x01, 0x28, 0x0e, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1037 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1038 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 1039 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 1040 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 1041 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 1042 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 1043 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x69, 0x67, 0x71, 1044 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x42, 0x0a, 1045 0x09, 0x4c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x4f, 1046 0x47, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 1047 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x49, 1048 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x10, 1049 0x02, 0x22, 0x3d, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 1050 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 1051 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 1052 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x02, 1053 0x22, 0xc2, 0x01, 0x0a, 0x28, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 1054 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 1055 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 1056 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 1057 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 1058 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x6a, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 1059 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 1060 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1061 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1062 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 1063 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 1064 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 1065 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x74, 0x0a, 0x27, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 1066 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 1067 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1068 0x12, 0x49, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 1069 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 1070 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 1071 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, 1072 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xbd, 0x05, 0x0a, 0x1d, 1073 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 1074 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x65, 0x0a, 1075 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 1076 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1077 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1078 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 1079 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 1080 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 1081 0x74, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 1082 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 1083 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 1084 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 1085 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 1086 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 1087 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 1088 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 1089 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 1090 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 1091 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x2e, 0x46, 0x65, 1092 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 1093 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x66, 0x65, 0x61, 1094 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xdf, 0x02, 0x0a, 0x1d, 0x46, 0x65, 1095 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 1096 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x66, 1097 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 1098 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 1099 0x72, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 1100 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 1101 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1102 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1103 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 1104 0x69, 0x67, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x5b, 0x0a, 1105 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 1106 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1107 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1108 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 1109 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x52, 0x0d, 0x74, 0x72, 0x61, 1110 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5f, 0x0a, 0x10, 0x70, 0x72, 1111 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 1112 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1113 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1114 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 1115 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x64, 1116 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2a, 0xce, 0x01, 0x0a, 0x26, 1117 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 1118 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 1119 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x36, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 1120 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 1121 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 1122 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 1123 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x41, 0x57, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 1124 0x45, 0x5f, 0x53, 0x4b, 0x45, 0x57, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x41, 0x57, 0x5f, 1125 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x44, 0x52, 0x49, 0x46, 0x54, 0x10, 0x02, 0x12, 1126 0x1c, 0x0a, 0x18, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 1127 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4b, 0x45, 0x57, 0x10, 0x03, 0x12, 0x1d, 0x0a, 1128 0x19, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 1129 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x52, 0x49, 0x46, 0x54, 0x10, 0x04, 0x42, 0x95, 0x01, 0x0a, 1130 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1131 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 1132 0x65, 0x74, 0x61, 0x31, 0x42, 0x21, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 1133 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 1134 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1135 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 1136 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 1137 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1138 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1139 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1140} 1141 1142var ( 1143 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescOnce sync.Once 1144 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDesc 1145) 1146 1147func file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP() []byte { 1148 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescOnce.Do(func() { 1149 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescData) 1150 }) 1151 return file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescData 1152} 1153 1154var file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes = make([]protoimpl.EnumInfo, 4) 1155var file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes = make([]protoimpl.MessageInfo, 7) 1156var file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_goTypes = []interface{}{ 1157 (ModelDeploymentMonitoringObjectiveType)(0), // 0: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType 1158 (ModelDeploymentMonitoringJob_MonitoringScheduleState)(0), // 1: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.MonitoringScheduleState 1159 (ModelDeploymentMonitoringBigQueryTable_LogSource)(0), // 2: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.LogSource 1160 (ModelDeploymentMonitoringBigQueryTable_LogType)(0), // 3: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.LogType 1161 (*ModelDeploymentMonitoringJob)(nil), // 4: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob 1162 (*ModelDeploymentMonitoringBigQueryTable)(nil), // 5: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable 1163 (*ModelDeploymentMonitoringObjectiveConfig)(nil), // 6: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveConfig 1164 (*ModelDeploymentMonitoringScheduleConfig)(nil), // 7: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringScheduleConfig 1165 (*ModelMonitoringStatsAnomalies)(nil), // 8: google.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies 1166 nil, // 9: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.LabelsEntry 1167 (*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies)(nil), // 10: google.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies 1168 (JobState)(0), // 11: google.cloud.aiplatform.v1beta1.JobState 1169 (*SamplingStrategy)(nil), // 12: google.cloud.aiplatform.v1beta1.SamplingStrategy 1170 (*ModelMonitoringAlertConfig)(nil), // 13: google.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig 1171 (*structpb.Value)(nil), // 14: google.protobuf.Value 1172 (*durationpb.Duration)(nil), // 15: google.protobuf.Duration 1173 (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp 1174 (*GcsDestination)(nil), // 17: google.cloud.aiplatform.v1beta1.GcsDestination 1175 (*ModelMonitoringObjectiveConfig)(nil), // 18: google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig 1176 (*ThresholdConfig)(nil), // 19: google.cloud.aiplatform.v1beta1.ThresholdConfig 1177 (*FeatureStatsAnomaly)(nil), // 20: google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly 1178} 1179var file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_depIdxs = []int32{ 1180 11, // 0: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.state:type_name -> google.cloud.aiplatform.v1beta1.JobState 1181 1, // 1: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.schedule_state:type_name -> google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.MonitoringScheduleState 1182 6, // 2: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.model_deployment_monitoring_objective_configs:type_name -> google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveConfig 1183 7, // 3: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.model_deployment_monitoring_schedule_config:type_name -> google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringScheduleConfig 1184 12, // 4: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.logging_sampling_strategy:type_name -> google.cloud.aiplatform.v1beta1.SamplingStrategy 1185 13, // 5: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.model_monitoring_alert_config:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig 1186 14, // 6: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.sample_predict_instance:type_name -> google.protobuf.Value 1187 5, // 7: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.bigquery_tables:type_name -> google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable 1188 15, // 8: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.log_ttl:type_name -> google.protobuf.Duration 1189 9, // 9: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.labels:type_name -> google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.LabelsEntry 1190 16, // 10: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.create_time:type_name -> google.protobuf.Timestamp 1191 16, // 11: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.update_time:type_name -> google.protobuf.Timestamp 1192 16, // 12: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.next_schedule_time:type_name -> google.protobuf.Timestamp 1193 17, // 13: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.stats_anomalies_base_directory:type_name -> google.cloud.aiplatform.v1beta1.GcsDestination 1194 2, // 14: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.log_source:type_name -> google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.LogSource 1195 3, // 15: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.log_type:type_name -> google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.LogType 1196 18, // 16: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveConfig.objective_config:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig 1197 15, // 17: google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringScheduleConfig.monitor_interval:type_name -> google.protobuf.Duration 1198 0, // 18: google.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.objective:type_name -> google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType 1199 10, // 19: google.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.feature_stats:type_name -> google.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies 1200 19, // 20: google.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.threshold:type_name -> google.cloud.aiplatform.v1beta1.ThresholdConfig 1201 20, // 21: google.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.training_stats:type_name -> google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly 1202 20, // 22: google.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats:type_name -> google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly 1203 23, // [23:23] is the sub-list for method output_type 1204 23, // [23:23] is the sub-list for method input_type 1205 23, // [23:23] is the sub-list for extension type_name 1206 23, // [23:23] is the sub-list for extension extendee 1207 0, // [0:23] is the sub-list for field type_name 1208} 1209 1210func init() { file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_init() } 1211func file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_init() { 1212 if File_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto != nil { 1213 return 1214 } 1215 file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_init() 1216 file_google_cloud_aiplatform_v1beta1_io_proto_init() 1217 file_google_cloud_aiplatform_v1beta1_job_state_proto_init() 1218 file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_init() 1219 if !protoimpl.UnsafeEnabled { 1220 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1221 switch v := v.(*ModelDeploymentMonitoringJob); i { 1222 case 0: 1223 return &v.state 1224 case 1: 1225 return &v.sizeCache 1226 case 2: 1227 return &v.unknownFields 1228 default: 1229 return nil 1230 } 1231 } 1232 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1233 switch v := v.(*ModelDeploymentMonitoringBigQueryTable); i { 1234 case 0: 1235 return &v.state 1236 case 1: 1237 return &v.sizeCache 1238 case 2: 1239 return &v.unknownFields 1240 default: 1241 return nil 1242 } 1243 } 1244 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1245 switch v := v.(*ModelDeploymentMonitoringObjectiveConfig); i { 1246 case 0: 1247 return &v.state 1248 case 1: 1249 return &v.sizeCache 1250 case 2: 1251 return &v.unknownFields 1252 default: 1253 return nil 1254 } 1255 } 1256 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1257 switch v := v.(*ModelDeploymentMonitoringScheduleConfig); i { 1258 case 0: 1259 return &v.state 1260 case 1: 1261 return &v.sizeCache 1262 case 2: 1263 return &v.unknownFields 1264 default: 1265 return nil 1266 } 1267 } 1268 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1269 switch v := v.(*ModelMonitoringStatsAnomalies); i { 1270 case 0: 1271 return &v.state 1272 case 1: 1273 return &v.sizeCache 1274 case 2: 1275 return &v.unknownFields 1276 default: 1277 return nil 1278 } 1279 } 1280 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1281 switch v := v.(*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies); i { 1282 case 0: 1283 return &v.state 1284 case 1: 1285 return &v.sizeCache 1286 case 2: 1287 return &v.unknownFields 1288 default: 1289 return nil 1290 } 1291 } 1292 } 1293 type x struct{} 1294 out := protoimpl.TypeBuilder{ 1295 File: protoimpl.DescBuilder{ 1296 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1297 RawDescriptor: file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDesc, 1298 NumEnums: 4, 1299 NumMessages: 7, 1300 NumExtensions: 0, 1301 NumServices: 0, 1302 }, 1303 GoTypes: file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_goTypes, 1304 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_depIdxs, 1305 EnumInfos: file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes, 1306 MessageInfos: file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes, 1307 }.Build() 1308 File_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto = out.File 1309 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDesc = nil 1310 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_goTypes = nil 1311 file_google_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_depIdxs = nil 1312} 1313