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/monitoring/v3/service.proto 20 21package monitoring 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 _ "google.golang.org/genproto/googleapis/api/annotations" 28 calendarperiod "google.golang.org/genproto/googleapis/type/calendarperiod" 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 _ "google.golang.org/protobuf/types/known/timestamppb" 33) 34 35const ( 36 // Verify that this generated code is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 38 // Verify that runtime/protoimpl is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 40) 41 42// `ServiceLevelObjective.View` determines what form of 43// `ServiceLevelObjective` is returned from `GetServiceLevelObjective`, 44// `ListServiceLevelObjectives`, and `ListServiceLevelObjectiveVersions` RPCs. 45type ServiceLevelObjective_View int32 46 47const ( 48 // Same as FULL. 49 ServiceLevelObjective_VIEW_UNSPECIFIED ServiceLevelObjective_View = 0 50 // Return the embedded `ServiceLevelIndicator` in the form in which it was 51 // defined. If it was defined using a `BasicSli`, return that `BasicSli`. 52 ServiceLevelObjective_FULL ServiceLevelObjective_View = 2 53 // For `ServiceLevelIndicator`s using `BasicSli` articulation, instead 54 // return the `ServiceLevelIndicator` with its mode of computation fully 55 // spelled out as a `RequestBasedSli`. For `ServiceLevelIndicator`s using 56 // `RequestBasedSli` or `WindowsBasedSli`, return the 57 // `ServiceLevelIndicator` as it was provided. 58 ServiceLevelObjective_EXPLICIT ServiceLevelObjective_View = 1 59) 60 61// Enum value maps for ServiceLevelObjective_View. 62var ( 63 ServiceLevelObjective_View_name = map[int32]string{ 64 0: "VIEW_UNSPECIFIED", 65 2: "FULL", 66 1: "EXPLICIT", 67 } 68 ServiceLevelObjective_View_value = map[string]int32{ 69 "VIEW_UNSPECIFIED": 0, 70 "FULL": 2, 71 "EXPLICIT": 1, 72 } 73) 74 75func (x ServiceLevelObjective_View) Enum() *ServiceLevelObjective_View { 76 p := new(ServiceLevelObjective_View) 77 *p = x 78 return p 79} 80 81func (x ServiceLevelObjective_View) String() string { 82 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 83} 84 85func (ServiceLevelObjective_View) Descriptor() protoreflect.EnumDescriptor { 86 return file_google_monitoring_v3_service_proto_enumTypes[0].Descriptor() 87} 88 89func (ServiceLevelObjective_View) Type() protoreflect.EnumType { 90 return &file_google_monitoring_v3_service_proto_enumTypes[0] 91} 92 93func (x ServiceLevelObjective_View) Number() protoreflect.EnumNumber { 94 return protoreflect.EnumNumber(x) 95} 96 97// Deprecated: Use ServiceLevelObjective_View.Descriptor instead. 98func (ServiceLevelObjective_View) EnumDescriptor() ([]byte, []int) { 99 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{1, 0} 100} 101 102// A `Service` is a discrete, autonomous, and network-accessible unit, designed 103// to solve an individual concern 104// ([Wikipedia](https://en.wikipedia.org/wiki/Service-orientation)). In 105// Cloud Monitoring, a `Service` acts as the root resource under which 106// operational aspects of the service are accessible. 107type Service struct { 108 state protoimpl.MessageState 109 sizeCache protoimpl.SizeCache 110 unknownFields protoimpl.UnknownFields 111 112 // Resource name for this Service. The format is: 113 // 114 // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] 115 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 116 // Name used for UI elements listing this Service. 117 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 118 // REQUIRED. Service-identifying atoms specifying the underlying service. 119 // 120 // Types that are assignable to Identifier: 121 // *Service_Custom_ 122 // *Service_AppEngine_ 123 // *Service_CloudEndpoints_ 124 // *Service_ClusterIstio_ 125 // *Service_MeshIstio_ 126 // *Service_IstioCanonicalService_ 127 Identifier isService_Identifier `protobuf_oneof:"identifier"` 128 // Configuration for how to query telemetry on a Service. 129 Telemetry *Service_Telemetry `protobuf:"bytes,13,opt,name=telemetry,proto3" json:"telemetry,omitempty"` 130 // Labels which have been used to annotate the service. Label keys must start 131 // with a letter. Label keys and values may contain lowercase letters, 132 // numbers, underscores, and dashes. Label keys and values have a maximum 133 // length of 63 characters, and must be less than 128 bytes in size. Up to 64 134 // label entries may be stored. For labels which do not have a semantic value, 135 // the empty string may be supplied for the label value. 136 UserLabels map[string]string `protobuf:"bytes,14,rep,name=user_labels,json=userLabels,proto3" json:"user_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 137} 138 139func (x *Service) Reset() { 140 *x = Service{} 141 if protoimpl.UnsafeEnabled { 142 mi := &file_google_monitoring_v3_service_proto_msgTypes[0] 143 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 144 ms.StoreMessageInfo(mi) 145 } 146} 147 148func (x *Service) String() string { 149 return protoimpl.X.MessageStringOf(x) 150} 151 152func (*Service) ProtoMessage() {} 153 154func (x *Service) ProtoReflect() protoreflect.Message { 155 mi := &file_google_monitoring_v3_service_proto_msgTypes[0] 156 if protoimpl.UnsafeEnabled && x != nil { 157 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 158 if ms.LoadMessageInfo() == nil { 159 ms.StoreMessageInfo(mi) 160 } 161 return ms 162 } 163 return mi.MessageOf(x) 164} 165 166// Deprecated: Use Service.ProtoReflect.Descriptor instead. 167func (*Service) Descriptor() ([]byte, []int) { 168 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{0} 169} 170 171func (x *Service) GetName() string { 172 if x != nil { 173 return x.Name 174 } 175 return "" 176} 177 178func (x *Service) GetDisplayName() string { 179 if x != nil { 180 return x.DisplayName 181 } 182 return "" 183} 184 185func (m *Service) GetIdentifier() isService_Identifier { 186 if m != nil { 187 return m.Identifier 188 } 189 return nil 190} 191 192func (x *Service) GetCustom() *Service_Custom { 193 if x, ok := x.GetIdentifier().(*Service_Custom_); ok { 194 return x.Custom 195 } 196 return nil 197} 198 199func (x *Service) GetAppEngine() *Service_AppEngine { 200 if x, ok := x.GetIdentifier().(*Service_AppEngine_); ok { 201 return x.AppEngine 202 } 203 return nil 204} 205 206func (x *Service) GetCloudEndpoints() *Service_CloudEndpoints { 207 if x, ok := x.GetIdentifier().(*Service_CloudEndpoints_); ok { 208 return x.CloudEndpoints 209 } 210 return nil 211} 212 213func (x *Service) GetClusterIstio() *Service_ClusterIstio { 214 if x, ok := x.GetIdentifier().(*Service_ClusterIstio_); ok { 215 return x.ClusterIstio 216 } 217 return nil 218} 219 220func (x *Service) GetMeshIstio() *Service_MeshIstio { 221 if x, ok := x.GetIdentifier().(*Service_MeshIstio_); ok { 222 return x.MeshIstio 223 } 224 return nil 225} 226 227func (x *Service) GetIstioCanonicalService() *Service_IstioCanonicalService { 228 if x, ok := x.GetIdentifier().(*Service_IstioCanonicalService_); ok { 229 return x.IstioCanonicalService 230 } 231 return nil 232} 233 234func (x *Service) GetTelemetry() *Service_Telemetry { 235 if x != nil { 236 return x.Telemetry 237 } 238 return nil 239} 240 241func (x *Service) GetUserLabels() map[string]string { 242 if x != nil { 243 return x.UserLabels 244 } 245 return nil 246} 247 248type isService_Identifier interface { 249 isService_Identifier() 250} 251 252type Service_Custom_ struct { 253 // Custom service type. 254 Custom *Service_Custom `protobuf:"bytes,6,opt,name=custom,proto3,oneof"` 255} 256 257type Service_AppEngine_ struct { 258 // Type used for App Engine services. 259 AppEngine *Service_AppEngine `protobuf:"bytes,7,opt,name=app_engine,json=appEngine,proto3,oneof"` 260} 261 262type Service_CloudEndpoints_ struct { 263 // Type used for Cloud Endpoints services. 264 CloudEndpoints *Service_CloudEndpoints `protobuf:"bytes,8,opt,name=cloud_endpoints,json=cloudEndpoints,proto3,oneof"` 265} 266 267type Service_ClusterIstio_ struct { 268 // Type used for Istio services that live in a Kubernetes cluster. 269 ClusterIstio *Service_ClusterIstio `protobuf:"bytes,9,opt,name=cluster_istio,json=clusterIstio,proto3,oneof"` 270} 271 272type Service_MeshIstio_ struct { 273 // Type used for Istio services scoped to an Istio mesh. 274 MeshIstio *Service_MeshIstio `protobuf:"bytes,10,opt,name=mesh_istio,json=meshIstio,proto3,oneof"` 275} 276 277type Service_IstioCanonicalService_ struct { 278 // Type used for canonical services scoped to an Istio mesh. 279 // Metrics for Istio are 280 // [documented here](https://istio.io/latest/docs/reference/config/metrics/) 281 IstioCanonicalService *Service_IstioCanonicalService `protobuf:"bytes,11,opt,name=istio_canonical_service,json=istioCanonicalService,proto3,oneof"` 282} 283 284func (*Service_Custom_) isService_Identifier() {} 285 286func (*Service_AppEngine_) isService_Identifier() {} 287 288func (*Service_CloudEndpoints_) isService_Identifier() {} 289 290func (*Service_ClusterIstio_) isService_Identifier() {} 291 292func (*Service_MeshIstio_) isService_Identifier() {} 293 294func (*Service_IstioCanonicalService_) isService_Identifier() {} 295 296// A Service-Level Objective (SLO) describes a level of desired good service. It 297// consists of a service-level indicator (SLI), a performance goal, and a period 298// over which the objective is to be evaluated against that goal. The SLO can 299// use SLIs defined in a number of different manners. Typical SLOs might include 300// "99% of requests in each rolling week have latency below 200 milliseconds" or 301// "99.5% of requests in each calendar month return successfully." 302type ServiceLevelObjective struct { 303 state protoimpl.MessageState 304 sizeCache protoimpl.SizeCache 305 unknownFields protoimpl.UnknownFields 306 307 // Resource name for this `ServiceLevelObjective`. The format is: 308 // 309 // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] 310 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 311 // Name used for UI elements listing this SLO. 312 DisplayName string `protobuf:"bytes,11,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 313 // The definition of good service, used to measure and calculate the quality 314 // of the `Service`'s performance with respect to a single aspect of service 315 // quality. 316 ServiceLevelIndicator *ServiceLevelIndicator `protobuf:"bytes,3,opt,name=service_level_indicator,json=serviceLevelIndicator,proto3" json:"service_level_indicator,omitempty"` 317 // The fraction of service that must be good in order for this objective to be 318 // met. `0 < goal <= 0.999`. 319 Goal float64 `protobuf:"fixed64,4,opt,name=goal,proto3" json:"goal,omitempty"` 320 // The time period over which the objective will be evaluated. 321 // 322 // Types that are assignable to Period: 323 // *ServiceLevelObjective_RollingPeriod 324 // *ServiceLevelObjective_CalendarPeriod 325 Period isServiceLevelObjective_Period `protobuf_oneof:"period"` 326 // Labels which have been used to annotate the service-level objective. Label 327 // keys must start with a letter. Label keys and values may contain lowercase 328 // letters, numbers, underscores, and dashes. Label keys and values have a 329 // maximum length of 63 characters, and must be less than 128 bytes in size. 330 // Up to 64 label entries may be stored. For labels which do not have a 331 // semantic value, the empty string may be supplied for the label value. 332 UserLabels map[string]string `protobuf:"bytes,12,rep,name=user_labels,json=userLabels,proto3" json:"user_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 333} 334 335func (x *ServiceLevelObjective) Reset() { 336 *x = ServiceLevelObjective{} 337 if protoimpl.UnsafeEnabled { 338 mi := &file_google_monitoring_v3_service_proto_msgTypes[1] 339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 340 ms.StoreMessageInfo(mi) 341 } 342} 343 344func (x *ServiceLevelObjective) String() string { 345 return protoimpl.X.MessageStringOf(x) 346} 347 348func (*ServiceLevelObjective) ProtoMessage() {} 349 350func (x *ServiceLevelObjective) ProtoReflect() protoreflect.Message { 351 mi := &file_google_monitoring_v3_service_proto_msgTypes[1] 352 if protoimpl.UnsafeEnabled && x != nil { 353 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 354 if ms.LoadMessageInfo() == nil { 355 ms.StoreMessageInfo(mi) 356 } 357 return ms 358 } 359 return mi.MessageOf(x) 360} 361 362// Deprecated: Use ServiceLevelObjective.ProtoReflect.Descriptor instead. 363func (*ServiceLevelObjective) Descriptor() ([]byte, []int) { 364 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{1} 365} 366 367func (x *ServiceLevelObjective) GetName() string { 368 if x != nil { 369 return x.Name 370 } 371 return "" 372} 373 374func (x *ServiceLevelObjective) GetDisplayName() string { 375 if x != nil { 376 return x.DisplayName 377 } 378 return "" 379} 380 381func (x *ServiceLevelObjective) GetServiceLevelIndicator() *ServiceLevelIndicator { 382 if x != nil { 383 return x.ServiceLevelIndicator 384 } 385 return nil 386} 387 388func (x *ServiceLevelObjective) GetGoal() float64 { 389 if x != nil { 390 return x.Goal 391 } 392 return 0 393} 394 395func (m *ServiceLevelObjective) GetPeriod() isServiceLevelObjective_Period { 396 if m != nil { 397 return m.Period 398 } 399 return nil 400} 401 402func (x *ServiceLevelObjective) GetRollingPeriod() *durationpb.Duration { 403 if x, ok := x.GetPeriod().(*ServiceLevelObjective_RollingPeriod); ok { 404 return x.RollingPeriod 405 } 406 return nil 407} 408 409func (x *ServiceLevelObjective) GetCalendarPeriod() calendarperiod.CalendarPeriod { 410 if x, ok := x.GetPeriod().(*ServiceLevelObjective_CalendarPeriod); ok { 411 return x.CalendarPeriod 412 } 413 return calendarperiod.CalendarPeriod_CALENDAR_PERIOD_UNSPECIFIED 414} 415 416func (x *ServiceLevelObjective) GetUserLabels() map[string]string { 417 if x != nil { 418 return x.UserLabels 419 } 420 return nil 421} 422 423type isServiceLevelObjective_Period interface { 424 isServiceLevelObjective_Period() 425} 426 427type ServiceLevelObjective_RollingPeriod struct { 428 // A rolling time period, semantically "in the past `<rolling_period>`". 429 // Must be an integer multiple of 1 day no larger than 30 days. 430 RollingPeriod *durationpb.Duration `protobuf:"bytes,5,opt,name=rolling_period,json=rollingPeriod,proto3,oneof"` 431} 432 433type ServiceLevelObjective_CalendarPeriod struct { 434 // A calendar period, semantically "since the start of the current 435 // `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and 436 // `MONTH` are supported. 437 CalendarPeriod calendarperiod.CalendarPeriod `protobuf:"varint,6,opt,name=calendar_period,json=calendarPeriod,proto3,enum=google.type.CalendarPeriod,oneof"` 438} 439 440func (*ServiceLevelObjective_RollingPeriod) isServiceLevelObjective_Period() {} 441 442func (*ServiceLevelObjective_CalendarPeriod) isServiceLevelObjective_Period() {} 443 444// A Service-Level Indicator (SLI) describes the "performance" of a service. For 445// some services, the SLI is well-defined. In such cases, the SLI can be 446// described easily by referencing the well-known SLI and providing the needed 447// parameters. Alternatively, a "custom" SLI can be defined with a query to the 448// underlying metric store. An SLI is defined to be `good_service / 449// total_service` over any queried time interval. The value of performance 450// always falls into the range `0 <= performance <= 1`. A custom SLI describes 451// how to compute this ratio, whether this is by dividing values from a pair of 452// time series, cutting a `Distribution` into good and bad counts, or counting 453// time windows in which the service complies with a criterion. For separation 454// of concerns, a single Service-Level Indicator measures performance for only 455// one aspect of service quality, such as fraction of successful queries or 456// fast-enough queries. 457type ServiceLevelIndicator struct { 458 state protoimpl.MessageState 459 sizeCache protoimpl.SizeCache 460 unknownFields protoimpl.UnknownFields 461 462 // Service level indicators can be grouped by whether the "unit" of service 463 // being measured is based on counts of good requests or on counts of good 464 // time windows 465 // 466 // Types that are assignable to Type: 467 // *ServiceLevelIndicator_BasicSli 468 // *ServiceLevelIndicator_RequestBased 469 // *ServiceLevelIndicator_WindowsBased 470 Type isServiceLevelIndicator_Type `protobuf_oneof:"type"` 471} 472 473func (x *ServiceLevelIndicator) Reset() { 474 *x = ServiceLevelIndicator{} 475 if protoimpl.UnsafeEnabled { 476 mi := &file_google_monitoring_v3_service_proto_msgTypes[2] 477 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 478 ms.StoreMessageInfo(mi) 479 } 480} 481 482func (x *ServiceLevelIndicator) String() string { 483 return protoimpl.X.MessageStringOf(x) 484} 485 486func (*ServiceLevelIndicator) ProtoMessage() {} 487 488func (x *ServiceLevelIndicator) ProtoReflect() protoreflect.Message { 489 mi := &file_google_monitoring_v3_service_proto_msgTypes[2] 490 if protoimpl.UnsafeEnabled && x != nil { 491 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 492 if ms.LoadMessageInfo() == nil { 493 ms.StoreMessageInfo(mi) 494 } 495 return ms 496 } 497 return mi.MessageOf(x) 498} 499 500// Deprecated: Use ServiceLevelIndicator.ProtoReflect.Descriptor instead. 501func (*ServiceLevelIndicator) Descriptor() ([]byte, []int) { 502 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{2} 503} 504 505func (m *ServiceLevelIndicator) GetType() isServiceLevelIndicator_Type { 506 if m != nil { 507 return m.Type 508 } 509 return nil 510} 511 512func (x *ServiceLevelIndicator) GetBasicSli() *BasicSli { 513 if x, ok := x.GetType().(*ServiceLevelIndicator_BasicSli); ok { 514 return x.BasicSli 515 } 516 return nil 517} 518 519func (x *ServiceLevelIndicator) GetRequestBased() *RequestBasedSli { 520 if x, ok := x.GetType().(*ServiceLevelIndicator_RequestBased); ok { 521 return x.RequestBased 522 } 523 return nil 524} 525 526func (x *ServiceLevelIndicator) GetWindowsBased() *WindowsBasedSli { 527 if x, ok := x.GetType().(*ServiceLevelIndicator_WindowsBased); ok { 528 return x.WindowsBased 529 } 530 return nil 531} 532 533type isServiceLevelIndicator_Type interface { 534 isServiceLevelIndicator_Type() 535} 536 537type ServiceLevelIndicator_BasicSli struct { 538 // Basic SLI on a well-known service type. 539 BasicSli *BasicSli `protobuf:"bytes,4,opt,name=basic_sli,json=basicSli,proto3,oneof"` 540} 541 542type ServiceLevelIndicator_RequestBased struct { 543 // Request-based SLIs 544 RequestBased *RequestBasedSli `protobuf:"bytes,1,opt,name=request_based,json=requestBased,proto3,oneof"` 545} 546 547type ServiceLevelIndicator_WindowsBased struct { 548 // Windows-based SLIs 549 WindowsBased *WindowsBasedSli `protobuf:"bytes,2,opt,name=windows_based,json=windowsBased,proto3,oneof"` 550} 551 552func (*ServiceLevelIndicator_BasicSli) isServiceLevelIndicator_Type() {} 553 554func (*ServiceLevelIndicator_RequestBased) isServiceLevelIndicator_Type() {} 555 556func (*ServiceLevelIndicator_WindowsBased) isServiceLevelIndicator_Type() {} 557 558// An SLI measuring performance on a well-known service type. Performance will 559// be computed on the basis of pre-defined metrics. The type of the 560// `service_resource` determines the metrics to use and the 561// `service_resource.labels` and `metric_labels` are used to construct a 562// monitoring filter to filter that metric down to just the data relevant to 563// this service. 564type BasicSli struct { 565 state protoimpl.MessageState 566 sizeCache protoimpl.SizeCache 567 unknownFields protoimpl.UnknownFields 568 569 // OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry from 570 // other methods will not be used to calculate performance for this SLI. If 571 // omitted, this SLI applies to all the Service's methods. For service types 572 // that don't support breaking down by method, setting this field will result 573 // in an error. 574 Method []string `protobuf:"bytes,7,rep,name=method,proto3" json:"method,omitempty"` 575 // OPTIONAL: The set of locations to which this SLI is relevant. Telemetry 576 // from other locations will not be used to calculate performance for this 577 // SLI. If omitted, this SLI applies to all locations in which the Service has 578 // activity. For service types that don't support breaking down by location, 579 // setting this field will result in an error. 580 Location []string `protobuf:"bytes,8,rep,name=location,proto3" json:"location,omitempty"` 581 // OPTIONAL: The set of API versions to which this SLI is relevant. Telemetry 582 // from other API versions will not be used to calculate performance for this 583 // SLI. If omitted, this SLI applies to all API versions. For service types 584 // that don't support breaking down by version, setting this field will result 585 // in an error. 586 Version []string `protobuf:"bytes,9,rep,name=version,proto3" json:"version,omitempty"` 587 // This SLI can be evaluated on the basis of availability or latency. 588 // 589 // Types that are assignable to SliCriteria: 590 // *BasicSli_Availability 591 // *BasicSli_Latency 592 SliCriteria isBasicSli_SliCriteria `protobuf_oneof:"sli_criteria"` 593} 594 595func (x *BasicSli) Reset() { 596 *x = BasicSli{} 597 if protoimpl.UnsafeEnabled { 598 mi := &file_google_monitoring_v3_service_proto_msgTypes[3] 599 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 600 ms.StoreMessageInfo(mi) 601 } 602} 603 604func (x *BasicSli) String() string { 605 return protoimpl.X.MessageStringOf(x) 606} 607 608func (*BasicSli) ProtoMessage() {} 609 610func (x *BasicSli) ProtoReflect() protoreflect.Message { 611 mi := &file_google_monitoring_v3_service_proto_msgTypes[3] 612 if protoimpl.UnsafeEnabled && x != nil { 613 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 614 if ms.LoadMessageInfo() == nil { 615 ms.StoreMessageInfo(mi) 616 } 617 return ms 618 } 619 return mi.MessageOf(x) 620} 621 622// Deprecated: Use BasicSli.ProtoReflect.Descriptor instead. 623func (*BasicSli) Descriptor() ([]byte, []int) { 624 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{3} 625} 626 627func (x *BasicSli) GetMethod() []string { 628 if x != nil { 629 return x.Method 630 } 631 return nil 632} 633 634func (x *BasicSli) GetLocation() []string { 635 if x != nil { 636 return x.Location 637 } 638 return nil 639} 640 641func (x *BasicSli) GetVersion() []string { 642 if x != nil { 643 return x.Version 644 } 645 return nil 646} 647 648func (m *BasicSli) GetSliCriteria() isBasicSli_SliCriteria { 649 if m != nil { 650 return m.SliCriteria 651 } 652 return nil 653} 654 655func (x *BasicSli) GetAvailability() *BasicSli_AvailabilityCriteria { 656 if x, ok := x.GetSliCriteria().(*BasicSli_Availability); ok { 657 return x.Availability 658 } 659 return nil 660} 661 662func (x *BasicSli) GetLatency() *BasicSli_LatencyCriteria { 663 if x, ok := x.GetSliCriteria().(*BasicSli_Latency); ok { 664 return x.Latency 665 } 666 return nil 667} 668 669type isBasicSli_SliCriteria interface { 670 isBasicSli_SliCriteria() 671} 672 673type BasicSli_Availability struct { 674 // Good service is defined to be the count of requests made to this service 675 // that return successfully. 676 Availability *BasicSli_AvailabilityCriteria `protobuf:"bytes,2,opt,name=availability,proto3,oneof"` 677} 678 679type BasicSli_Latency struct { 680 // Good service is defined to be the count of requests made to this service 681 // that are fast enough with respect to `latency.threshold`. 682 Latency *BasicSli_LatencyCriteria `protobuf:"bytes,3,opt,name=latency,proto3,oneof"` 683} 684 685func (*BasicSli_Availability) isBasicSli_SliCriteria() {} 686 687func (*BasicSli_Latency) isBasicSli_SliCriteria() {} 688 689// Range of numerical values within `min` and `max`. 690type Range struct { 691 state protoimpl.MessageState 692 sizeCache protoimpl.SizeCache 693 unknownFields protoimpl.UnknownFields 694 695 // Range minimum. 696 Min float64 `protobuf:"fixed64,1,opt,name=min,proto3" json:"min,omitempty"` 697 // Range maximum. 698 Max float64 `protobuf:"fixed64,2,opt,name=max,proto3" json:"max,omitempty"` 699} 700 701func (x *Range) Reset() { 702 *x = Range{} 703 if protoimpl.UnsafeEnabled { 704 mi := &file_google_monitoring_v3_service_proto_msgTypes[4] 705 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 706 ms.StoreMessageInfo(mi) 707 } 708} 709 710func (x *Range) String() string { 711 return protoimpl.X.MessageStringOf(x) 712} 713 714func (*Range) ProtoMessage() {} 715 716func (x *Range) ProtoReflect() protoreflect.Message { 717 mi := &file_google_monitoring_v3_service_proto_msgTypes[4] 718 if protoimpl.UnsafeEnabled && x != nil { 719 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 720 if ms.LoadMessageInfo() == nil { 721 ms.StoreMessageInfo(mi) 722 } 723 return ms 724 } 725 return mi.MessageOf(x) 726} 727 728// Deprecated: Use Range.ProtoReflect.Descriptor instead. 729func (*Range) Descriptor() ([]byte, []int) { 730 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{4} 731} 732 733func (x *Range) GetMin() float64 { 734 if x != nil { 735 return x.Min 736 } 737 return 0 738} 739 740func (x *Range) GetMax() float64 { 741 if x != nil { 742 return x.Max 743 } 744 return 0 745} 746 747// Service Level Indicators for which atomic units of service are counted 748// directly. 749type RequestBasedSli struct { 750 state protoimpl.MessageState 751 sizeCache protoimpl.SizeCache 752 unknownFields protoimpl.UnknownFields 753 754 // The means to compute a ratio of `good_service` to `total_service`. 755 // 756 // Types that are assignable to Method: 757 // *RequestBasedSli_GoodTotalRatio 758 // *RequestBasedSli_DistributionCut 759 Method isRequestBasedSli_Method `protobuf_oneof:"method"` 760} 761 762func (x *RequestBasedSli) Reset() { 763 *x = RequestBasedSli{} 764 if protoimpl.UnsafeEnabled { 765 mi := &file_google_monitoring_v3_service_proto_msgTypes[5] 766 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 767 ms.StoreMessageInfo(mi) 768 } 769} 770 771func (x *RequestBasedSli) String() string { 772 return protoimpl.X.MessageStringOf(x) 773} 774 775func (*RequestBasedSli) ProtoMessage() {} 776 777func (x *RequestBasedSli) ProtoReflect() protoreflect.Message { 778 mi := &file_google_monitoring_v3_service_proto_msgTypes[5] 779 if protoimpl.UnsafeEnabled && x != nil { 780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 781 if ms.LoadMessageInfo() == nil { 782 ms.StoreMessageInfo(mi) 783 } 784 return ms 785 } 786 return mi.MessageOf(x) 787} 788 789// Deprecated: Use RequestBasedSli.ProtoReflect.Descriptor instead. 790func (*RequestBasedSli) Descriptor() ([]byte, []int) { 791 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{5} 792} 793 794func (m *RequestBasedSli) GetMethod() isRequestBasedSli_Method { 795 if m != nil { 796 return m.Method 797 } 798 return nil 799} 800 801func (x *RequestBasedSli) GetGoodTotalRatio() *TimeSeriesRatio { 802 if x, ok := x.GetMethod().(*RequestBasedSli_GoodTotalRatio); ok { 803 return x.GoodTotalRatio 804 } 805 return nil 806} 807 808func (x *RequestBasedSli) GetDistributionCut() *DistributionCut { 809 if x, ok := x.GetMethod().(*RequestBasedSli_DistributionCut); ok { 810 return x.DistributionCut 811 } 812 return nil 813} 814 815type isRequestBasedSli_Method interface { 816 isRequestBasedSli_Method() 817} 818 819type RequestBasedSli_GoodTotalRatio struct { 820 // `good_total_ratio` is used when the ratio of `good_service` to 821 // `total_service` is computed from two `TimeSeries`. 822 GoodTotalRatio *TimeSeriesRatio `protobuf:"bytes,1,opt,name=good_total_ratio,json=goodTotalRatio,proto3,oneof"` 823} 824 825type RequestBasedSli_DistributionCut struct { 826 // `distribution_cut` is used when `good_service` is a count of values 827 // aggregated in a `Distribution` that fall into a good range. The 828 // `total_service` is the total count of all values aggregated in the 829 // `Distribution`. 830 DistributionCut *DistributionCut `protobuf:"bytes,3,opt,name=distribution_cut,json=distributionCut,proto3,oneof"` 831} 832 833func (*RequestBasedSli_GoodTotalRatio) isRequestBasedSli_Method() {} 834 835func (*RequestBasedSli_DistributionCut) isRequestBasedSli_Method() {} 836 837// A `TimeSeriesRatio` specifies two `TimeSeries` to use for computing the 838// `good_service / total_service` ratio. The specified `TimeSeries` must have 839// `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = 840// DELTA` or `MetricKind = CUMULATIVE`. The `TimeSeriesRatio` must specify 841// exactly two of good, bad, and total, and the relationship `good_service + 842// bad_service = total_service` will be assumed. 843type TimeSeriesRatio struct { 844 state protoimpl.MessageState 845 sizeCache protoimpl.SizeCache 846 unknownFields protoimpl.UnknownFields 847 848 // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) 849 // specifying a `TimeSeries` quantifying good service provided. Must have 850 // `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = 851 // DELTA` or `MetricKind = CUMULATIVE`. 852 GoodServiceFilter string `protobuf:"bytes,4,opt,name=good_service_filter,json=goodServiceFilter,proto3" json:"good_service_filter,omitempty"` 853 // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) 854 // specifying a `TimeSeries` quantifying bad service, either demanded service 855 // that was not provided or demanded service that was of inadequate quality. 856 // Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have 857 // `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. 858 BadServiceFilter string `protobuf:"bytes,5,opt,name=bad_service_filter,json=badServiceFilter,proto3" json:"bad_service_filter,omitempty"` 859 // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) 860 // specifying a `TimeSeries` quantifying total demanded service. Must have 861 // `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = 862 // DELTA` or `MetricKind = CUMULATIVE`. 863 TotalServiceFilter string `protobuf:"bytes,6,opt,name=total_service_filter,json=totalServiceFilter,proto3" json:"total_service_filter,omitempty"` 864} 865 866func (x *TimeSeriesRatio) Reset() { 867 *x = TimeSeriesRatio{} 868 if protoimpl.UnsafeEnabled { 869 mi := &file_google_monitoring_v3_service_proto_msgTypes[6] 870 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 871 ms.StoreMessageInfo(mi) 872 } 873} 874 875func (x *TimeSeriesRatio) String() string { 876 return protoimpl.X.MessageStringOf(x) 877} 878 879func (*TimeSeriesRatio) ProtoMessage() {} 880 881func (x *TimeSeriesRatio) ProtoReflect() protoreflect.Message { 882 mi := &file_google_monitoring_v3_service_proto_msgTypes[6] 883 if protoimpl.UnsafeEnabled && x != nil { 884 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 885 if ms.LoadMessageInfo() == nil { 886 ms.StoreMessageInfo(mi) 887 } 888 return ms 889 } 890 return mi.MessageOf(x) 891} 892 893// Deprecated: Use TimeSeriesRatio.ProtoReflect.Descriptor instead. 894func (*TimeSeriesRatio) Descriptor() ([]byte, []int) { 895 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{6} 896} 897 898func (x *TimeSeriesRatio) GetGoodServiceFilter() string { 899 if x != nil { 900 return x.GoodServiceFilter 901 } 902 return "" 903} 904 905func (x *TimeSeriesRatio) GetBadServiceFilter() string { 906 if x != nil { 907 return x.BadServiceFilter 908 } 909 return "" 910} 911 912func (x *TimeSeriesRatio) GetTotalServiceFilter() string { 913 if x != nil { 914 return x.TotalServiceFilter 915 } 916 return "" 917} 918 919// A `DistributionCut` defines a `TimeSeries` and thresholds used for measuring 920// good service and total service. The `TimeSeries` must have `ValueType = 921// DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. The 922// computed `good_service` will be the estimated count of values in the 923// `Distribution` that fall within the specified `min` and `max`. 924type DistributionCut struct { 925 state protoimpl.MessageState 926 sizeCache protoimpl.SizeCache 927 unknownFields protoimpl.UnknownFields 928 929 // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) 930 // specifying a `TimeSeries` aggregating values. Must have `ValueType = 931 // DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. 932 DistributionFilter string `protobuf:"bytes,4,opt,name=distribution_filter,json=distributionFilter,proto3" json:"distribution_filter,omitempty"` 933 // Range of values considered "good." For a one-sided range, set one bound to 934 // an infinite value. 935 Range *Range `protobuf:"bytes,5,opt,name=range,proto3" json:"range,omitempty"` 936} 937 938func (x *DistributionCut) Reset() { 939 *x = DistributionCut{} 940 if protoimpl.UnsafeEnabled { 941 mi := &file_google_monitoring_v3_service_proto_msgTypes[7] 942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 943 ms.StoreMessageInfo(mi) 944 } 945} 946 947func (x *DistributionCut) String() string { 948 return protoimpl.X.MessageStringOf(x) 949} 950 951func (*DistributionCut) ProtoMessage() {} 952 953func (x *DistributionCut) ProtoReflect() protoreflect.Message { 954 mi := &file_google_monitoring_v3_service_proto_msgTypes[7] 955 if protoimpl.UnsafeEnabled && x != nil { 956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 957 if ms.LoadMessageInfo() == nil { 958 ms.StoreMessageInfo(mi) 959 } 960 return ms 961 } 962 return mi.MessageOf(x) 963} 964 965// Deprecated: Use DistributionCut.ProtoReflect.Descriptor instead. 966func (*DistributionCut) Descriptor() ([]byte, []int) { 967 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{7} 968} 969 970func (x *DistributionCut) GetDistributionFilter() string { 971 if x != nil { 972 return x.DistributionFilter 973 } 974 return "" 975} 976 977func (x *DistributionCut) GetRange() *Range { 978 if x != nil { 979 return x.Range 980 } 981 return nil 982} 983 984// A `WindowsBasedSli` defines `good_service` as the count of time windows for 985// which the provided service was of good quality. Criteria for determining 986// if service was good are embedded in the `window_criterion`. 987type WindowsBasedSli struct { 988 state protoimpl.MessageState 989 sizeCache protoimpl.SizeCache 990 unknownFields protoimpl.UnknownFields 991 992 // The criterion to use for evaluating window goodness. 993 // 994 // Types that are assignable to WindowCriterion: 995 // *WindowsBasedSli_GoodBadMetricFilter 996 // *WindowsBasedSli_GoodTotalRatioThreshold 997 // *WindowsBasedSli_MetricMeanInRange 998 // *WindowsBasedSli_MetricSumInRange 999 WindowCriterion isWindowsBasedSli_WindowCriterion `protobuf_oneof:"window_criterion"` 1000 // Duration over which window quality is evaluated. Must be an integer 1001 // fraction of a day and at least `60s`. 1002 WindowPeriod *durationpb.Duration `protobuf:"bytes,4,opt,name=window_period,json=windowPeriod,proto3" json:"window_period,omitempty"` 1003} 1004 1005func (x *WindowsBasedSli) Reset() { 1006 *x = WindowsBasedSli{} 1007 if protoimpl.UnsafeEnabled { 1008 mi := &file_google_monitoring_v3_service_proto_msgTypes[8] 1009 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1010 ms.StoreMessageInfo(mi) 1011 } 1012} 1013 1014func (x *WindowsBasedSli) String() string { 1015 return protoimpl.X.MessageStringOf(x) 1016} 1017 1018func (*WindowsBasedSli) ProtoMessage() {} 1019 1020func (x *WindowsBasedSli) ProtoReflect() protoreflect.Message { 1021 mi := &file_google_monitoring_v3_service_proto_msgTypes[8] 1022 if protoimpl.UnsafeEnabled && x != nil { 1023 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1024 if ms.LoadMessageInfo() == nil { 1025 ms.StoreMessageInfo(mi) 1026 } 1027 return ms 1028 } 1029 return mi.MessageOf(x) 1030} 1031 1032// Deprecated: Use WindowsBasedSli.ProtoReflect.Descriptor instead. 1033func (*WindowsBasedSli) Descriptor() ([]byte, []int) { 1034 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{8} 1035} 1036 1037func (m *WindowsBasedSli) GetWindowCriterion() isWindowsBasedSli_WindowCriterion { 1038 if m != nil { 1039 return m.WindowCriterion 1040 } 1041 return nil 1042} 1043 1044func (x *WindowsBasedSli) GetGoodBadMetricFilter() string { 1045 if x, ok := x.GetWindowCriterion().(*WindowsBasedSli_GoodBadMetricFilter); ok { 1046 return x.GoodBadMetricFilter 1047 } 1048 return "" 1049} 1050 1051func (x *WindowsBasedSli) GetGoodTotalRatioThreshold() *WindowsBasedSli_PerformanceThreshold { 1052 if x, ok := x.GetWindowCriterion().(*WindowsBasedSli_GoodTotalRatioThreshold); ok { 1053 return x.GoodTotalRatioThreshold 1054 } 1055 return nil 1056} 1057 1058func (x *WindowsBasedSli) GetMetricMeanInRange() *WindowsBasedSli_MetricRange { 1059 if x, ok := x.GetWindowCriterion().(*WindowsBasedSli_MetricMeanInRange); ok { 1060 return x.MetricMeanInRange 1061 } 1062 return nil 1063} 1064 1065func (x *WindowsBasedSli) GetMetricSumInRange() *WindowsBasedSli_MetricRange { 1066 if x, ok := x.GetWindowCriterion().(*WindowsBasedSli_MetricSumInRange); ok { 1067 return x.MetricSumInRange 1068 } 1069 return nil 1070} 1071 1072func (x *WindowsBasedSli) GetWindowPeriod() *durationpb.Duration { 1073 if x != nil { 1074 return x.WindowPeriod 1075 } 1076 return nil 1077} 1078 1079type isWindowsBasedSli_WindowCriterion interface { 1080 isWindowsBasedSli_WindowCriterion() 1081} 1082 1083type WindowsBasedSli_GoodBadMetricFilter struct { 1084 // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) 1085 // specifying a `TimeSeries` with `ValueType = BOOL`. The window is good if 1086 // any `true` values appear in the window. 1087 GoodBadMetricFilter string `protobuf:"bytes,5,opt,name=good_bad_metric_filter,json=goodBadMetricFilter,proto3,oneof"` 1088} 1089 1090type WindowsBasedSli_GoodTotalRatioThreshold struct { 1091 // A window is good if its `performance` is high enough. 1092 GoodTotalRatioThreshold *WindowsBasedSli_PerformanceThreshold `protobuf:"bytes,2,opt,name=good_total_ratio_threshold,json=goodTotalRatioThreshold,proto3,oneof"` 1093} 1094 1095type WindowsBasedSli_MetricMeanInRange struct { 1096 // A window is good if the metric's value is in a good range, averaged 1097 // across returned streams. 1098 MetricMeanInRange *WindowsBasedSli_MetricRange `protobuf:"bytes,6,opt,name=metric_mean_in_range,json=metricMeanInRange,proto3,oneof"` 1099} 1100 1101type WindowsBasedSli_MetricSumInRange struct { 1102 // A window is good if the metric's value is in a good range, summed across 1103 // returned streams. 1104 MetricSumInRange *WindowsBasedSli_MetricRange `protobuf:"bytes,7,opt,name=metric_sum_in_range,json=metricSumInRange,proto3,oneof"` 1105} 1106 1107func (*WindowsBasedSli_GoodBadMetricFilter) isWindowsBasedSli_WindowCriterion() {} 1108 1109func (*WindowsBasedSli_GoodTotalRatioThreshold) isWindowsBasedSli_WindowCriterion() {} 1110 1111func (*WindowsBasedSli_MetricMeanInRange) isWindowsBasedSli_WindowCriterion() {} 1112 1113func (*WindowsBasedSli_MetricSumInRange) isWindowsBasedSli_WindowCriterion() {} 1114 1115// Custom view of service telemetry. Currently a place-holder pending final 1116// design. 1117type Service_Custom struct { 1118 state protoimpl.MessageState 1119 sizeCache protoimpl.SizeCache 1120 unknownFields protoimpl.UnknownFields 1121} 1122 1123func (x *Service_Custom) Reset() { 1124 *x = Service_Custom{} 1125 if protoimpl.UnsafeEnabled { 1126 mi := &file_google_monitoring_v3_service_proto_msgTypes[9] 1127 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1128 ms.StoreMessageInfo(mi) 1129 } 1130} 1131 1132func (x *Service_Custom) String() string { 1133 return protoimpl.X.MessageStringOf(x) 1134} 1135 1136func (*Service_Custom) ProtoMessage() {} 1137 1138func (x *Service_Custom) ProtoReflect() protoreflect.Message { 1139 mi := &file_google_monitoring_v3_service_proto_msgTypes[9] 1140 if protoimpl.UnsafeEnabled && x != nil { 1141 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1142 if ms.LoadMessageInfo() == nil { 1143 ms.StoreMessageInfo(mi) 1144 } 1145 return ms 1146 } 1147 return mi.MessageOf(x) 1148} 1149 1150// Deprecated: Use Service_Custom.ProtoReflect.Descriptor instead. 1151func (*Service_Custom) Descriptor() ([]byte, []int) { 1152 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{0, 0} 1153} 1154 1155// App Engine service. Learn more at https://cloud.google.com/appengine. 1156type Service_AppEngine struct { 1157 state protoimpl.MessageState 1158 sizeCache protoimpl.SizeCache 1159 unknownFields protoimpl.UnknownFields 1160 1161 // The ID of the App Engine module underlying this service. Corresponds to 1162 // the `module_id` resource label in the `gae_app` monitored resource: 1163 // https://cloud.google.com/monitoring/api/resources#tag_gae_app 1164 ModuleId string `protobuf:"bytes,1,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"` 1165} 1166 1167func (x *Service_AppEngine) Reset() { 1168 *x = Service_AppEngine{} 1169 if protoimpl.UnsafeEnabled { 1170 mi := &file_google_monitoring_v3_service_proto_msgTypes[10] 1171 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1172 ms.StoreMessageInfo(mi) 1173 } 1174} 1175 1176func (x *Service_AppEngine) String() string { 1177 return protoimpl.X.MessageStringOf(x) 1178} 1179 1180func (*Service_AppEngine) ProtoMessage() {} 1181 1182func (x *Service_AppEngine) ProtoReflect() protoreflect.Message { 1183 mi := &file_google_monitoring_v3_service_proto_msgTypes[10] 1184 if protoimpl.UnsafeEnabled && x != nil { 1185 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1186 if ms.LoadMessageInfo() == nil { 1187 ms.StoreMessageInfo(mi) 1188 } 1189 return ms 1190 } 1191 return mi.MessageOf(x) 1192} 1193 1194// Deprecated: Use Service_AppEngine.ProtoReflect.Descriptor instead. 1195func (*Service_AppEngine) Descriptor() ([]byte, []int) { 1196 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{0, 1} 1197} 1198 1199func (x *Service_AppEngine) GetModuleId() string { 1200 if x != nil { 1201 return x.ModuleId 1202 } 1203 return "" 1204} 1205 1206// Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints. 1207type Service_CloudEndpoints struct { 1208 state protoimpl.MessageState 1209 sizeCache protoimpl.SizeCache 1210 unknownFields protoimpl.UnknownFields 1211 1212 // The name of the Cloud Endpoints service underlying this service. 1213 // Corresponds to the `service` resource label in the `api` monitored 1214 // resource: https://cloud.google.com/monitoring/api/resources#tag_api 1215 Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` 1216} 1217 1218func (x *Service_CloudEndpoints) Reset() { 1219 *x = Service_CloudEndpoints{} 1220 if protoimpl.UnsafeEnabled { 1221 mi := &file_google_monitoring_v3_service_proto_msgTypes[11] 1222 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1223 ms.StoreMessageInfo(mi) 1224 } 1225} 1226 1227func (x *Service_CloudEndpoints) String() string { 1228 return protoimpl.X.MessageStringOf(x) 1229} 1230 1231func (*Service_CloudEndpoints) ProtoMessage() {} 1232 1233func (x *Service_CloudEndpoints) ProtoReflect() protoreflect.Message { 1234 mi := &file_google_monitoring_v3_service_proto_msgTypes[11] 1235 if protoimpl.UnsafeEnabled && x != nil { 1236 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1237 if ms.LoadMessageInfo() == nil { 1238 ms.StoreMessageInfo(mi) 1239 } 1240 return ms 1241 } 1242 return mi.MessageOf(x) 1243} 1244 1245// Deprecated: Use Service_CloudEndpoints.ProtoReflect.Descriptor instead. 1246func (*Service_CloudEndpoints) Descriptor() ([]byte, []int) { 1247 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{0, 2} 1248} 1249 1250func (x *Service_CloudEndpoints) GetService() string { 1251 if x != nil { 1252 return x.Service 1253 } 1254 return "" 1255} 1256 1257// Istio service scoped to a single Kubernetes cluster. Learn more at 1258// https://istio.io. Clusters running OSS Istio will have their services 1259// ingested as this type. 1260type Service_ClusterIstio struct { 1261 state protoimpl.MessageState 1262 sizeCache protoimpl.SizeCache 1263 unknownFields protoimpl.UnknownFields 1264 1265 // The location of the Kubernetes cluster in which this Istio service is 1266 // defined. Corresponds to the `location` resource label in `k8s_cluster` 1267 // resources. 1268 Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` 1269 // The name of the Kubernetes cluster in which this Istio service is 1270 // defined. Corresponds to the `cluster_name` resource label in 1271 // `k8s_cluster` resources. 1272 ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` 1273 // The namespace of the Istio service underlying this service. Corresponds 1274 // to the `destination_service_namespace` metric label in Istio metrics. 1275 ServiceNamespace string `protobuf:"bytes,3,opt,name=service_namespace,json=serviceNamespace,proto3" json:"service_namespace,omitempty"` 1276 // The name of the Istio service underlying this service. Corresponds to the 1277 // `destination_service_name` metric label in Istio metrics. 1278 ServiceName string `protobuf:"bytes,4,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` 1279} 1280 1281func (x *Service_ClusterIstio) Reset() { 1282 *x = Service_ClusterIstio{} 1283 if protoimpl.UnsafeEnabled { 1284 mi := &file_google_monitoring_v3_service_proto_msgTypes[12] 1285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1286 ms.StoreMessageInfo(mi) 1287 } 1288} 1289 1290func (x *Service_ClusterIstio) String() string { 1291 return protoimpl.X.MessageStringOf(x) 1292} 1293 1294func (*Service_ClusterIstio) ProtoMessage() {} 1295 1296func (x *Service_ClusterIstio) ProtoReflect() protoreflect.Message { 1297 mi := &file_google_monitoring_v3_service_proto_msgTypes[12] 1298 if protoimpl.UnsafeEnabled && x != nil { 1299 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1300 if ms.LoadMessageInfo() == nil { 1301 ms.StoreMessageInfo(mi) 1302 } 1303 return ms 1304 } 1305 return mi.MessageOf(x) 1306} 1307 1308// Deprecated: Use Service_ClusterIstio.ProtoReflect.Descriptor instead. 1309func (*Service_ClusterIstio) Descriptor() ([]byte, []int) { 1310 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{0, 3} 1311} 1312 1313func (x *Service_ClusterIstio) GetLocation() string { 1314 if x != nil { 1315 return x.Location 1316 } 1317 return "" 1318} 1319 1320func (x *Service_ClusterIstio) GetClusterName() string { 1321 if x != nil { 1322 return x.ClusterName 1323 } 1324 return "" 1325} 1326 1327func (x *Service_ClusterIstio) GetServiceNamespace() string { 1328 if x != nil { 1329 return x.ServiceNamespace 1330 } 1331 return "" 1332} 1333 1334func (x *Service_ClusterIstio) GetServiceName() string { 1335 if x != nil { 1336 return x.ServiceName 1337 } 1338 return "" 1339} 1340 1341// Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8 1342// will have their services ingested as this type. 1343type Service_MeshIstio struct { 1344 state protoimpl.MessageState 1345 sizeCache protoimpl.SizeCache 1346 unknownFields protoimpl.UnknownFields 1347 1348 // Identifier for the mesh in which this Istio service is defined. 1349 // Corresponds to the `mesh_uid` metric label in Istio metrics. 1350 MeshUid string `protobuf:"bytes,1,opt,name=mesh_uid,json=meshUid,proto3" json:"mesh_uid,omitempty"` 1351 // The namespace of the Istio service underlying this service. Corresponds 1352 // to the `destination_service_namespace` metric label in Istio metrics. 1353 ServiceNamespace string `protobuf:"bytes,3,opt,name=service_namespace,json=serviceNamespace,proto3" json:"service_namespace,omitempty"` 1354 // The name of the Istio service underlying this service. Corresponds to the 1355 // `destination_service_name` metric label in Istio metrics. 1356 ServiceName string `protobuf:"bytes,4,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` 1357} 1358 1359func (x *Service_MeshIstio) Reset() { 1360 *x = Service_MeshIstio{} 1361 if protoimpl.UnsafeEnabled { 1362 mi := &file_google_monitoring_v3_service_proto_msgTypes[13] 1363 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1364 ms.StoreMessageInfo(mi) 1365 } 1366} 1367 1368func (x *Service_MeshIstio) String() string { 1369 return protoimpl.X.MessageStringOf(x) 1370} 1371 1372func (*Service_MeshIstio) ProtoMessage() {} 1373 1374func (x *Service_MeshIstio) ProtoReflect() protoreflect.Message { 1375 mi := &file_google_monitoring_v3_service_proto_msgTypes[13] 1376 if protoimpl.UnsafeEnabled && x != nil { 1377 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1378 if ms.LoadMessageInfo() == nil { 1379 ms.StoreMessageInfo(mi) 1380 } 1381 return ms 1382 } 1383 return mi.MessageOf(x) 1384} 1385 1386// Deprecated: Use Service_MeshIstio.ProtoReflect.Descriptor instead. 1387func (*Service_MeshIstio) Descriptor() ([]byte, []int) { 1388 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{0, 4} 1389} 1390 1391func (x *Service_MeshIstio) GetMeshUid() string { 1392 if x != nil { 1393 return x.MeshUid 1394 } 1395 return "" 1396} 1397 1398func (x *Service_MeshIstio) GetServiceNamespace() string { 1399 if x != nil { 1400 return x.ServiceNamespace 1401 } 1402 return "" 1403} 1404 1405func (x *Service_MeshIstio) GetServiceName() string { 1406 if x != nil { 1407 return x.ServiceName 1408 } 1409 return "" 1410} 1411 1412// Canonical service scoped to an Istio mesh. Anthos clusters running ASM >= 1413// 1.6.8 will have their services ingested as this type. 1414type Service_IstioCanonicalService struct { 1415 state protoimpl.MessageState 1416 sizeCache protoimpl.SizeCache 1417 unknownFields protoimpl.UnknownFields 1418 1419 // Identifier for the Istio mesh in which this canonical service is defined. 1420 // Corresponds to the `mesh_uid` metric label in 1421 // [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio). 1422 MeshUid string `protobuf:"bytes,1,opt,name=mesh_uid,json=meshUid,proto3" json:"mesh_uid,omitempty"` 1423 // The namespace of the canonical service underlying this service. 1424 // Corresponds to the `destination_canonical_service_namespace` metric 1425 // label in [Istio 1426 // metrics](https://cloud.google.com/monitoring/api/metrics_istio). 1427 CanonicalServiceNamespace string `protobuf:"bytes,3,opt,name=canonical_service_namespace,json=canonicalServiceNamespace,proto3" json:"canonical_service_namespace,omitempty"` 1428 // The name of the canonical service underlying this service. 1429 // Corresponds to the `destination_canonical_service_name` metric label in 1430 // label in [Istio 1431 // metrics](https://cloud.google.com/monitoring/api/metrics_istio). 1432 CanonicalService string `protobuf:"bytes,4,opt,name=canonical_service,json=canonicalService,proto3" json:"canonical_service,omitempty"` 1433} 1434 1435func (x *Service_IstioCanonicalService) Reset() { 1436 *x = Service_IstioCanonicalService{} 1437 if protoimpl.UnsafeEnabled { 1438 mi := &file_google_monitoring_v3_service_proto_msgTypes[14] 1439 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1440 ms.StoreMessageInfo(mi) 1441 } 1442} 1443 1444func (x *Service_IstioCanonicalService) String() string { 1445 return protoimpl.X.MessageStringOf(x) 1446} 1447 1448func (*Service_IstioCanonicalService) ProtoMessage() {} 1449 1450func (x *Service_IstioCanonicalService) ProtoReflect() protoreflect.Message { 1451 mi := &file_google_monitoring_v3_service_proto_msgTypes[14] 1452 if protoimpl.UnsafeEnabled && x != nil { 1453 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1454 if ms.LoadMessageInfo() == nil { 1455 ms.StoreMessageInfo(mi) 1456 } 1457 return ms 1458 } 1459 return mi.MessageOf(x) 1460} 1461 1462// Deprecated: Use Service_IstioCanonicalService.ProtoReflect.Descriptor instead. 1463func (*Service_IstioCanonicalService) Descriptor() ([]byte, []int) { 1464 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{0, 5} 1465} 1466 1467func (x *Service_IstioCanonicalService) GetMeshUid() string { 1468 if x != nil { 1469 return x.MeshUid 1470 } 1471 return "" 1472} 1473 1474func (x *Service_IstioCanonicalService) GetCanonicalServiceNamespace() string { 1475 if x != nil { 1476 return x.CanonicalServiceNamespace 1477 } 1478 return "" 1479} 1480 1481func (x *Service_IstioCanonicalService) GetCanonicalService() string { 1482 if x != nil { 1483 return x.CanonicalService 1484 } 1485 return "" 1486} 1487 1488// Configuration for how to query telemetry on a Service. 1489type Service_Telemetry struct { 1490 state protoimpl.MessageState 1491 sizeCache protoimpl.SizeCache 1492 unknownFields protoimpl.UnknownFields 1493 1494 // The full name of the resource that defines this service. Formatted as 1495 // described in https://cloud.google.com/apis/design/resource_names. 1496 ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"` 1497} 1498 1499func (x *Service_Telemetry) Reset() { 1500 *x = Service_Telemetry{} 1501 if protoimpl.UnsafeEnabled { 1502 mi := &file_google_monitoring_v3_service_proto_msgTypes[15] 1503 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1504 ms.StoreMessageInfo(mi) 1505 } 1506} 1507 1508func (x *Service_Telemetry) String() string { 1509 return protoimpl.X.MessageStringOf(x) 1510} 1511 1512func (*Service_Telemetry) ProtoMessage() {} 1513 1514func (x *Service_Telemetry) ProtoReflect() protoreflect.Message { 1515 mi := &file_google_monitoring_v3_service_proto_msgTypes[15] 1516 if protoimpl.UnsafeEnabled && x != nil { 1517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1518 if ms.LoadMessageInfo() == nil { 1519 ms.StoreMessageInfo(mi) 1520 } 1521 return ms 1522 } 1523 return mi.MessageOf(x) 1524} 1525 1526// Deprecated: Use Service_Telemetry.ProtoReflect.Descriptor instead. 1527func (*Service_Telemetry) Descriptor() ([]byte, []int) { 1528 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{0, 6} 1529} 1530 1531func (x *Service_Telemetry) GetResourceName() string { 1532 if x != nil { 1533 return x.ResourceName 1534 } 1535 return "" 1536} 1537 1538// Future parameters for the availability SLI. 1539type BasicSli_AvailabilityCriteria struct { 1540 state protoimpl.MessageState 1541 sizeCache protoimpl.SizeCache 1542 unknownFields protoimpl.UnknownFields 1543} 1544 1545func (x *BasicSli_AvailabilityCriteria) Reset() { 1546 *x = BasicSli_AvailabilityCriteria{} 1547 if protoimpl.UnsafeEnabled { 1548 mi := &file_google_monitoring_v3_service_proto_msgTypes[18] 1549 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1550 ms.StoreMessageInfo(mi) 1551 } 1552} 1553 1554func (x *BasicSli_AvailabilityCriteria) String() string { 1555 return protoimpl.X.MessageStringOf(x) 1556} 1557 1558func (*BasicSli_AvailabilityCriteria) ProtoMessage() {} 1559 1560func (x *BasicSli_AvailabilityCriteria) ProtoReflect() protoreflect.Message { 1561 mi := &file_google_monitoring_v3_service_proto_msgTypes[18] 1562 if protoimpl.UnsafeEnabled && x != nil { 1563 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1564 if ms.LoadMessageInfo() == nil { 1565 ms.StoreMessageInfo(mi) 1566 } 1567 return ms 1568 } 1569 return mi.MessageOf(x) 1570} 1571 1572// Deprecated: Use BasicSli_AvailabilityCriteria.ProtoReflect.Descriptor instead. 1573func (*BasicSli_AvailabilityCriteria) Descriptor() ([]byte, []int) { 1574 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{3, 0} 1575} 1576 1577// Parameters for a latency threshold SLI. 1578type BasicSli_LatencyCriteria struct { 1579 state protoimpl.MessageState 1580 sizeCache protoimpl.SizeCache 1581 unknownFields protoimpl.UnknownFields 1582 1583 // Good service is defined to be the count of requests made to this service 1584 // that return in no more than `threshold`. 1585 Threshold *durationpb.Duration `protobuf:"bytes,3,opt,name=threshold,proto3" json:"threshold,omitempty"` 1586} 1587 1588func (x *BasicSli_LatencyCriteria) Reset() { 1589 *x = BasicSli_LatencyCriteria{} 1590 if protoimpl.UnsafeEnabled { 1591 mi := &file_google_monitoring_v3_service_proto_msgTypes[19] 1592 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1593 ms.StoreMessageInfo(mi) 1594 } 1595} 1596 1597func (x *BasicSli_LatencyCriteria) String() string { 1598 return protoimpl.X.MessageStringOf(x) 1599} 1600 1601func (*BasicSli_LatencyCriteria) ProtoMessage() {} 1602 1603func (x *BasicSli_LatencyCriteria) ProtoReflect() protoreflect.Message { 1604 mi := &file_google_monitoring_v3_service_proto_msgTypes[19] 1605 if protoimpl.UnsafeEnabled && x != nil { 1606 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1607 if ms.LoadMessageInfo() == nil { 1608 ms.StoreMessageInfo(mi) 1609 } 1610 return ms 1611 } 1612 return mi.MessageOf(x) 1613} 1614 1615// Deprecated: Use BasicSli_LatencyCriteria.ProtoReflect.Descriptor instead. 1616func (*BasicSli_LatencyCriteria) Descriptor() ([]byte, []int) { 1617 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{3, 1} 1618} 1619 1620func (x *BasicSli_LatencyCriteria) GetThreshold() *durationpb.Duration { 1621 if x != nil { 1622 return x.Threshold 1623 } 1624 return nil 1625} 1626 1627// A `PerformanceThreshold` is used when each window is good when that window 1628// has a sufficiently high `performance`. 1629type WindowsBasedSli_PerformanceThreshold struct { 1630 state protoimpl.MessageState 1631 sizeCache protoimpl.SizeCache 1632 unknownFields protoimpl.UnknownFields 1633 1634 // The means, either a request-based SLI or a basic SLI, by which to compute 1635 // performance over a window. 1636 // 1637 // Types that are assignable to Type: 1638 // *WindowsBasedSli_PerformanceThreshold_Performance 1639 // *WindowsBasedSli_PerformanceThreshold_BasicSliPerformance 1640 Type isWindowsBasedSli_PerformanceThreshold_Type `protobuf_oneof:"type"` 1641 // If window `performance >= threshold`, the window is counted as good. 1642 Threshold float64 `protobuf:"fixed64,2,opt,name=threshold,proto3" json:"threshold,omitempty"` 1643} 1644 1645func (x *WindowsBasedSli_PerformanceThreshold) Reset() { 1646 *x = WindowsBasedSli_PerformanceThreshold{} 1647 if protoimpl.UnsafeEnabled { 1648 mi := &file_google_monitoring_v3_service_proto_msgTypes[20] 1649 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1650 ms.StoreMessageInfo(mi) 1651 } 1652} 1653 1654func (x *WindowsBasedSli_PerformanceThreshold) String() string { 1655 return protoimpl.X.MessageStringOf(x) 1656} 1657 1658func (*WindowsBasedSli_PerformanceThreshold) ProtoMessage() {} 1659 1660func (x *WindowsBasedSli_PerformanceThreshold) ProtoReflect() protoreflect.Message { 1661 mi := &file_google_monitoring_v3_service_proto_msgTypes[20] 1662 if protoimpl.UnsafeEnabled && x != nil { 1663 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1664 if ms.LoadMessageInfo() == nil { 1665 ms.StoreMessageInfo(mi) 1666 } 1667 return ms 1668 } 1669 return mi.MessageOf(x) 1670} 1671 1672// Deprecated: Use WindowsBasedSli_PerformanceThreshold.ProtoReflect.Descriptor instead. 1673func (*WindowsBasedSli_PerformanceThreshold) Descriptor() ([]byte, []int) { 1674 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{8, 0} 1675} 1676 1677func (m *WindowsBasedSli_PerformanceThreshold) GetType() isWindowsBasedSli_PerformanceThreshold_Type { 1678 if m != nil { 1679 return m.Type 1680 } 1681 return nil 1682} 1683 1684func (x *WindowsBasedSli_PerformanceThreshold) GetPerformance() *RequestBasedSli { 1685 if x, ok := x.GetType().(*WindowsBasedSli_PerformanceThreshold_Performance); ok { 1686 return x.Performance 1687 } 1688 return nil 1689} 1690 1691func (x *WindowsBasedSli_PerformanceThreshold) GetBasicSliPerformance() *BasicSli { 1692 if x, ok := x.GetType().(*WindowsBasedSli_PerformanceThreshold_BasicSliPerformance); ok { 1693 return x.BasicSliPerformance 1694 } 1695 return nil 1696} 1697 1698func (x *WindowsBasedSli_PerformanceThreshold) GetThreshold() float64 { 1699 if x != nil { 1700 return x.Threshold 1701 } 1702 return 0 1703} 1704 1705type isWindowsBasedSli_PerformanceThreshold_Type interface { 1706 isWindowsBasedSli_PerformanceThreshold_Type() 1707} 1708 1709type WindowsBasedSli_PerformanceThreshold_Performance struct { 1710 // `RequestBasedSli` to evaluate to judge window quality. 1711 Performance *RequestBasedSli `protobuf:"bytes,1,opt,name=performance,proto3,oneof"` 1712} 1713 1714type WindowsBasedSli_PerformanceThreshold_BasicSliPerformance struct { 1715 // `BasicSli` to evaluate to judge window quality. 1716 BasicSliPerformance *BasicSli `protobuf:"bytes,3,opt,name=basic_sli_performance,json=basicSliPerformance,proto3,oneof"` 1717} 1718 1719func (*WindowsBasedSli_PerformanceThreshold_Performance) isWindowsBasedSli_PerformanceThreshold_Type() { 1720} 1721 1722func (*WindowsBasedSli_PerformanceThreshold_BasicSliPerformance) isWindowsBasedSli_PerformanceThreshold_Type() { 1723} 1724 1725// A `MetricRange` is used when each window is good when the value x of a 1726// single `TimeSeries` satisfies `range.min <= x <= range.max`. The provided 1727// `TimeSeries` must have `ValueType = INT64` or `ValueType = DOUBLE` and 1728// `MetricKind = GAUGE`. 1729type WindowsBasedSli_MetricRange struct { 1730 state protoimpl.MessageState 1731 sizeCache protoimpl.SizeCache 1732 unknownFields protoimpl.UnknownFields 1733 1734 // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) 1735 // specifying the `TimeSeries` to use for evaluating window quality. 1736 TimeSeries string `protobuf:"bytes,1,opt,name=time_series,json=timeSeries,proto3" json:"time_series,omitempty"` 1737 // Range of values considered "good." For a one-sided range, set one bound 1738 // to an infinite value. 1739 Range *Range `protobuf:"bytes,4,opt,name=range,proto3" json:"range,omitempty"` 1740} 1741 1742func (x *WindowsBasedSli_MetricRange) Reset() { 1743 *x = WindowsBasedSli_MetricRange{} 1744 if protoimpl.UnsafeEnabled { 1745 mi := &file_google_monitoring_v3_service_proto_msgTypes[21] 1746 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1747 ms.StoreMessageInfo(mi) 1748 } 1749} 1750 1751func (x *WindowsBasedSli_MetricRange) String() string { 1752 return protoimpl.X.MessageStringOf(x) 1753} 1754 1755func (*WindowsBasedSli_MetricRange) ProtoMessage() {} 1756 1757func (x *WindowsBasedSli_MetricRange) ProtoReflect() protoreflect.Message { 1758 mi := &file_google_monitoring_v3_service_proto_msgTypes[21] 1759 if protoimpl.UnsafeEnabled && x != nil { 1760 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1761 if ms.LoadMessageInfo() == nil { 1762 ms.StoreMessageInfo(mi) 1763 } 1764 return ms 1765 } 1766 return mi.MessageOf(x) 1767} 1768 1769// Deprecated: Use WindowsBasedSli_MetricRange.ProtoReflect.Descriptor instead. 1770func (*WindowsBasedSli_MetricRange) Descriptor() ([]byte, []int) { 1771 return file_google_monitoring_v3_service_proto_rawDescGZIP(), []int{8, 1} 1772} 1773 1774func (x *WindowsBasedSli_MetricRange) GetTimeSeries() string { 1775 if x != nil { 1776 return x.TimeSeries 1777 } 1778 return "" 1779} 1780 1781func (x *WindowsBasedSli_MetricRange) GetRange() *Range { 1782 if x != nil { 1783 return x.Range 1784 } 1785 return nil 1786} 1787 1788var File_google_monitoring_v3_service_proto protoreflect.FileDescriptor 1789 1790var file_google_monitoring_v3_service_proto_rawDesc = []byte{ 1791 0x0a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 1792 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 1793 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 1794 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 1795 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 1796 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 1797 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1798 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 1799 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1800 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 1801 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 1802 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1803 0x74, 0x79, 0x70, 0x65, 0x2f, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x5f, 0x70, 0x65, 1804 0x72, 0x69, 0x6f, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x0c, 0x0a, 0x07, 0x53, 1805 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 1806 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 1807 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 1808 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 1809 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 1810 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 1811 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x75, 0x73, 1812 0x74, 0x6f, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x48, 0x0a, 1813 0x0a, 0x61, 0x70, 0x70, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 1814 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 1815 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 1816 0x2e, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x09, 0x61, 0x70, 1817 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x57, 0x0a, 0x0f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1818 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 1819 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1820 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 1821 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x00, 1822 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 1823 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x73, 0x74, 0x69, 1824 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1825 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 1826 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x73, 1827 0x74, 0x69, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x73, 1828 0x74, 0x69, 0x6f, 0x12, 0x48, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x73, 0x74, 0x69, 1829 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1830 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 1831 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x49, 0x73, 0x74, 0x69, 0x6f, 1832 0x48, 0x00, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x12, 0x6d, 0x0a, 1833 0x17, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 1834 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 1835 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 1836 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x49, 0x73, 1837 0x74, 0x69, 0x6f, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 1838 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x15, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x61, 0x6e, 0x6f, 1839 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x09, 1840 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 1841 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 1842 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 1843 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 1844 0x74, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 1845 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1846 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 1847 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 1848 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 1849 0x65, 0x6c, 0x73, 0x1a, 0x08, 0x0a, 0x06, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x1a, 0x28, 0x0a, 1850 0x09, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 1851 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 1852 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x1a, 0x2a, 0x0a, 0x0e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 1853 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 1854 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 1855 0x69, 0x63, 0x65, 0x1a, 0x9d, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 1856 0x73, 0x74, 0x69, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1857 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1858 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 1859 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 1860 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 1861 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 1862 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 1863 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 1864 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 1865 0x61, 0x6d, 0x65, 0x1a, 0x76, 0x0a, 0x09, 0x4d, 0x65, 0x73, 0x68, 0x49, 0x73, 0x74, 0x69, 0x6f, 1866 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 1867 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x68, 0x55, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 1868 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 1869 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 1870 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 1871 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 1872 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x9f, 0x01, 0x0a, 0x15, 1873 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 1874 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x75, 0x69, 1875 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x68, 0x55, 0x69, 0x64, 1876 0x12, 0x3e, 0x0a, 0x1b, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x65, 1877 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 1878 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 1879 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 1880 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x65, 1881 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6e, 1882 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x30, 0x0a, 1883 0x09, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 1884 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 1885 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 1886 0x3d, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 1887 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1888 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 1889 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0xa7, 1890 0x01, 0xea, 0x41, 0xa3, 0x01, 0x0a, 0x21, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 1891 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 1892 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 1893 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x72, 1894 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 1895 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 1896 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 1897 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 1898 0x12, 0x23, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 1899 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 1900 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0x01, 0x2a, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 1901 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xfd, 0x06, 0x0a, 0x15, 0x53, 0x65, 0x72, 0x76, 0x69, 1902 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 1903 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 1904 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 1905 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 1906 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 1907 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 1908 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1909 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 1910 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x69, 1911 0x63, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 1912 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 1913 0x67, 0x6f, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x67, 0x6f, 0x61, 0x6c, 1914 0x12, 0x42, 0x0a, 0x0e, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x69, 1915 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1916 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 1917 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x65, 1918 0x72, 0x69, 0x6f, 0x64, 0x12, 0x46, 0x0a, 0x0f, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 1919 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 1920 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x65, 1921 0x6e, 0x64, 0x61, 0x72, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x61, 1922 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x5c, 0x0a, 0x0b, 1923 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 1924 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 1925 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 1926 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x55, 1927 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 1928 0x75, 0x73, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, 0x73, 1929 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 1930 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 1931 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 1932 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x34, 0x0a, 0x04, 0x56, 0x69, 0x65, 1933 0x77, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 1934 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 1935 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x01, 0x3a, 1936 0xca, 0x02, 0xea, 0x41, 0xc6, 0x02, 0x0a, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 1937 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 1938 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x62, 1939 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x56, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 1940 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 1941 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x73, 1942 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 1943 0x74, 0x69, 0x76, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 1944 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x7d, 0x12, 1945 0x60, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 1946 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 1947 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 1948 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x62, 0x6a, 1949 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 1950 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 1951 0x7d, 0x12, 0x54, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 1952 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 1953 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 1954 0x76, 0x65, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2f, 0x7b, 0x73, 1955 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 1956 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x7d, 0x12, 0x01, 0x2a, 0x20, 0x01, 0x42, 0x08, 0x0a, 0x06, 1957 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xfa, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x72, 0x76, 0x69, 1958 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 1959 0x12, 0x3d, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x73, 0x6c, 0x69, 0x18, 0x04, 0x20, 1960 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 1961 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 1962 0x53, 0x6c, 0x69, 0x48, 0x00, 0x52, 0x08, 0x62, 0x61, 0x73, 0x69, 0x63, 0x53, 0x6c, 0x69, 0x12, 1963 0x4c, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 1964 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1965 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 1966 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x48, 0x00, 0x52, 1967 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x12, 0x4c, 0x0a, 1968 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x18, 0x02, 1969 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 1970 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x69, 0x6e, 0x64, 1971 0x6f, 0x77, 0x73, 0x42, 0x61, 0x73, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x48, 0x00, 0x52, 0x0c, 0x77, 1972 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x74, 1973 0x79, 0x70, 0x65, 0x22, 0xf3, 0x02, 0x0a, 0x08, 0x42, 0x61, 0x73, 0x69, 0x63, 0x53, 0x6c, 0x69, 1974 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 1975 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 1976 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 1977 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 1978 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x59, 1979 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 1980 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 1981 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x73, 0x69, 1982 0x63, 0x53, 0x6c, 0x69, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 1983 0x79, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 1984 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x07, 0x6c, 0x61, 0x74, 1985 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 1986 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 1987 0x33, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x53, 0x6c, 0x69, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 1988 0x63, 0x79, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x61, 1989 0x74, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x16, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 1990 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x1a, 0x4a, 0x0a, 1991 0x0f, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 1992 0x12, 0x37, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 1993 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1994 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 1995 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x73, 0x6c, 0x69, 1996 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0x2b, 0x0a, 0x05, 0x52, 0x61, 0x6e, 1997 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 1998 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 1999 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0xc2, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x65, 2000 0x73, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x12, 0x51, 0x0a, 0x10, 0x67, 0x6f, 2001 0x6f, 0x64, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x01, 2002 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 2003 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x69, 0x6d, 0x65, 2004 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x67, 2005 0x6f, 0x6f, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x52, 0x0a, 2006 0x10, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x75, 2007 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2008 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x44, 2009 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x74, 0x48, 0x00, 2010 0x52, 0x0f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x75, 2011 0x74, 0x42, 0x08, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x0f, 2012 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 2013 0x2e, 0x0a, 0x13, 0x67, 0x6f, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 2014 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x67, 0x6f, 2015 0x6f, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 2016 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x66, 2017 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x64, 2018 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 2019 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x66, 2020 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x6f, 0x74, 2021 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 2022 0x75, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 2023 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 2024 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 2025 0x12, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 2026 0x74, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 2027 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 2028 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 2029 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xa4, 0x06, 0x0a, 0x0f, 0x57, 0x69, 0x6e, 0x64, 0x6f, 2030 0x77, 0x73, 0x42, 0x61, 0x73, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x12, 0x35, 0x0a, 0x16, 0x67, 0x6f, 2031 0x6f, 0x64, 0x5f, 0x62, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x66, 0x69, 2032 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x67, 0x6f, 2033 0x6f, 0x64, 0x42, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 2034 0x72, 0x12, 0x79, 0x0a, 0x1a, 0x67, 0x6f, 0x6f, 0x64, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 2035 0x72, 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 2036 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 2037 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x69, 0x6e, 2038 0x64, 0x6f, 0x77, 0x73, 0x42, 0x61, 0x73, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x2e, 0x50, 0x65, 0x72, 2039 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 2040 0x64, 0x48, 0x00, 0x52, 0x17, 0x67, 0x6f, 0x6f, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x61, 2041 0x74, 0x69, 0x6f, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x64, 0x0a, 0x14, 2042 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 2043 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 2044 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 2045 0x33, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x42, 0x61, 0x73, 0x65, 0x64, 0x53, 0x6c, 2046 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 2047 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x61, 0x6e, 0x49, 0x6e, 0x52, 0x61, 0x6e, 2048 0x67, 0x65, 0x12, 0x62, 0x0a, 0x13, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x75, 0x6d, 2049 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 2050 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 2051 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x42, 0x61, 2052 0x73, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x61, 0x6e, 2053 0x67, 0x65, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x75, 0x6d, 0x49, 2054 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 2055 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 2056 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 2057 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 2058 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0xdd, 0x01, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x66, 0x6f, 2059 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 2060 0x49, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 2061 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 2062 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x71, 0x75, 2063 0x65, 0x73, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x48, 0x00, 0x52, 0x0b, 0x70, 2064 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x54, 0x0a, 0x15, 0x62, 0x61, 2065 0x73, 0x69, 0x63, 0x5f, 0x73, 0x6c, 0x69, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 2066 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2067 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 2068 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x53, 0x6c, 0x69, 0x48, 0x00, 0x52, 0x13, 0x62, 0x61, 0x73, 2069 0x69, 0x63, 0x53, 0x6c, 0x69, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 2070 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 2071 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x06, 2072 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x61, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 2073 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 2074 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 2075 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 2076 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 2077 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x6e, 2078 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x77, 0x69, 0x6e, 2079 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x42, 0xce, 0x01, 2080 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x6f, 0x6e, 2081 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x16, 0x53, 0x65, 0x72, 0x76, 2082 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 2083 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 2084 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2085 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 2086 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 2087 0x72, 0x69, 0x6e, 0x67, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 2088 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x56, 2089 0x33, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 2090 0x5c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x33, 0xea, 0x02, 2091 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 2092 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 2093 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2094} 2095 2096var ( 2097 file_google_monitoring_v3_service_proto_rawDescOnce sync.Once 2098 file_google_monitoring_v3_service_proto_rawDescData = file_google_monitoring_v3_service_proto_rawDesc 2099) 2100 2101func file_google_monitoring_v3_service_proto_rawDescGZIP() []byte { 2102 file_google_monitoring_v3_service_proto_rawDescOnce.Do(func() { 2103 file_google_monitoring_v3_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_monitoring_v3_service_proto_rawDescData) 2104 }) 2105 return file_google_monitoring_v3_service_proto_rawDescData 2106} 2107 2108var file_google_monitoring_v3_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 2109var file_google_monitoring_v3_service_proto_msgTypes = make([]protoimpl.MessageInfo, 22) 2110var file_google_monitoring_v3_service_proto_goTypes = []interface{}{ 2111 (ServiceLevelObjective_View)(0), // 0: google.monitoring.v3.ServiceLevelObjective.View 2112 (*Service)(nil), // 1: google.monitoring.v3.Service 2113 (*ServiceLevelObjective)(nil), // 2: google.monitoring.v3.ServiceLevelObjective 2114 (*ServiceLevelIndicator)(nil), // 3: google.monitoring.v3.ServiceLevelIndicator 2115 (*BasicSli)(nil), // 4: google.monitoring.v3.BasicSli 2116 (*Range)(nil), // 5: google.monitoring.v3.Range 2117 (*RequestBasedSli)(nil), // 6: google.monitoring.v3.RequestBasedSli 2118 (*TimeSeriesRatio)(nil), // 7: google.monitoring.v3.TimeSeriesRatio 2119 (*DistributionCut)(nil), // 8: google.monitoring.v3.DistributionCut 2120 (*WindowsBasedSli)(nil), // 9: google.monitoring.v3.WindowsBasedSli 2121 (*Service_Custom)(nil), // 10: google.monitoring.v3.Service.Custom 2122 (*Service_AppEngine)(nil), // 11: google.monitoring.v3.Service.AppEngine 2123 (*Service_CloudEndpoints)(nil), // 12: google.monitoring.v3.Service.CloudEndpoints 2124 (*Service_ClusterIstio)(nil), // 13: google.monitoring.v3.Service.ClusterIstio 2125 (*Service_MeshIstio)(nil), // 14: google.monitoring.v3.Service.MeshIstio 2126 (*Service_IstioCanonicalService)(nil), // 15: google.monitoring.v3.Service.IstioCanonicalService 2127 (*Service_Telemetry)(nil), // 16: google.monitoring.v3.Service.Telemetry 2128 nil, // 17: google.monitoring.v3.Service.UserLabelsEntry 2129 nil, // 18: google.monitoring.v3.ServiceLevelObjective.UserLabelsEntry 2130 (*BasicSli_AvailabilityCriteria)(nil), // 19: google.monitoring.v3.BasicSli.AvailabilityCriteria 2131 (*BasicSli_LatencyCriteria)(nil), // 20: google.monitoring.v3.BasicSli.LatencyCriteria 2132 (*WindowsBasedSli_PerformanceThreshold)(nil), // 21: google.monitoring.v3.WindowsBasedSli.PerformanceThreshold 2133 (*WindowsBasedSli_MetricRange)(nil), // 22: google.monitoring.v3.WindowsBasedSli.MetricRange 2134 (*durationpb.Duration)(nil), // 23: google.protobuf.Duration 2135 (calendarperiod.CalendarPeriod)(0), // 24: google.type.CalendarPeriod 2136} 2137var file_google_monitoring_v3_service_proto_depIdxs = []int32{ 2138 10, // 0: google.monitoring.v3.Service.custom:type_name -> google.monitoring.v3.Service.Custom 2139 11, // 1: google.monitoring.v3.Service.app_engine:type_name -> google.monitoring.v3.Service.AppEngine 2140 12, // 2: google.monitoring.v3.Service.cloud_endpoints:type_name -> google.monitoring.v3.Service.CloudEndpoints 2141 13, // 3: google.monitoring.v3.Service.cluster_istio:type_name -> google.monitoring.v3.Service.ClusterIstio 2142 14, // 4: google.monitoring.v3.Service.mesh_istio:type_name -> google.monitoring.v3.Service.MeshIstio 2143 15, // 5: google.monitoring.v3.Service.istio_canonical_service:type_name -> google.monitoring.v3.Service.IstioCanonicalService 2144 16, // 6: google.monitoring.v3.Service.telemetry:type_name -> google.monitoring.v3.Service.Telemetry 2145 17, // 7: google.monitoring.v3.Service.user_labels:type_name -> google.monitoring.v3.Service.UserLabelsEntry 2146 3, // 8: google.monitoring.v3.ServiceLevelObjective.service_level_indicator:type_name -> google.monitoring.v3.ServiceLevelIndicator 2147 23, // 9: google.monitoring.v3.ServiceLevelObjective.rolling_period:type_name -> google.protobuf.Duration 2148 24, // 10: google.monitoring.v3.ServiceLevelObjective.calendar_period:type_name -> google.type.CalendarPeriod 2149 18, // 11: google.monitoring.v3.ServiceLevelObjective.user_labels:type_name -> google.monitoring.v3.ServiceLevelObjective.UserLabelsEntry 2150 4, // 12: google.monitoring.v3.ServiceLevelIndicator.basic_sli:type_name -> google.monitoring.v3.BasicSli 2151 6, // 13: google.monitoring.v3.ServiceLevelIndicator.request_based:type_name -> google.monitoring.v3.RequestBasedSli 2152 9, // 14: google.monitoring.v3.ServiceLevelIndicator.windows_based:type_name -> google.monitoring.v3.WindowsBasedSli 2153 19, // 15: google.monitoring.v3.BasicSli.availability:type_name -> google.monitoring.v3.BasicSli.AvailabilityCriteria 2154 20, // 16: google.monitoring.v3.BasicSli.latency:type_name -> google.monitoring.v3.BasicSli.LatencyCriteria 2155 7, // 17: google.monitoring.v3.RequestBasedSli.good_total_ratio:type_name -> google.monitoring.v3.TimeSeriesRatio 2156 8, // 18: google.monitoring.v3.RequestBasedSli.distribution_cut:type_name -> google.monitoring.v3.DistributionCut 2157 5, // 19: google.monitoring.v3.DistributionCut.range:type_name -> google.monitoring.v3.Range 2158 21, // 20: google.monitoring.v3.WindowsBasedSli.good_total_ratio_threshold:type_name -> google.monitoring.v3.WindowsBasedSli.PerformanceThreshold 2159 22, // 21: google.monitoring.v3.WindowsBasedSli.metric_mean_in_range:type_name -> google.monitoring.v3.WindowsBasedSli.MetricRange 2160 22, // 22: google.monitoring.v3.WindowsBasedSli.metric_sum_in_range:type_name -> google.monitoring.v3.WindowsBasedSli.MetricRange 2161 23, // 23: google.monitoring.v3.WindowsBasedSli.window_period:type_name -> google.protobuf.Duration 2162 23, // 24: google.monitoring.v3.BasicSli.LatencyCriteria.threshold:type_name -> google.protobuf.Duration 2163 6, // 25: google.monitoring.v3.WindowsBasedSli.PerformanceThreshold.performance:type_name -> google.monitoring.v3.RequestBasedSli 2164 4, // 26: google.monitoring.v3.WindowsBasedSli.PerformanceThreshold.basic_sli_performance:type_name -> google.monitoring.v3.BasicSli 2165 5, // 27: google.monitoring.v3.WindowsBasedSli.MetricRange.range:type_name -> google.monitoring.v3.Range 2166 28, // [28:28] is the sub-list for method output_type 2167 28, // [28:28] is the sub-list for method input_type 2168 28, // [28:28] is the sub-list for extension type_name 2169 28, // [28:28] is the sub-list for extension extendee 2170 0, // [0:28] is the sub-list for field type_name 2171} 2172 2173func init() { file_google_monitoring_v3_service_proto_init() } 2174func file_google_monitoring_v3_service_proto_init() { 2175 if File_google_monitoring_v3_service_proto != nil { 2176 return 2177 } 2178 if !protoimpl.UnsafeEnabled { 2179 file_google_monitoring_v3_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2180 switch v := v.(*Service); i { 2181 case 0: 2182 return &v.state 2183 case 1: 2184 return &v.sizeCache 2185 case 2: 2186 return &v.unknownFields 2187 default: 2188 return nil 2189 } 2190 } 2191 file_google_monitoring_v3_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2192 switch v := v.(*ServiceLevelObjective); i { 2193 case 0: 2194 return &v.state 2195 case 1: 2196 return &v.sizeCache 2197 case 2: 2198 return &v.unknownFields 2199 default: 2200 return nil 2201 } 2202 } 2203 file_google_monitoring_v3_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2204 switch v := v.(*ServiceLevelIndicator); i { 2205 case 0: 2206 return &v.state 2207 case 1: 2208 return &v.sizeCache 2209 case 2: 2210 return &v.unknownFields 2211 default: 2212 return nil 2213 } 2214 } 2215 file_google_monitoring_v3_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2216 switch v := v.(*BasicSli); i { 2217 case 0: 2218 return &v.state 2219 case 1: 2220 return &v.sizeCache 2221 case 2: 2222 return &v.unknownFields 2223 default: 2224 return nil 2225 } 2226 } 2227 file_google_monitoring_v3_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2228 switch v := v.(*Range); i { 2229 case 0: 2230 return &v.state 2231 case 1: 2232 return &v.sizeCache 2233 case 2: 2234 return &v.unknownFields 2235 default: 2236 return nil 2237 } 2238 } 2239 file_google_monitoring_v3_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2240 switch v := v.(*RequestBasedSli); i { 2241 case 0: 2242 return &v.state 2243 case 1: 2244 return &v.sizeCache 2245 case 2: 2246 return &v.unknownFields 2247 default: 2248 return nil 2249 } 2250 } 2251 file_google_monitoring_v3_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2252 switch v := v.(*TimeSeriesRatio); i { 2253 case 0: 2254 return &v.state 2255 case 1: 2256 return &v.sizeCache 2257 case 2: 2258 return &v.unknownFields 2259 default: 2260 return nil 2261 } 2262 } 2263 file_google_monitoring_v3_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2264 switch v := v.(*DistributionCut); i { 2265 case 0: 2266 return &v.state 2267 case 1: 2268 return &v.sizeCache 2269 case 2: 2270 return &v.unknownFields 2271 default: 2272 return nil 2273 } 2274 } 2275 file_google_monitoring_v3_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2276 switch v := v.(*WindowsBasedSli); i { 2277 case 0: 2278 return &v.state 2279 case 1: 2280 return &v.sizeCache 2281 case 2: 2282 return &v.unknownFields 2283 default: 2284 return nil 2285 } 2286 } 2287 file_google_monitoring_v3_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2288 switch v := v.(*Service_Custom); i { 2289 case 0: 2290 return &v.state 2291 case 1: 2292 return &v.sizeCache 2293 case 2: 2294 return &v.unknownFields 2295 default: 2296 return nil 2297 } 2298 } 2299 file_google_monitoring_v3_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2300 switch v := v.(*Service_AppEngine); i { 2301 case 0: 2302 return &v.state 2303 case 1: 2304 return &v.sizeCache 2305 case 2: 2306 return &v.unknownFields 2307 default: 2308 return nil 2309 } 2310 } 2311 file_google_monitoring_v3_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2312 switch v := v.(*Service_CloudEndpoints); i { 2313 case 0: 2314 return &v.state 2315 case 1: 2316 return &v.sizeCache 2317 case 2: 2318 return &v.unknownFields 2319 default: 2320 return nil 2321 } 2322 } 2323 file_google_monitoring_v3_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2324 switch v := v.(*Service_ClusterIstio); i { 2325 case 0: 2326 return &v.state 2327 case 1: 2328 return &v.sizeCache 2329 case 2: 2330 return &v.unknownFields 2331 default: 2332 return nil 2333 } 2334 } 2335 file_google_monitoring_v3_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 2336 switch v := v.(*Service_MeshIstio); i { 2337 case 0: 2338 return &v.state 2339 case 1: 2340 return &v.sizeCache 2341 case 2: 2342 return &v.unknownFields 2343 default: 2344 return nil 2345 } 2346 } 2347 file_google_monitoring_v3_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 2348 switch v := v.(*Service_IstioCanonicalService); i { 2349 case 0: 2350 return &v.state 2351 case 1: 2352 return &v.sizeCache 2353 case 2: 2354 return &v.unknownFields 2355 default: 2356 return nil 2357 } 2358 } 2359 file_google_monitoring_v3_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 2360 switch v := v.(*Service_Telemetry); i { 2361 case 0: 2362 return &v.state 2363 case 1: 2364 return &v.sizeCache 2365 case 2: 2366 return &v.unknownFields 2367 default: 2368 return nil 2369 } 2370 } 2371 file_google_monitoring_v3_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 2372 switch v := v.(*BasicSli_AvailabilityCriteria); i { 2373 case 0: 2374 return &v.state 2375 case 1: 2376 return &v.sizeCache 2377 case 2: 2378 return &v.unknownFields 2379 default: 2380 return nil 2381 } 2382 } 2383 file_google_monitoring_v3_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 2384 switch v := v.(*BasicSli_LatencyCriteria); i { 2385 case 0: 2386 return &v.state 2387 case 1: 2388 return &v.sizeCache 2389 case 2: 2390 return &v.unknownFields 2391 default: 2392 return nil 2393 } 2394 } 2395 file_google_monitoring_v3_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 2396 switch v := v.(*WindowsBasedSli_PerformanceThreshold); i { 2397 case 0: 2398 return &v.state 2399 case 1: 2400 return &v.sizeCache 2401 case 2: 2402 return &v.unknownFields 2403 default: 2404 return nil 2405 } 2406 } 2407 file_google_monitoring_v3_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 2408 switch v := v.(*WindowsBasedSli_MetricRange); i { 2409 case 0: 2410 return &v.state 2411 case 1: 2412 return &v.sizeCache 2413 case 2: 2414 return &v.unknownFields 2415 default: 2416 return nil 2417 } 2418 } 2419 } 2420 file_google_monitoring_v3_service_proto_msgTypes[0].OneofWrappers = []interface{}{ 2421 (*Service_Custom_)(nil), 2422 (*Service_AppEngine_)(nil), 2423 (*Service_CloudEndpoints_)(nil), 2424 (*Service_ClusterIstio_)(nil), 2425 (*Service_MeshIstio_)(nil), 2426 (*Service_IstioCanonicalService_)(nil), 2427 } 2428 file_google_monitoring_v3_service_proto_msgTypes[1].OneofWrappers = []interface{}{ 2429 (*ServiceLevelObjective_RollingPeriod)(nil), 2430 (*ServiceLevelObjective_CalendarPeriod)(nil), 2431 } 2432 file_google_monitoring_v3_service_proto_msgTypes[2].OneofWrappers = []interface{}{ 2433 (*ServiceLevelIndicator_BasicSli)(nil), 2434 (*ServiceLevelIndicator_RequestBased)(nil), 2435 (*ServiceLevelIndicator_WindowsBased)(nil), 2436 } 2437 file_google_monitoring_v3_service_proto_msgTypes[3].OneofWrappers = []interface{}{ 2438 (*BasicSli_Availability)(nil), 2439 (*BasicSli_Latency)(nil), 2440 } 2441 file_google_monitoring_v3_service_proto_msgTypes[5].OneofWrappers = []interface{}{ 2442 (*RequestBasedSli_GoodTotalRatio)(nil), 2443 (*RequestBasedSli_DistributionCut)(nil), 2444 } 2445 file_google_monitoring_v3_service_proto_msgTypes[8].OneofWrappers = []interface{}{ 2446 (*WindowsBasedSli_GoodBadMetricFilter)(nil), 2447 (*WindowsBasedSli_GoodTotalRatioThreshold)(nil), 2448 (*WindowsBasedSli_MetricMeanInRange)(nil), 2449 (*WindowsBasedSli_MetricSumInRange)(nil), 2450 } 2451 file_google_monitoring_v3_service_proto_msgTypes[20].OneofWrappers = []interface{}{ 2452 (*WindowsBasedSli_PerformanceThreshold_Performance)(nil), 2453 (*WindowsBasedSli_PerformanceThreshold_BasicSliPerformance)(nil), 2454 } 2455 type x struct{} 2456 out := protoimpl.TypeBuilder{ 2457 File: protoimpl.DescBuilder{ 2458 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2459 RawDescriptor: file_google_monitoring_v3_service_proto_rawDesc, 2460 NumEnums: 1, 2461 NumMessages: 22, 2462 NumExtensions: 0, 2463 NumServices: 0, 2464 }, 2465 GoTypes: file_google_monitoring_v3_service_proto_goTypes, 2466 DependencyIndexes: file_google_monitoring_v3_service_proto_depIdxs, 2467 EnumInfos: file_google_monitoring_v3_service_proto_enumTypes, 2468 MessageInfos: file_google_monitoring_v3_service_proto_msgTypes, 2469 }.Build() 2470 File_google_monitoring_v3_service_proto = out.File 2471 file_google_monitoring_v3_service_proto_rawDesc = nil 2472 file_google_monitoring_v3_service_proto_goTypes = nil 2473 file_google_monitoring_v3_service_proto_depIdxs = nil 2474} 2475