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 // If true, the scheduled monitoring pipeline status logs are sent to 361 // Google Cloud Logging. Please note the logs incur cost, which are subject to 362 // [Cloud Logging pricing](https://cloud.google.com/logging#pricing). 363 EnableMonitoringPipelineLogs bool `protobuf:"varint,22,opt,name=enable_monitoring_pipeline_logs,json=enableMonitoringPipelineLogs,proto3" json:"enable_monitoring_pipeline_logs,omitempty"` 364 // Output only. Only populated when the job's state is `JOB_STATE_FAILED` or 365 // `JOB_STATE_CANCELLED`. 366 Error *status.Status `protobuf:"bytes,23,opt,name=error,proto3" json:"error,omitempty"` 367} 368 369func (x *ModelDeploymentMonitoringJob) Reset() { 370 *x = ModelDeploymentMonitoringJob{} 371 if protoimpl.UnsafeEnabled { 372 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[0] 373 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 374 ms.StoreMessageInfo(mi) 375 } 376} 377 378func (x *ModelDeploymentMonitoringJob) String() string { 379 return protoimpl.X.MessageStringOf(x) 380} 381 382func (*ModelDeploymentMonitoringJob) ProtoMessage() {} 383 384func (x *ModelDeploymentMonitoringJob) ProtoReflect() protoreflect.Message { 385 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[0] 386 if protoimpl.UnsafeEnabled && x != nil { 387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 388 if ms.LoadMessageInfo() == nil { 389 ms.StoreMessageInfo(mi) 390 } 391 return ms 392 } 393 return mi.MessageOf(x) 394} 395 396// Deprecated: Use ModelDeploymentMonitoringJob.ProtoReflect.Descriptor instead. 397func (*ModelDeploymentMonitoringJob) Descriptor() ([]byte, []int) { 398 return file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{0} 399} 400 401func (x *ModelDeploymentMonitoringJob) GetName() string { 402 if x != nil { 403 return x.Name 404 } 405 return "" 406} 407 408func (x *ModelDeploymentMonitoringJob) GetDisplayName() string { 409 if x != nil { 410 return x.DisplayName 411 } 412 return "" 413} 414 415func (x *ModelDeploymentMonitoringJob) GetEndpoint() string { 416 if x != nil { 417 return x.Endpoint 418 } 419 return "" 420} 421 422func (x *ModelDeploymentMonitoringJob) GetState() JobState { 423 if x != nil { 424 return x.State 425 } 426 return JobState_JOB_STATE_UNSPECIFIED 427} 428 429func (x *ModelDeploymentMonitoringJob) GetScheduleState() ModelDeploymentMonitoringJob_MonitoringScheduleState { 430 if x != nil { 431 return x.ScheduleState 432 } 433 return ModelDeploymentMonitoringJob_MONITORING_SCHEDULE_STATE_UNSPECIFIED 434} 435 436func (x *ModelDeploymentMonitoringJob) GetModelDeploymentMonitoringObjectiveConfigs() []*ModelDeploymentMonitoringObjectiveConfig { 437 if x != nil { 438 return x.ModelDeploymentMonitoringObjectiveConfigs 439 } 440 return nil 441} 442 443func (x *ModelDeploymentMonitoringJob) GetModelDeploymentMonitoringScheduleConfig() *ModelDeploymentMonitoringScheduleConfig { 444 if x != nil { 445 return x.ModelDeploymentMonitoringScheduleConfig 446 } 447 return nil 448} 449 450func (x *ModelDeploymentMonitoringJob) GetLoggingSamplingStrategy() *SamplingStrategy { 451 if x != nil { 452 return x.LoggingSamplingStrategy 453 } 454 return nil 455} 456 457func (x *ModelDeploymentMonitoringJob) GetModelMonitoringAlertConfig() *ModelMonitoringAlertConfig { 458 if x != nil { 459 return x.ModelMonitoringAlertConfig 460 } 461 return nil 462} 463 464func (x *ModelDeploymentMonitoringJob) GetPredictInstanceSchemaUri() string { 465 if x != nil { 466 return x.PredictInstanceSchemaUri 467 } 468 return "" 469} 470 471func (x *ModelDeploymentMonitoringJob) GetSamplePredictInstance() *structpb.Value { 472 if x != nil { 473 return x.SamplePredictInstance 474 } 475 return nil 476} 477 478func (x *ModelDeploymentMonitoringJob) GetAnalysisInstanceSchemaUri() string { 479 if x != nil { 480 return x.AnalysisInstanceSchemaUri 481 } 482 return "" 483} 484 485func (x *ModelDeploymentMonitoringJob) GetBigqueryTables() []*ModelDeploymentMonitoringBigQueryTable { 486 if x != nil { 487 return x.BigqueryTables 488 } 489 return nil 490} 491 492func (x *ModelDeploymentMonitoringJob) GetLogTtl() *durationpb.Duration { 493 if x != nil { 494 return x.LogTtl 495 } 496 return nil 497} 498 499func (x *ModelDeploymentMonitoringJob) GetLabels() map[string]string { 500 if x != nil { 501 return x.Labels 502 } 503 return nil 504} 505 506func (x *ModelDeploymentMonitoringJob) GetCreateTime() *timestamppb.Timestamp { 507 if x != nil { 508 return x.CreateTime 509 } 510 return nil 511} 512 513func (x *ModelDeploymentMonitoringJob) GetUpdateTime() *timestamppb.Timestamp { 514 if x != nil { 515 return x.UpdateTime 516 } 517 return nil 518} 519 520func (x *ModelDeploymentMonitoringJob) GetNextScheduleTime() *timestamppb.Timestamp { 521 if x != nil { 522 return x.NextScheduleTime 523 } 524 return nil 525} 526 527func (x *ModelDeploymentMonitoringJob) GetStatsAnomaliesBaseDirectory() *GcsDestination { 528 if x != nil { 529 return x.StatsAnomaliesBaseDirectory 530 } 531 return nil 532} 533 534func (x *ModelDeploymentMonitoringJob) GetEncryptionSpec() *EncryptionSpec { 535 if x != nil { 536 return x.EncryptionSpec 537 } 538 return nil 539} 540 541func (x *ModelDeploymentMonitoringJob) GetEnableMonitoringPipelineLogs() bool { 542 if x != nil { 543 return x.EnableMonitoringPipelineLogs 544 } 545 return false 546} 547 548func (x *ModelDeploymentMonitoringJob) GetError() *status.Status { 549 if x != nil { 550 return x.Error 551 } 552 return nil 553} 554 555// ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name 556// as well as some information of the logs stored in this table. 557type ModelDeploymentMonitoringBigQueryTable struct { 558 state protoimpl.MessageState 559 sizeCache protoimpl.SizeCache 560 unknownFields protoimpl.UnknownFields 561 562 // The source of log. 563 LogSource ModelDeploymentMonitoringBigQueryTable_LogSource `protobuf:"varint,1,opt,name=log_source,json=logSource,proto3,enum=google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable_LogSource" json:"log_source,omitempty"` 564 // The type of log. 565 LogType ModelDeploymentMonitoringBigQueryTable_LogType `protobuf:"varint,2,opt,name=log_type,json=logType,proto3,enum=google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable_LogType" json:"log_type,omitempty"` 566 // The created BigQuery table to store logs. Customer could do their own query 567 // & analysis. Format: 568 // `bq://<project_id>.model_deployment_monitoring_<endpoint_id>.<tolower(log_source)>_<tolower(log_type)>` 569 BigqueryTablePath string `protobuf:"bytes,3,opt,name=bigquery_table_path,json=bigqueryTablePath,proto3" json:"bigquery_table_path,omitempty"` 570} 571 572func (x *ModelDeploymentMonitoringBigQueryTable) Reset() { 573 *x = ModelDeploymentMonitoringBigQueryTable{} 574 if protoimpl.UnsafeEnabled { 575 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[1] 576 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 577 ms.StoreMessageInfo(mi) 578 } 579} 580 581func (x *ModelDeploymentMonitoringBigQueryTable) String() string { 582 return protoimpl.X.MessageStringOf(x) 583} 584 585func (*ModelDeploymentMonitoringBigQueryTable) ProtoMessage() {} 586 587func (x *ModelDeploymentMonitoringBigQueryTable) ProtoReflect() protoreflect.Message { 588 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[1] 589 if protoimpl.UnsafeEnabled && x != nil { 590 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 591 if ms.LoadMessageInfo() == nil { 592 ms.StoreMessageInfo(mi) 593 } 594 return ms 595 } 596 return mi.MessageOf(x) 597} 598 599// Deprecated: Use ModelDeploymentMonitoringBigQueryTable.ProtoReflect.Descriptor instead. 600func (*ModelDeploymentMonitoringBigQueryTable) Descriptor() ([]byte, []int) { 601 return file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{1} 602} 603 604func (x *ModelDeploymentMonitoringBigQueryTable) GetLogSource() ModelDeploymentMonitoringBigQueryTable_LogSource { 605 if x != nil { 606 return x.LogSource 607 } 608 return ModelDeploymentMonitoringBigQueryTable_LOG_SOURCE_UNSPECIFIED 609} 610 611func (x *ModelDeploymentMonitoringBigQueryTable) GetLogType() ModelDeploymentMonitoringBigQueryTable_LogType { 612 if x != nil { 613 return x.LogType 614 } 615 return ModelDeploymentMonitoringBigQueryTable_LOG_TYPE_UNSPECIFIED 616} 617 618func (x *ModelDeploymentMonitoringBigQueryTable) GetBigqueryTablePath() string { 619 if x != nil { 620 return x.BigqueryTablePath 621 } 622 return "" 623} 624 625// ModelDeploymentMonitoringObjectiveConfig contains the pair of 626// deployed_model_id to ModelMonitoringObjectiveConfig. 627type ModelDeploymentMonitoringObjectiveConfig struct { 628 state protoimpl.MessageState 629 sizeCache protoimpl.SizeCache 630 unknownFields protoimpl.UnknownFields 631 632 // The DeployedModel ID of the objective config. 633 DeployedModelId string `protobuf:"bytes,1,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` 634 // The objective config of for the modelmonitoring job of this deployed model. 635 ObjectiveConfig *ModelMonitoringObjectiveConfig `protobuf:"bytes,2,opt,name=objective_config,json=objectiveConfig,proto3" json:"objective_config,omitempty"` 636} 637 638func (x *ModelDeploymentMonitoringObjectiveConfig) Reset() { 639 *x = ModelDeploymentMonitoringObjectiveConfig{} 640 if protoimpl.UnsafeEnabled { 641 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[2] 642 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 643 ms.StoreMessageInfo(mi) 644 } 645} 646 647func (x *ModelDeploymentMonitoringObjectiveConfig) String() string { 648 return protoimpl.X.MessageStringOf(x) 649} 650 651func (*ModelDeploymentMonitoringObjectiveConfig) ProtoMessage() {} 652 653func (x *ModelDeploymentMonitoringObjectiveConfig) ProtoReflect() protoreflect.Message { 654 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[2] 655 if protoimpl.UnsafeEnabled && x != nil { 656 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 657 if ms.LoadMessageInfo() == nil { 658 ms.StoreMessageInfo(mi) 659 } 660 return ms 661 } 662 return mi.MessageOf(x) 663} 664 665// Deprecated: Use ModelDeploymentMonitoringObjectiveConfig.ProtoReflect.Descriptor instead. 666func (*ModelDeploymentMonitoringObjectiveConfig) Descriptor() ([]byte, []int) { 667 return file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{2} 668} 669 670func (x *ModelDeploymentMonitoringObjectiveConfig) GetDeployedModelId() string { 671 if x != nil { 672 return x.DeployedModelId 673 } 674 return "" 675} 676 677func (x *ModelDeploymentMonitoringObjectiveConfig) GetObjectiveConfig() *ModelMonitoringObjectiveConfig { 678 if x != nil { 679 return x.ObjectiveConfig 680 } 681 return nil 682} 683 684// The config for scheduling monitoring job. 685type ModelDeploymentMonitoringScheduleConfig struct { 686 state protoimpl.MessageState 687 sizeCache protoimpl.SizeCache 688 unknownFields protoimpl.UnknownFields 689 690 // Required. The model monitoring job running interval. It will be rounded up to next 691 // full hour. 692 MonitorInterval *durationpb.Duration `protobuf:"bytes,1,opt,name=monitor_interval,json=monitorInterval,proto3" json:"monitor_interval,omitempty"` 693} 694 695func (x *ModelDeploymentMonitoringScheduleConfig) Reset() { 696 *x = ModelDeploymentMonitoringScheduleConfig{} 697 if protoimpl.UnsafeEnabled { 698 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[3] 699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 700 ms.StoreMessageInfo(mi) 701 } 702} 703 704func (x *ModelDeploymentMonitoringScheduleConfig) String() string { 705 return protoimpl.X.MessageStringOf(x) 706} 707 708func (*ModelDeploymentMonitoringScheduleConfig) ProtoMessage() {} 709 710func (x *ModelDeploymentMonitoringScheduleConfig) ProtoReflect() protoreflect.Message { 711 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[3] 712 if protoimpl.UnsafeEnabled && x != nil { 713 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 714 if ms.LoadMessageInfo() == nil { 715 ms.StoreMessageInfo(mi) 716 } 717 return ms 718 } 719 return mi.MessageOf(x) 720} 721 722// Deprecated: Use ModelDeploymentMonitoringScheduleConfig.ProtoReflect.Descriptor instead. 723func (*ModelDeploymentMonitoringScheduleConfig) Descriptor() ([]byte, []int) { 724 return file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{3} 725} 726 727func (x *ModelDeploymentMonitoringScheduleConfig) GetMonitorInterval() *durationpb.Duration { 728 if x != nil { 729 return x.MonitorInterval 730 } 731 return nil 732} 733 734// Statistics and anomalies generated by Model Monitoring. 735type ModelMonitoringStatsAnomalies struct { 736 state protoimpl.MessageState 737 sizeCache protoimpl.SizeCache 738 unknownFields protoimpl.UnknownFields 739 740 // Model Monitoring Objective those stats and anomalies belonging to. 741 Objective ModelDeploymentMonitoringObjectiveType `protobuf:"varint,1,opt,name=objective,proto3,enum=google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveType" json:"objective,omitempty"` 742 // Deployed Model ID. 743 DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` 744 // Number of anomalies within all stats. 745 AnomalyCount int32 `protobuf:"varint,3,opt,name=anomaly_count,json=anomalyCount,proto3" json:"anomaly_count,omitempty"` 746 // A list of historical Stats and Anomalies generated for all Features. 747 FeatureStats []*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies `protobuf:"bytes,4,rep,name=feature_stats,json=featureStats,proto3" json:"feature_stats,omitempty"` 748} 749 750func (x *ModelMonitoringStatsAnomalies) Reset() { 751 *x = ModelMonitoringStatsAnomalies{} 752 if protoimpl.UnsafeEnabled { 753 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[4] 754 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 755 ms.StoreMessageInfo(mi) 756 } 757} 758 759func (x *ModelMonitoringStatsAnomalies) String() string { 760 return protoimpl.X.MessageStringOf(x) 761} 762 763func (*ModelMonitoringStatsAnomalies) ProtoMessage() {} 764 765func (x *ModelMonitoringStatsAnomalies) ProtoReflect() protoreflect.Message { 766 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[4] 767 if protoimpl.UnsafeEnabled && x != nil { 768 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 769 if ms.LoadMessageInfo() == nil { 770 ms.StoreMessageInfo(mi) 771 } 772 return ms 773 } 774 return mi.MessageOf(x) 775} 776 777// Deprecated: Use ModelMonitoringStatsAnomalies.ProtoReflect.Descriptor instead. 778func (*ModelMonitoringStatsAnomalies) Descriptor() ([]byte, []int) { 779 return file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{4} 780} 781 782func (x *ModelMonitoringStatsAnomalies) GetObjective() ModelDeploymentMonitoringObjectiveType { 783 if x != nil { 784 return x.Objective 785 } 786 return ModelDeploymentMonitoringObjectiveType_MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED 787} 788 789func (x *ModelMonitoringStatsAnomalies) GetDeployedModelId() string { 790 if x != nil { 791 return x.DeployedModelId 792 } 793 return "" 794} 795 796func (x *ModelMonitoringStatsAnomalies) GetAnomalyCount() int32 { 797 if x != nil { 798 return x.AnomalyCount 799 } 800 return 0 801} 802 803func (x *ModelMonitoringStatsAnomalies) GetFeatureStats() []*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies { 804 if x != nil { 805 return x.FeatureStats 806 } 807 return nil 808} 809 810// Historical Stats (and Anomalies) for a specific Feature. 811type ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies struct { 812 state protoimpl.MessageState 813 sizeCache protoimpl.SizeCache 814 unknownFields protoimpl.UnknownFields 815 816 // Display Name of the Feature. 817 FeatureDisplayName string `protobuf:"bytes,1,opt,name=feature_display_name,json=featureDisplayName,proto3" json:"feature_display_name,omitempty"` 818 // Threshold for anomaly detection. 819 Threshold *ThresholdConfig `protobuf:"bytes,3,opt,name=threshold,proto3" json:"threshold,omitempty"` 820 // Stats calculated for the Training Dataset. 821 TrainingStats *FeatureStatsAnomaly `protobuf:"bytes,4,opt,name=training_stats,json=trainingStats,proto3" json:"training_stats,omitempty"` 822 // A list of historical stats generated by different time window's 823 // Prediction Dataset. 824 PredictionStats []*FeatureStatsAnomaly `protobuf:"bytes,5,rep,name=prediction_stats,json=predictionStats,proto3" json:"prediction_stats,omitempty"` 825} 826 827func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) Reset() { 828 *x = ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies{} 829 if protoimpl.UnsafeEnabled { 830 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[6] 831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 832 ms.StoreMessageInfo(mi) 833 } 834} 835 836func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) String() string { 837 return protoimpl.X.MessageStringOf(x) 838} 839 840func (*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) ProtoMessage() {} 841 842func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) ProtoReflect() protoreflect.Message { 843 mi := &file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[6] 844 if protoimpl.UnsafeEnabled && x != nil { 845 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 846 if ms.LoadMessageInfo() == nil { 847 ms.StoreMessageInfo(mi) 848 } 849 return ms 850 } 851 return mi.MessageOf(x) 852} 853 854// Deprecated: Use ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies.ProtoReflect.Descriptor instead. 855func (*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) Descriptor() ([]byte, []int) { 856 return file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{4, 0} 857} 858 859func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetFeatureDisplayName() string { 860 if x != nil { 861 return x.FeatureDisplayName 862 } 863 return "" 864} 865 866func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetThreshold() *ThresholdConfig { 867 if x != nil { 868 return x.Threshold 869 } 870 return nil 871} 872 873func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetTrainingStats() *FeatureStatsAnomaly { 874 if x != nil { 875 return x.TrainingStats 876 } 877 return nil 878} 879 880func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetPredictionStats() []*FeatureStatsAnomaly { 881 if x != nil { 882 return x.PredictionStats 883 } 884 return nil 885} 886 887var File_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto protoreflect.FileDescriptor 888 889var file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDesc = []byte{ 890 0x0a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 891 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 892 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 893 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 894 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 895 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 896 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 897 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 898 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 899 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 900 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 901 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 902 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 903 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 904 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 905 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 906 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 907 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 908 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 909 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 910 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 911 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 912 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 913 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 914 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 915 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 916 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 917 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 918 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 919 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 920 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 921 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 922 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 923 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 924 0x6f, 0x22, 0xda, 0x11, 0x0a, 0x1c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 925 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 926 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 927 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 928 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 929 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 930 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 931 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 932 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 933 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 934 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x73, 935 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 936 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 937 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 938 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x7c, 0x0a, 0x0e, 939 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 940 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 941 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 942 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 943 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x4d, 944 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 945 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x63, 0x68, 946 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0xab, 0x01, 0x0a, 0x2d, 0x6d, 947 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 948 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 949 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 950 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 951 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 952 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 953 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 954 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x29, 0x6d, 955 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 956 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 957 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xa6, 0x01, 0x0a, 0x2b, 0x6d, 0x6f, 0x64, 958 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 959 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 960 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 961 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 962 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 963 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 964 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 965 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 966 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 967 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 968 0x67, 0x12, 0x6d, 0x0a, 0x19, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x61, 0x6d, 969 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x08, 970 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 971 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 972 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 973 0x67, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 974 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 975 0x12, 0x79, 0x0a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 976 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 977 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 978 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 979 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 980 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 981 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 982 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x1b, 0x70, 983 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 984 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 985 0x52, 0x18, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 986 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x4e, 0x0a, 0x17, 0x73, 0x61, 987 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x73, 988 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 989 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 990 0x6c, 0x75, 0x65, 0x52, 0x15, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 991 0x63, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x61, 0x6e, 992 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 993 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 994 0x52, 0x19, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 995 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x70, 0x0a, 0x0f, 0x62, 996 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0a, 997 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 998 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 999 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 1000 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x67, 0x51, 0x75, 1001 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x62, 1002 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 1003 0x07, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 1004 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1005 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x54, 0x74, 1006 0x6c, 0x12, 0x5c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 1007 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1008 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 1009 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 1010 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 1011 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 1012 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 1013 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1014 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 1015 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 1016 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 1017 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1018 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 1019 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 1020 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 1021 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 1022 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1023 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 1024 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x69, 1025 0x6d, 0x65, 0x12, 0x6f, 0x0a, 0x1e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6e, 0x6f, 0x6d, 1026 0x61, 0x6c, 0x69, 0x65, 0x73, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 1027 0x74, 0x6f, 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 1028 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1029 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 1030 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 1031 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x42, 0x61, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 1032 0x6f, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 1033 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 1034 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1035 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1036 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 1037 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x45, 0x0a, 0x1f, 0x65, 0x6e, 0x61, 0x62, 1038 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 1039 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 1040 0x08, 0x52, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 1041 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x12, 1042 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 1043 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 1044 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x39, 1045 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 1046 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 1047 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 1048 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x17, 0x4d, 0x6f, 0x6e, 1049 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 1050 0x74, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x49, 1051 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 1052 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 1053 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 1054 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 1055 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0xa5, 0x01, 0xea, 0x41, 0xa1, 0x01, 0x0a, 0x36, 0x61, 1056 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1057 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 1058 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 1059 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x67, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 1060 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 1061 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, 1062 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 1063 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 1064 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 1065 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0xaf, 1066 0x03, 0x0a, 0x26, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 1067 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x67, 0x51, 1068 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x6b, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 1069 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 1070 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 1071 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 1072 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1073 0x72, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 1074 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x67, 1075 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x65, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 1076 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1077 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1078 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 1079 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 1080 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 1081 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 1082 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 1083 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x69, 0x67, 0x71, 1084 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x42, 0x0a, 1085 0x09, 0x4c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x4f, 1086 0x47, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 1087 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x49, 1088 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x10, 1089 0x02, 0x22, 0x3d, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 1090 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 1091 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 1092 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x02, 1093 0x22, 0xbd, 0x01, 0x0a, 0x28, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 1094 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 1095 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 1096 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 1097 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 1098 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x65, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 1099 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 1100 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1101 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1102 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 1103 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 1104 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1105 0x22, 0x74, 0x0a, 0x27, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 1106 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 1107 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x10, 0x6d, 1108 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 1109 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1110 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1111 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x49, 0x6e, 1112 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xa3, 0x05, 0x0a, 0x1d, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 1113 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 1114 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 1115 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 1116 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 1117 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 1118 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 1119 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 1120 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 1121 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 1122 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 1123 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 1124 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 1125 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x7c, 0x0a, 0x0d, 0x66, 1126 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 1127 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1128 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 1129 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 1130 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x2e, 0x46, 0x65, 1131 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 1132 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x66, 0x65, 0x61, 1133 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xd0, 0x02, 0x0a, 0x1d, 0x46, 0x65, 1134 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 1135 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x66, 1136 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 1137 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 1138 0x72, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 1139 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 1140 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1141 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x68, 1142 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x74, 1143 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x56, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x69, 1144 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 1145 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1146 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 1147 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 1148 0x79, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 1149 0x12, 0x5a, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 1150 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 1151 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1152 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 1153 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x52, 0x0f, 0x70, 0x72, 0x65, 1154 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2a, 0xce, 0x01, 0x0a, 1155 0x26, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 1156 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 1157 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x36, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 1158 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 1159 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 1160 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 1161 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x41, 0x57, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 1162 0x52, 0x45, 0x5f, 0x53, 0x4b, 0x45, 0x57, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x41, 0x57, 1163 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x44, 0x52, 0x49, 0x46, 0x54, 0x10, 0x02, 1164 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 1165 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4b, 0x45, 0x57, 0x10, 0x03, 0x12, 0x1d, 1166 0x0a, 0x19, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 1167 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x52, 0x49, 0x46, 0x54, 0x10, 0x04, 0x42, 0xe5, 0x01, 1168 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1169 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1170 0x42, 0x21, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 1171 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x50, 0x72, 1172 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 1173 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 1174 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 1175 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 1176 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 1177 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 1178 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 1179 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1180 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 1181 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1182 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1183} 1184 1185var ( 1186 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescOnce sync.Once 1187 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescData = file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDesc 1188) 1189 1190func file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescGZIP() []byte { 1191 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescOnce.Do(func() { 1192 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) 1193 }) 1194 return file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDescData 1195} 1196 1197var file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_enumTypes = make([]protoimpl.EnumInfo, 4) 1198var file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes = make([]protoimpl.MessageInfo, 7) 1199var file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_goTypes = []interface{}{ 1200 (ModelDeploymentMonitoringObjectiveType)(0), // 0: google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveType 1201 (ModelDeploymentMonitoringJob_MonitoringScheduleState)(0), // 1: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.MonitoringScheduleState 1202 (ModelDeploymentMonitoringBigQueryTable_LogSource)(0), // 2: google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable.LogSource 1203 (ModelDeploymentMonitoringBigQueryTable_LogType)(0), // 3: google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable.LogType 1204 (*ModelDeploymentMonitoringJob)(nil), // 4: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob 1205 (*ModelDeploymentMonitoringBigQueryTable)(nil), // 5: google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable 1206 (*ModelDeploymentMonitoringObjectiveConfig)(nil), // 6: google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveConfig 1207 (*ModelDeploymentMonitoringScheduleConfig)(nil), // 7: google.cloud.aiplatform.v1.ModelDeploymentMonitoringScheduleConfig 1208 (*ModelMonitoringStatsAnomalies)(nil), // 8: google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies 1209 nil, // 9: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.LabelsEntry 1210 (*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies)(nil), // 10: google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies 1211 (JobState)(0), // 11: google.cloud.aiplatform.v1.JobState 1212 (*SamplingStrategy)(nil), // 12: google.cloud.aiplatform.v1.SamplingStrategy 1213 (*ModelMonitoringAlertConfig)(nil), // 13: google.cloud.aiplatform.v1.ModelMonitoringAlertConfig 1214 (*structpb.Value)(nil), // 14: google.protobuf.Value 1215 (*durationpb.Duration)(nil), // 15: google.protobuf.Duration 1216 (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp 1217 (*GcsDestination)(nil), // 17: google.cloud.aiplatform.v1.GcsDestination 1218 (*EncryptionSpec)(nil), // 18: google.cloud.aiplatform.v1.EncryptionSpec 1219 (*status.Status)(nil), // 19: google.rpc.Status 1220 (*ModelMonitoringObjectiveConfig)(nil), // 20: google.cloud.aiplatform.v1.ModelMonitoringObjectiveConfig 1221 (*ThresholdConfig)(nil), // 21: google.cloud.aiplatform.v1.ThresholdConfig 1222 (*FeatureStatsAnomaly)(nil), // 22: google.cloud.aiplatform.v1.FeatureStatsAnomaly 1223} 1224var file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_depIdxs = []int32{ 1225 11, // 0: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.state:type_name -> google.cloud.aiplatform.v1.JobState 1226 1, // 1: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.schedule_state:type_name -> google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.MonitoringScheduleState 1227 6, // 2: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.model_deployment_monitoring_objective_configs:type_name -> google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveConfig 1228 7, // 3: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.model_deployment_monitoring_schedule_config:type_name -> google.cloud.aiplatform.v1.ModelDeploymentMonitoringScheduleConfig 1229 12, // 4: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.logging_sampling_strategy:type_name -> google.cloud.aiplatform.v1.SamplingStrategy 1230 13, // 5: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.model_monitoring_alert_config:type_name -> google.cloud.aiplatform.v1.ModelMonitoringAlertConfig 1231 14, // 6: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.sample_predict_instance:type_name -> google.protobuf.Value 1232 5, // 7: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.bigquery_tables:type_name -> google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable 1233 15, // 8: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.log_ttl:type_name -> google.protobuf.Duration 1234 9, // 9: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.labels:type_name -> google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.LabelsEntry 1235 16, // 10: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.create_time:type_name -> google.protobuf.Timestamp 1236 16, // 11: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.update_time:type_name -> google.protobuf.Timestamp 1237 16, // 12: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.next_schedule_time:type_name -> google.protobuf.Timestamp 1238 17, // 13: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.stats_anomalies_base_directory:type_name -> google.cloud.aiplatform.v1.GcsDestination 1239 18, // 14: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.encryption_spec:type_name -> google.cloud.aiplatform.v1.EncryptionSpec 1240 19, // 15: google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.error:type_name -> google.rpc.Status 1241 2, // 16: google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable.log_source:type_name -> google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable.LogSource 1242 3, // 17: google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable.log_type:type_name -> google.cloud.aiplatform.v1.ModelDeploymentMonitoringBigQueryTable.LogType 1243 20, // 18: google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveConfig.objective_config:type_name -> google.cloud.aiplatform.v1.ModelMonitoringObjectiveConfig 1244 15, // 19: google.cloud.aiplatform.v1.ModelDeploymentMonitoringScheduleConfig.monitor_interval:type_name -> google.protobuf.Duration 1245 0, // 20: google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.objective:type_name -> google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveType 1246 10, // 21: google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.feature_stats:type_name -> google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies 1247 21, // 22: google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.threshold:type_name -> google.cloud.aiplatform.v1.ThresholdConfig 1248 22, // 23: google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.training_stats:type_name -> google.cloud.aiplatform.v1.FeatureStatsAnomaly 1249 22, // 24: google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats:type_name -> google.cloud.aiplatform.v1.FeatureStatsAnomaly 1250 25, // [25:25] is the sub-list for method output_type 1251 25, // [25:25] is the sub-list for method input_type 1252 25, // [25:25] is the sub-list for extension type_name 1253 25, // [25:25] is the sub-list for extension extendee 1254 0, // [0:25] is the sub-list for field type_name 1255} 1256 1257func init() { file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_init() } 1258func file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_init() { 1259 if File_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto != nil { 1260 return 1261 } 1262 file_google_cloud_aiplatform_v1_encryption_spec_proto_init() 1263 file_google_cloud_aiplatform_v1_feature_monitoring_stats_proto_init() 1264 file_google_cloud_aiplatform_v1_io_proto_init() 1265 file_google_cloud_aiplatform_v1_job_state_proto_init() 1266 file_google_cloud_aiplatform_v1_model_monitoring_proto_init() 1267 if !protoimpl.UnsafeEnabled { 1268 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1269 switch v := v.(*ModelDeploymentMonitoringJob); 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_v1_model_deployment_monitoring_job_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1281 switch v := v.(*ModelDeploymentMonitoringBigQueryTable); 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 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1293 switch v := v.(*ModelDeploymentMonitoringObjectiveConfig); i { 1294 case 0: 1295 return &v.state 1296 case 1: 1297 return &v.sizeCache 1298 case 2: 1299 return &v.unknownFields 1300 default: 1301 return nil 1302 } 1303 } 1304 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1305 switch v := v.(*ModelDeploymentMonitoringScheduleConfig); i { 1306 case 0: 1307 return &v.state 1308 case 1: 1309 return &v.sizeCache 1310 case 2: 1311 return &v.unknownFields 1312 default: 1313 return nil 1314 } 1315 } 1316 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1317 switch v := v.(*ModelMonitoringStatsAnomalies); i { 1318 case 0: 1319 return &v.state 1320 case 1: 1321 return &v.sizeCache 1322 case 2: 1323 return &v.unknownFields 1324 default: 1325 return nil 1326 } 1327 } 1328 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1329 switch v := v.(*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies); i { 1330 case 0: 1331 return &v.state 1332 case 1: 1333 return &v.sizeCache 1334 case 2: 1335 return &v.unknownFields 1336 default: 1337 return nil 1338 } 1339 } 1340 } 1341 type x struct{} 1342 out := protoimpl.TypeBuilder{ 1343 File: protoimpl.DescBuilder{ 1344 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1345 RawDescriptor: file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDesc, 1346 NumEnums: 4, 1347 NumMessages: 7, 1348 NumExtensions: 0, 1349 NumServices: 0, 1350 }, 1351 GoTypes: file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_goTypes, 1352 DependencyIndexes: file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_depIdxs, 1353 EnumInfos: file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_enumTypes, 1354 MessageInfos: file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_msgTypes, 1355 }.Build() 1356 File_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto = out.File 1357 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_rawDesc = nil 1358 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_goTypes = nil 1359 file_google_cloud_aiplatform_v1_model_deployment_monitoring_job_proto_depIdxs = nil 1360} 1361