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