1 /* 2 * Copyright 2020 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 // Generated by the protocol buffer compiler. DO NOT EDIT! 17 // source: google/cloud/compute/v1/compute.proto 18 19 package com.google.cloud.compute.v1; 20 21 /** 22 * 23 * 24 * <pre> 25 * Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. 26 * </pre> 27 * 28 * Protobuf type {@code google.cloud.compute.v1.OutlierDetection} 29 */ 30 public final class OutlierDetection extends com.google.protobuf.GeneratedMessageV3 31 implements 32 // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.OutlierDetection) 33 OutlierDetectionOrBuilder { 34 private static final long serialVersionUID = 0L; 35 // Use OutlierDetection.newBuilder() to construct. OutlierDetection(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36 private OutlierDetection(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { 37 super(builder); 38 } 39 OutlierDetection()40 private OutlierDetection() {} 41 42 @java.lang.Override 43 @SuppressWarnings({"unused"}) newInstance(UnusedPrivateParameter unused)44 protected java.lang.Object newInstance(UnusedPrivateParameter unused) { 45 return new OutlierDetection(); 46 } 47 48 @java.lang.Override getUnknownFields()49 public final com.google.protobuf.UnknownFieldSet getUnknownFields() { 50 return this.unknownFields; 51 } 52 getDescriptor()53 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 54 return com.google.cloud.compute.v1.Compute 55 .internal_static_google_cloud_compute_v1_OutlierDetection_descriptor; 56 } 57 58 @java.lang.Override 59 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()60 internalGetFieldAccessorTable() { 61 return com.google.cloud.compute.v1.Compute 62 .internal_static_google_cloud_compute_v1_OutlierDetection_fieldAccessorTable 63 .ensureFieldAccessorsInitialized( 64 com.google.cloud.compute.v1.OutlierDetection.class, 65 com.google.cloud.compute.v1.OutlierDetection.Builder.class); 66 } 67 68 private int bitField0_; 69 public static final int BASE_EJECTION_TIME_FIELD_NUMBER = 80997255; 70 private com.google.cloud.compute.v1.Duration baseEjectionTime_; 71 /** 72 * 73 * 74 * <pre> 75 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 76 * </pre> 77 * 78 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 79 * 80 * @return Whether the baseEjectionTime field is set. 81 */ 82 @java.lang.Override hasBaseEjectionTime()83 public boolean hasBaseEjectionTime() { 84 return ((bitField0_ & 0x00000001) != 0); 85 } 86 /** 87 * 88 * 89 * <pre> 90 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 91 * </pre> 92 * 93 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 94 * 95 * @return The baseEjectionTime. 96 */ 97 @java.lang.Override getBaseEjectionTime()98 public com.google.cloud.compute.v1.Duration getBaseEjectionTime() { 99 return baseEjectionTime_ == null 100 ? com.google.cloud.compute.v1.Duration.getDefaultInstance() 101 : baseEjectionTime_; 102 } 103 /** 104 * 105 * 106 * <pre> 107 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 108 * </pre> 109 * 110 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 111 */ 112 @java.lang.Override getBaseEjectionTimeOrBuilder()113 public com.google.cloud.compute.v1.DurationOrBuilder getBaseEjectionTimeOrBuilder() { 114 return baseEjectionTime_ == null 115 ? com.google.cloud.compute.v1.Duration.getDefaultInstance() 116 : baseEjectionTime_; 117 } 118 119 public static final int CONSECUTIVE_ERRORS_FIELD_NUMBER = 387193248; 120 private int consecutiveErrors_ = 0; 121 /** 122 * 123 * 124 * <pre> 125 * Number of errors before a host is ejected from the connection pool. When the backend host is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 126 * </pre> 127 * 128 * <code>optional int32 consecutive_errors = 387193248;</code> 129 * 130 * @return Whether the consecutiveErrors field is set. 131 */ 132 @java.lang.Override hasConsecutiveErrors()133 public boolean hasConsecutiveErrors() { 134 return ((bitField0_ & 0x00000002) != 0); 135 } 136 /** 137 * 138 * 139 * <pre> 140 * Number of errors before a host is ejected from the connection pool. When the backend host is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 141 * </pre> 142 * 143 * <code>optional int32 consecutive_errors = 387193248;</code> 144 * 145 * @return The consecutiveErrors. 146 */ 147 @java.lang.Override getConsecutiveErrors()148 public int getConsecutiveErrors() { 149 return consecutiveErrors_; 150 } 151 152 public static final int CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER = 417504250; 153 private int consecutiveGatewayFailure_ = 0; 154 /** 155 * 156 * 157 * <pre> 158 * The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 159 * </pre> 160 * 161 * <code>optional int32 consecutive_gateway_failure = 417504250;</code> 162 * 163 * @return Whether the consecutiveGatewayFailure field is set. 164 */ 165 @java.lang.Override hasConsecutiveGatewayFailure()166 public boolean hasConsecutiveGatewayFailure() { 167 return ((bitField0_ & 0x00000004) != 0); 168 } 169 /** 170 * 171 * 172 * <pre> 173 * The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 174 * </pre> 175 * 176 * <code>optional int32 consecutive_gateway_failure = 417504250;</code> 177 * 178 * @return The consecutiveGatewayFailure. 179 */ 180 @java.lang.Override getConsecutiveGatewayFailure()181 public int getConsecutiveGatewayFailure() { 182 return consecutiveGatewayFailure_; 183 } 184 185 public static final int ENFORCING_CONSECUTIVE_ERRORS_FIELD_NUMBER = 213133760; 186 private int enforcingConsecutiveErrors_ = 0; 187 /** 188 * 189 * 190 * <pre> 191 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 192 * </pre> 193 * 194 * <code>optional int32 enforcing_consecutive_errors = 213133760;</code> 195 * 196 * @return Whether the enforcingConsecutiveErrors field is set. 197 */ 198 @java.lang.Override hasEnforcingConsecutiveErrors()199 public boolean hasEnforcingConsecutiveErrors() { 200 return ((bitField0_ & 0x00000008) != 0); 201 } 202 /** 203 * 204 * 205 * <pre> 206 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 207 * </pre> 208 * 209 * <code>optional int32 enforcing_consecutive_errors = 213133760;</code> 210 * 211 * @return The enforcingConsecutiveErrors. 212 */ 213 @java.lang.Override getEnforcingConsecutiveErrors()214 public int getEnforcingConsecutiveErrors() { 215 return enforcingConsecutiveErrors_; 216 } 217 218 public static final int ENFORCING_CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER = 394440666; 219 private int enforcingConsecutiveGatewayFailure_ = 0; 220 /** 221 * 222 * 223 * <pre> 224 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 225 * </pre> 226 * 227 * <code>optional int32 enforcing_consecutive_gateway_failure = 394440666;</code> 228 * 229 * @return Whether the enforcingConsecutiveGatewayFailure field is set. 230 */ 231 @java.lang.Override hasEnforcingConsecutiveGatewayFailure()232 public boolean hasEnforcingConsecutiveGatewayFailure() { 233 return ((bitField0_ & 0x00000010) != 0); 234 } 235 /** 236 * 237 * 238 * <pre> 239 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 240 * </pre> 241 * 242 * <code>optional int32 enforcing_consecutive_gateway_failure = 394440666;</code> 243 * 244 * @return The enforcingConsecutiveGatewayFailure. 245 */ 246 @java.lang.Override getEnforcingConsecutiveGatewayFailure()247 public int getEnforcingConsecutiveGatewayFailure() { 248 return enforcingConsecutiveGatewayFailure_; 249 } 250 251 public static final int ENFORCING_SUCCESS_RATE_FIELD_NUMBER = 194508732; 252 private int enforcingSuccessRate_ = 0; 253 /** 254 * 255 * 256 * <pre> 257 * The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. 258 * </pre> 259 * 260 * <code>optional int32 enforcing_success_rate = 194508732;</code> 261 * 262 * @return Whether the enforcingSuccessRate field is set. 263 */ 264 @java.lang.Override hasEnforcingSuccessRate()265 public boolean hasEnforcingSuccessRate() { 266 return ((bitField0_ & 0x00000020) != 0); 267 } 268 /** 269 * 270 * 271 * <pre> 272 * The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. 273 * </pre> 274 * 275 * <code>optional int32 enforcing_success_rate = 194508732;</code> 276 * 277 * @return The enforcingSuccessRate. 278 */ 279 @java.lang.Override getEnforcingSuccessRate()280 public int getEnforcingSuccessRate() { 281 return enforcingSuccessRate_; 282 } 283 284 public static final int INTERVAL_FIELD_NUMBER = 33547461; 285 private com.google.cloud.compute.v1.Duration interval_; 286 /** 287 * 288 * 289 * <pre> 290 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 291 * </pre> 292 * 293 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 294 * 295 * @return Whether the interval field is set. 296 */ 297 @java.lang.Override hasInterval()298 public boolean hasInterval() { 299 return ((bitField0_ & 0x00000040) != 0); 300 } 301 /** 302 * 303 * 304 * <pre> 305 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 306 * </pre> 307 * 308 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 309 * 310 * @return The interval. 311 */ 312 @java.lang.Override getInterval()313 public com.google.cloud.compute.v1.Duration getInterval() { 314 return interval_ == null 315 ? com.google.cloud.compute.v1.Duration.getDefaultInstance() 316 : interval_; 317 } 318 /** 319 * 320 * 321 * <pre> 322 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 323 * </pre> 324 * 325 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 326 */ 327 @java.lang.Override getIntervalOrBuilder()328 public com.google.cloud.compute.v1.DurationOrBuilder getIntervalOrBuilder() { 329 return interval_ == null 330 ? com.google.cloud.compute.v1.Duration.getDefaultInstance() 331 : interval_; 332 } 333 334 public static final int MAX_EJECTION_PERCENT_FIELD_NUMBER = 18436888; 335 private int maxEjectionPercent_ = 0; 336 /** 337 * 338 * 339 * <pre> 340 * Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%. 341 * </pre> 342 * 343 * <code>optional int32 max_ejection_percent = 18436888;</code> 344 * 345 * @return Whether the maxEjectionPercent field is set. 346 */ 347 @java.lang.Override hasMaxEjectionPercent()348 public boolean hasMaxEjectionPercent() { 349 return ((bitField0_ & 0x00000080) != 0); 350 } 351 /** 352 * 353 * 354 * <pre> 355 * Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%. 356 * </pre> 357 * 358 * <code>optional int32 max_ejection_percent = 18436888;</code> 359 * 360 * @return The maxEjectionPercent. 361 */ 362 @java.lang.Override getMaxEjectionPercent()363 public int getMaxEjectionPercent() { 364 return maxEjectionPercent_; 365 } 366 367 public static final int SUCCESS_RATE_MINIMUM_HOSTS_FIELD_NUMBER = 525766903; 368 private int successRateMinimumHosts_ = 0; 369 /** 370 * 371 * 372 * <pre> 373 * The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. 374 * </pre> 375 * 376 * <code>optional int32 success_rate_minimum_hosts = 525766903;</code> 377 * 378 * @return Whether the successRateMinimumHosts field is set. 379 */ 380 @java.lang.Override hasSuccessRateMinimumHosts()381 public boolean hasSuccessRateMinimumHosts() { 382 return ((bitField0_ & 0x00000100) != 0); 383 } 384 /** 385 * 386 * 387 * <pre> 388 * The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. 389 * </pre> 390 * 391 * <code>optional int32 success_rate_minimum_hosts = 525766903;</code> 392 * 393 * @return The successRateMinimumHosts. 394 */ 395 @java.lang.Override getSuccessRateMinimumHosts()396 public int getSuccessRateMinimumHosts() { 397 return successRateMinimumHosts_; 398 } 399 400 public static final int SUCCESS_RATE_REQUEST_VOLUME_FIELD_NUMBER = 281425357; 401 private int successRateRequestVolume_ = 0; 402 /** 403 * 404 * 405 * <pre> 406 * The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. 407 * </pre> 408 * 409 * <code>optional int32 success_rate_request_volume = 281425357;</code> 410 * 411 * @return Whether the successRateRequestVolume field is set. 412 */ 413 @java.lang.Override hasSuccessRateRequestVolume()414 public boolean hasSuccessRateRequestVolume() { 415 return ((bitField0_ & 0x00000200) != 0); 416 } 417 /** 418 * 419 * 420 * <pre> 421 * The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. 422 * </pre> 423 * 424 * <code>optional int32 success_rate_request_volume = 281425357;</code> 425 * 426 * @return The successRateRequestVolume. 427 */ 428 @java.lang.Override getSuccessRateRequestVolume()429 public int getSuccessRateRequestVolume() { 430 return successRateRequestVolume_; 431 } 432 433 public static final int SUCCESS_RATE_STDEV_FACTOR_FIELD_NUMBER = 174735773; 434 private int successRateStdevFactor_ = 0; 435 /** 436 * 437 * 438 * <pre> 439 * This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. 440 * </pre> 441 * 442 * <code>optional int32 success_rate_stdev_factor = 174735773;</code> 443 * 444 * @return Whether the successRateStdevFactor field is set. 445 */ 446 @java.lang.Override hasSuccessRateStdevFactor()447 public boolean hasSuccessRateStdevFactor() { 448 return ((bitField0_ & 0x00000400) != 0); 449 } 450 /** 451 * 452 * 453 * <pre> 454 * This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. 455 * </pre> 456 * 457 * <code>optional int32 success_rate_stdev_factor = 174735773;</code> 458 * 459 * @return The successRateStdevFactor. 460 */ 461 @java.lang.Override getSuccessRateStdevFactor()462 public int getSuccessRateStdevFactor() { 463 return successRateStdevFactor_; 464 } 465 466 private byte memoizedIsInitialized = -1; 467 468 @java.lang.Override isInitialized()469 public final boolean isInitialized() { 470 byte isInitialized = memoizedIsInitialized; 471 if (isInitialized == 1) return true; 472 if (isInitialized == 0) return false; 473 474 memoizedIsInitialized = 1; 475 return true; 476 } 477 478 @java.lang.Override writeTo(com.google.protobuf.CodedOutputStream output)479 public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { 480 if (((bitField0_ & 0x00000080) != 0)) { 481 output.writeInt32(18436888, maxEjectionPercent_); 482 } 483 if (((bitField0_ & 0x00000040) != 0)) { 484 output.writeMessage(33547461, getInterval()); 485 } 486 if (((bitField0_ & 0x00000001) != 0)) { 487 output.writeMessage(80997255, getBaseEjectionTime()); 488 } 489 if (((bitField0_ & 0x00000400) != 0)) { 490 output.writeInt32(174735773, successRateStdevFactor_); 491 } 492 if (((bitField0_ & 0x00000020) != 0)) { 493 output.writeInt32(194508732, enforcingSuccessRate_); 494 } 495 if (((bitField0_ & 0x00000008) != 0)) { 496 output.writeInt32(213133760, enforcingConsecutiveErrors_); 497 } 498 if (((bitField0_ & 0x00000200) != 0)) { 499 output.writeInt32(281425357, successRateRequestVolume_); 500 } 501 if (((bitField0_ & 0x00000002) != 0)) { 502 output.writeInt32(387193248, consecutiveErrors_); 503 } 504 if (((bitField0_ & 0x00000010) != 0)) { 505 output.writeInt32(394440666, enforcingConsecutiveGatewayFailure_); 506 } 507 if (((bitField0_ & 0x00000004) != 0)) { 508 output.writeInt32(417504250, consecutiveGatewayFailure_); 509 } 510 if (((bitField0_ & 0x00000100) != 0)) { 511 output.writeInt32(525766903, successRateMinimumHosts_); 512 } 513 getUnknownFields().writeTo(output); 514 } 515 516 @java.lang.Override getSerializedSize()517 public int getSerializedSize() { 518 int size = memoizedSize; 519 if (size != -1) return size; 520 521 size = 0; 522 if (((bitField0_ & 0x00000080) != 0)) { 523 size += com.google.protobuf.CodedOutputStream.computeInt32Size(18436888, maxEjectionPercent_); 524 } 525 if (((bitField0_ & 0x00000040) != 0)) { 526 size += com.google.protobuf.CodedOutputStream.computeMessageSize(33547461, getInterval()); 527 } 528 if (((bitField0_ & 0x00000001) != 0)) { 529 size += 530 com.google.protobuf.CodedOutputStream.computeMessageSize(80997255, getBaseEjectionTime()); 531 } 532 if (((bitField0_ & 0x00000400) != 0)) { 533 size += 534 com.google.protobuf.CodedOutputStream.computeInt32Size( 535 174735773, successRateStdevFactor_); 536 } 537 if (((bitField0_ & 0x00000020) != 0)) { 538 size += 539 com.google.protobuf.CodedOutputStream.computeInt32Size(194508732, enforcingSuccessRate_); 540 } 541 if (((bitField0_ & 0x00000008) != 0)) { 542 size += 543 com.google.protobuf.CodedOutputStream.computeInt32Size( 544 213133760, enforcingConsecutiveErrors_); 545 } 546 if (((bitField0_ & 0x00000200) != 0)) { 547 size += 548 com.google.protobuf.CodedOutputStream.computeInt32Size( 549 281425357, successRateRequestVolume_); 550 } 551 if (((bitField0_ & 0x00000002) != 0)) { 552 size += com.google.protobuf.CodedOutputStream.computeInt32Size(387193248, consecutiveErrors_); 553 } 554 if (((bitField0_ & 0x00000010) != 0)) { 555 size += 556 com.google.protobuf.CodedOutputStream.computeInt32Size( 557 394440666, enforcingConsecutiveGatewayFailure_); 558 } 559 if (((bitField0_ & 0x00000004) != 0)) { 560 size += 561 com.google.protobuf.CodedOutputStream.computeInt32Size( 562 417504250, consecutiveGatewayFailure_); 563 } 564 if (((bitField0_ & 0x00000100) != 0)) { 565 size += 566 com.google.protobuf.CodedOutputStream.computeInt32Size( 567 525766903, successRateMinimumHosts_); 568 } 569 size += getUnknownFields().getSerializedSize(); 570 memoizedSize = size; 571 return size; 572 } 573 574 @java.lang.Override equals(final java.lang.Object obj)575 public boolean equals(final java.lang.Object obj) { 576 if (obj == this) { 577 return true; 578 } 579 if (!(obj instanceof com.google.cloud.compute.v1.OutlierDetection)) { 580 return super.equals(obj); 581 } 582 com.google.cloud.compute.v1.OutlierDetection other = 583 (com.google.cloud.compute.v1.OutlierDetection) obj; 584 585 if (hasBaseEjectionTime() != other.hasBaseEjectionTime()) return false; 586 if (hasBaseEjectionTime()) { 587 if (!getBaseEjectionTime().equals(other.getBaseEjectionTime())) return false; 588 } 589 if (hasConsecutiveErrors() != other.hasConsecutiveErrors()) return false; 590 if (hasConsecutiveErrors()) { 591 if (getConsecutiveErrors() != other.getConsecutiveErrors()) return false; 592 } 593 if (hasConsecutiveGatewayFailure() != other.hasConsecutiveGatewayFailure()) return false; 594 if (hasConsecutiveGatewayFailure()) { 595 if (getConsecutiveGatewayFailure() != other.getConsecutiveGatewayFailure()) return false; 596 } 597 if (hasEnforcingConsecutiveErrors() != other.hasEnforcingConsecutiveErrors()) return false; 598 if (hasEnforcingConsecutiveErrors()) { 599 if (getEnforcingConsecutiveErrors() != other.getEnforcingConsecutiveErrors()) return false; 600 } 601 if (hasEnforcingConsecutiveGatewayFailure() != other.hasEnforcingConsecutiveGatewayFailure()) 602 return false; 603 if (hasEnforcingConsecutiveGatewayFailure()) { 604 if (getEnforcingConsecutiveGatewayFailure() != other.getEnforcingConsecutiveGatewayFailure()) 605 return false; 606 } 607 if (hasEnforcingSuccessRate() != other.hasEnforcingSuccessRate()) return false; 608 if (hasEnforcingSuccessRate()) { 609 if (getEnforcingSuccessRate() != other.getEnforcingSuccessRate()) return false; 610 } 611 if (hasInterval() != other.hasInterval()) return false; 612 if (hasInterval()) { 613 if (!getInterval().equals(other.getInterval())) return false; 614 } 615 if (hasMaxEjectionPercent() != other.hasMaxEjectionPercent()) return false; 616 if (hasMaxEjectionPercent()) { 617 if (getMaxEjectionPercent() != other.getMaxEjectionPercent()) return false; 618 } 619 if (hasSuccessRateMinimumHosts() != other.hasSuccessRateMinimumHosts()) return false; 620 if (hasSuccessRateMinimumHosts()) { 621 if (getSuccessRateMinimumHosts() != other.getSuccessRateMinimumHosts()) return false; 622 } 623 if (hasSuccessRateRequestVolume() != other.hasSuccessRateRequestVolume()) return false; 624 if (hasSuccessRateRequestVolume()) { 625 if (getSuccessRateRequestVolume() != other.getSuccessRateRequestVolume()) return false; 626 } 627 if (hasSuccessRateStdevFactor() != other.hasSuccessRateStdevFactor()) return false; 628 if (hasSuccessRateStdevFactor()) { 629 if (getSuccessRateStdevFactor() != other.getSuccessRateStdevFactor()) return false; 630 } 631 if (!getUnknownFields().equals(other.getUnknownFields())) return false; 632 return true; 633 } 634 635 @java.lang.Override hashCode()636 public int hashCode() { 637 if (memoizedHashCode != 0) { 638 return memoizedHashCode; 639 } 640 int hash = 41; 641 hash = (19 * hash) + getDescriptor().hashCode(); 642 if (hasBaseEjectionTime()) { 643 hash = (37 * hash) + BASE_EJECTION_TIME_FIELD_NUMBER; 644 hash = (53 * hash) + getBaseEjectionTime().hashCode(); 645 } 646 if (hasConsecutiveErrors()) { 647 hash = (37 * hash) + CONSECUTIVE_ERRORS_FIELD_NUMBER; 648 hash = (53 * hash) + getConsecutiveErrors(); 649 } 650 if (hasConsecutiveGatewayFailure()) { 651 hash = (37 * hash) + CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER; 652 hash = (53 * hash) + getConsecutiveGatewayFailure(); 653 } 654 if (hasEnforcingConsecutiveErrors()) { 655 hash = (37 * hash) + ENFORCING_CONSECUTIVE_ERRORS_FIELD_NUMBER; 656 hash = (53 * hash) + getEnforcingConsecutiveErrors(); 657 } 658 if (hasEnforcingConsecutiveGatewayFailure()) { 659 hash = (37 * hash) + ENFORCING_CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER; 660 hash = (53 * hash) + getEnforcingConsecutiveGatewayFailure(); 661 } 662 if (hasEnforcingSuccessRate()) { 663 hash = (37 * hash) + ENFORCING_SUCCESS_RATE_FIELD_NUMBER; 664 hash = (53 * hash) + getEnforcingSuccessRate(); 665 } 666 if (hasInterval()) { 667 hash = (37 * hash) + INTERVAL_FIELD_NUMBER; 668 hash = (53 * hash) + getInterval().hashCode(); 669 } 670 if (hasMaxEjectionPercent()) { 671 hash = (37 * hash) + MAX_EJECTION_PERCENT_FIELD_NUMBER; 672 hash = (53 * hash) + getMaxEjectionPercent(); 673 } 674 if (hasSuccessRateMinimumHosts()) { 675 hash = (37 * hash) + SUCCESS_RATE_MINIMUM_HOSTS_FIELD_NUMBER; 676 hash = (53 * hash) + getSuccessRateMinimumHosts(); 677 } 678 if (hasSuccessRateRequestVolume()) { 679 hash = (37 * hash) + SUCCESS_RATE_REQUEST_VOLUME_FIELD_NUMBER; 680 hash = (53 * hash) + getSuccessRateRequestVolume(); 681 } 682 if (hasSuccessRateStdevFactor()) { 683 hash = (37 * hash) + SUCCESS_RATE_STDEV_FACTOR_FIELD_NUMBER; 684 hash = (53 * hash) + getSuccessRateStdevFactor(); 685 } 686 hash = (29 * hash) + getUnknownFields().hashCode(); 687 memoizedHashCode = hash; 688 return hash; 689 } 690 parseFrom(java.nio.ByteBuffer data)691 public static com.google.cloud.compute.v1.OutlierDetection parseFrom(java.nio.ByteBuffer data) 692 throws com.google.protobuf.InvalidProtocolBufferException { 693 return PARSER.parseFrom(data); 694 } 695 parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)696 public static com.google.cloud.compute.v1.OutlierDetection parseFrom( 697 java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 698 throws com.google.protobuf.InvalidProtocolBufferException { 699 return PARSER.parseFrom(data, extensionRegistry); 700 } 701 parseFrom( com.google.protobuf.ByteString data)702 public static com.google.cloud.compute.v1.OutlierDetection parseFrom( 703 com.google.protobuf.ByteString data) 704 throws com.google.protobuf.InvalidProtocolBufferException { 705 return PARSER.parseFrom(data); 706 } 707 parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)708 public static com.google.cloud.compute.v1.OutlierDetection parseFrom( 709 com.google.protobuf.ByteString data, 710 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 711 throws com.google.protobuf.InvalidProtocolBufferException { 712 return PARSER.parseFrom(data, extensionRegistry); 713 } 714 parseFrom(byte[] data)715 public static com.google.cloud.compute.v1.OutlierDetection parseFrom(byte[] data) 716 throws com.google.protobuf.InvalidProtocolBufferException { 717 return PARSER.parseFrom(data); 718 } 719 parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)720 public static com.google.cloud.compute.v1.OutlierDetection parseFrom( 721 byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 722 throws com.google.protobuf.InvalidProtocolBufferException { 723 return PARSER.parseFrom(data, extensionRegistry); 724 } 725 parseFrom(java.io.InputStream input)726 public static com.google.cloud.compute.v1.OutlierDetection parseFrom(java.io.InputStream input) 727 throws java.io.IOException { 728 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 729 } 730 parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)731 public static com.google.cloud.compute.v1.OutlierDetection parseFrom( 732 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 733 throws java.io.IOException { 734 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 735 PARSER, input, extensionRegistry); 736 } 737 parseDelimitedFrom( java.io.InputStream input)738 public static com.google.cloud.compute.v1.OutlierDetection parseDelimitedFrom( 739 java.io.InputStream input) throws java.io.IOException { 740 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); 741 } 742 parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)743 public static com.google.cloud.compute.v1.OutlierDetection parseDelimitedFrom( 744 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 745 throws java.io.IOException { 746 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( 747 PARSER, input, extensionRegistry); 748 } 749 parseFrom( com.google.protobuf.CodedInputStream input)750 public static com.google.cloud.compute.v1.OutlierDetection parseFrom( 751 com.google.protobuf.CodedInputStream input) throws java.io.IOException { 752 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 753 } 754 parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)755 public static com.google.cloud.compute.v1.OutlierDetection parseFrom( 756 com.google.protobuf.CodedInputStream input, 757 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 758 throws java.io.IOException { 759 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 760 PARSER, input, extensionRegistry); 761 } 762 763 @java.lang.Override newBuilderForType()764 public Builder newBuilderForType() { 765 return newBuilder(); 766 } 767 newBuilder()768 public static Builder newBuilder() { 769 return DEFAULT_INSTANCE.toBuilder(); 770 } 771 newBuilder(com.google.cloud.compute.v1.OutlierDetection prototype)772 public static Builder newBuilder(com.google.cloud.compute.v1.OutlierDetection prototype) { 773 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); 774 } 775 776 @java.lang.Override toBuilder()777 public Builder toBuilder() { 778 return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); 779 } 780 781 @java.lang.Override newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)782 protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 783 Builder builder = new Builder(parent); 784 return builder; 785 } 786 /** 787 * 788 * 789 * <pre> 790 * Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. 791 * </pre> 792 * 793 * Protobuf type {@code google.cloud.compute.v1.OutlierDetection} 794 */ 795 public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> 796 implements 797 // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.OutlierDetection) 798 com.google.cloud.compute.v1.OutlierDetectionOrBuilder { getDescriptor()799 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 800 return com.google.cloud.compute.v1.Compute 801 .internal_static_google_cloud_compute_v1_OutlierDetection_descriptor; 802 } 803 804 @java.lang.Override 805 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()806 internalGetFieldAccessorTable() { 807 return com.google.cloud.compute.v1.Compute 808 .internal_static_google_cloud_compute_v1_OutlierDetection_fieldAccessorTable 809 .ensureFieldAccessorsInitialized( 810 com.google.cloud.compute.v1.OutlierDetection.class, 811 com.google.cloud.compute.v1.OutlierDetection.Builder.class); 812 } 813 814 // Construct using com.google.cloud.compute.v1.OutlierDetection.newBuilder() Builder()815 private Builder() { 816 maybeForceBuilderInitialization(); 817 } 818 Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)819 private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 820 super(parent); 821 maybeForceBuilderInitialization(); 822 } 823 maybeForceBuilderInitialization()824 private void maybeForceBuilderInitialization() { 825 if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { 826 getBaseEjectionTimeFieldBuilder(); 827 getIntervalFieldBuilder(); 828 } 829 } 830 831 @java.lang.Override clear()832 public Builder clear() { 833 super.clear(); 834 bitField0_ = 0; 835 baseEjectionTime_ = null; 836 if (baseEjectionTimeBuilder_ != null) { 837 baseEjectionTimeBuilder_.dispose(); 838 baseEjectionTimeBuilder_ = null; 839 } 840 consecutiveErrors_ = 0; 841 consecutiveGatewayFailure_ = 0; 842 enforcingConsecutiveErrors_ = 0; 843 enforcingConsecutiveGatewayFailure_ = 0; 844 enforcingSuccessRate_ = 0; 845 interval_ = null; 846 if (intervalBuilder_ != null) { 847 intervalBuilder_.dispose(); 848 intervalBuilder_ = null; 849 } 850 maxEjectionPercent_ = 0; 851 successRateMinimumHosts_ = 0; 852 successRateRequestVolume_ = 0; 853 successRateStdevFactor_ = 0; 854 return this; 855 } 856 857 @java.lang.Override getDescriptorForType()858 public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { 859 return com.google.cloud.compute.v1.Compute 860 .internal_static_google_cloud_compute_v1_OutlierDetection_descriptor; 861 } 862 863 @java.lang.Override getDefaultInstanceForType()864 public com.google.cloud.compute.v1.OutlierDetection getDefaultInstanceForType() { 865 return com.google.cloud.compute.v1.OutlierDetection.getDefaultInstance(); 866 } 867 868 @java.lang.Override build()869 public com.google.cloud.compute.v1.OutlierDetection build() { 870 com.google.cloud.compute.v1.OutlierDetection result = buildPartial(); 871 if (!result.isInitialized()) { 872 throw newUninitializedMessageException(result); 873 } 874 return result; 875 } 876 877 @java.lang.Override buildPartial()878 public com.google.cloud.compute.v1.OutlierDetection buildPartial() { 879 com.google.cloud.compute.v1.OutlierDetection result = 880 new com.google.cloud.compute.v1.OutlierDetection(this); 881 if (bitField0_ != 0) { 882 buildPartial0(result); 883 } 884 onBuilt(); 885 return result; 886 } 887 buildPartial0(com.google.cloud.compute.v1.OutlierDetection result)888 private void buildPartial0(com.google.cloud.compute.v1.OutlierDetection result) { 889 int from_bitField0_ = bitField0_; 890 int to_bitField0_ = 0; 891 if (((from_bitField0_ & 0x00000001) != 0)) { 892 result.baseEjectionTime_ = 893 baseEjectionTimeBuilder_ == null ? baseEjectionTime_ : baseEjectionTimeBuilder_.build(); 894 to_bitField0_ |= 0x00000001; 895 } 896 if (((from_bitField0_ & 0x00000002) != 0)) { 897 result.consecutiveErrors_ = consecutiveErrors_; 898 to_bitField0_ |= 0x00000002; 899 } 900 if (((from_bitField0_ & 0x00000004) != 0)) { 901 result.consecutiveGatewayFailure_ = consecutiveGatewayFailure_; 902 to_bitField0_ |= 0x00000004; 903 } 904 if (((from_bitField0_ & 0x00000008) != 0)) { 905 result.enforcingConsecutiveErrors_ = enforcingConsecutiveErrors_; 906 to_bitField0_ |= 0x00000008; 907 } 908 if (((from_bitField0_ & 0x00000010) != 0)) { 909 result.enforcingConsecutiveGatewayFailure_ = enforcingConsecutiveGatewayFailure_; 910 to_bitField0_ |= 0x00000010; 911 } 912 if (((from_bitField0_ & 0x00000020) != 0)) { 913 result.enforcingSuccessRate_ = enforcingSuccessRate_; 914 to_bitField0_ |= 0x00000020; 915 } 916 if (((from_bitField0_ & 0x00000040) != 0)) { 917 result.interval_ = intervalBuilder_ == null ? interval_ : intervalBuilder_.build(); 918 to_bitField0_ |= 0x00000040; 919 } 920 if (((from_bitField0_ & 0x00000080) != 0)) { 921 result.maxEjectionPercent_ = maxEjectionPercent_; 922 to_bitField0_ |= 0x00000080; 923 } 924 if (((from_bitField0_ & 0x00000100) != 0)) { 925 result.successRateMinimumHosts_ = successRateMinimumHosts_; 926 to_bitField0_ |= 0x00000100; 927 } 928 if (((from_bitField0_ & 0x00000200) != 0)) { 929 result.successRateRequestVolume_ = successRateRequestVolume_; 930 to_bitField0_ |= 0x00000200; 931 } 932 if (((from_bitField0_ & 0x00000400) != 0)) { 933 result.successRateStdevFactor_ = successRateStdevFactor_; 934 to_bitField0_ |= 0x00000400; 935 } 936 result.bitField0_ |= to_bitField0_; 937 } 938 939 @java.lang.Override clone()940 public Builder clone() { 941 return super.clone(); 942 } 943 944 @java.lang.Override setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)945 public Builder setField( 946 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 947 return super.setField(field, value); 948 } 949 950 @java.lang.Override clearField(com.google.protobuf.Descriptors.FieldDescriptor field)951 public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { 952 return super.clearField(field); 953 } 954 955 @java.lang.Override clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)956 public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { 957 return super.clearOneof(oneof); 958 } 959 960 @java.lang.Override setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)961 public Builder setRepeatedField( 962 com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { 963 return super.setRepeatedField(field, index, value); 964 } 965 966 @java.lang.Override addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)967 public Builder addRepeatedField( 968 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 969 return super.addRepeatedField(field, value); 970 } 971 972 @java.lang.Override mergeFrom(com.google.protobuf.Message other)973 public Builder mergeFrom(com.google.protobuf.Message other) { 974 if (other instanceof com.google.cloud.compute.v1.OutlierDetection) { 975 return mergeFrom((com.google.cloud.compute.v1.OutlierDetection) other); 976 } else { 977 super.mergeFrom(other); 978 return this; 979 } 980 } 981 mergeFrom(com.google.cloud.compute.v1.OutlierDetection other)982 public Builder mergeFrom(com.google.cloud.compute.v1.OutlierDetection other) { 983 if (other == com.google.cloud.compute.v1.OutlierDetection.getDefaultInstance()) return this; 984 if (other.hasBaseEjectionTime()) { 985 mergeBaseEjectionTime(other.getBaseEjectionTime()); 986 } 987 if (other.hasConsecutiveErrors()) { 988 setConsecutiveErrors(other.getConsecutiveErrors()); 989 } 990 if (other.hasConsecutiveGatewayFailure()) { 991 setConsecutiveGatewayFailure(other.getConsecutiveGatewayFailure()); 992 } 993 if (other.hasEnforcingConsecutiveErrors()) { 994 setEnforcingConsecutiveErrors(other.getEnforcingConsecutiveErrors()); 995 } 996 if (other.hasEnforcingConsecutiveGatewayFailure()) { 997 setEnforcingConsecutiveGatewayFailure(other.getEnforcingConsecutiveGatewayFailure()); 998 } 999 if (other.hasEnforcingSuccessRate()) { 1000 setEnforcingSuccessRate(other.getEnforcingSuccessRate()); 1001 } 1002 if (other.hasInterval()) { 1003 mergeInterval(other.getInterval()); 1004 } 1005 if (other.hasMaxEjectionPercent()) { 1006 setMaxEjectionPercent(other.getMaxEjectionPercent()); 1007 } 1008 if (other.hasSuccessRateMinimumHosts()) { 1009 setSuccessRateMinimumHosts(other.getSuccessRateMinimumHosts()); 1010 } 1011 if (other.hasSuccessRateRequestVolume()) { 1012 setSuccessRateRequestVolume(other.getSuccessRateRequestVolume()); 1013 } 1014 if (other.hasSuccessRateStdevFactor()) { 1015 setSuccessRateStdevFactor(other.getSuccessRateStdevFactor()); 1016 } 1017 this.mergeUnknownFields(other.getUnknownFields()); 1018 onChanged(); 1019 return this; 1020 } 1021 1022 @java.lang.Override isInitialized()1023 public final boolean isInitialized() { 1024 return true; 1025 } 1026 1027 @java.lang.Override mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1028 public Builder mergeFrom( 1029 com.google.protobuf.CodedInputStream input, 1030 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1031 throws java.io.IOException { 1032 if (extensionRegistry == null) { 1033 throw new java.lang.NullPointerException(); 1034 } 1035 try { 1036 boolean done = false; 1037 while (!done) { 1038 int tag = input.readTag(); 1039 switch (tag) { 1040 case 0: 1041 done = true; 1042 break; 1043 case 147495104: 1044 { 1045 maxEjectionPercent_ = input.readInt32(); 1046 bitField0_ |= 0x00000080; 1047 break; 1048 } // case 147495104 1049 case 268379690: 1050 { 1051 input.readMessage(getIntervalFieldBuilder().getBuilder(), extensionRegistry); 1052 bitField0_ |= 0x00000040; 1053 break; 1054 } // case 268379690 1055 case 647978042: 1056 { 1057 input.readMessage( 1058 getBaseEjectionTimeFieldBuilder().getBuilder(), extensionRegistry); 1059 bitField0_ |= 0x00000001; 1060 break; 1061 } // case 647978042 1062 case 1397886184: 1063 { 1064 successRateStdevFactor_ = input.readInt32(); 1065 bitField0_ |= 0x00000400; 1066 break; 1067 } // case 1397886184 1068 case 1556069856: 1069 { 1070 enforcingSuccessRate_ = input.readInt32(); 1071 bitField0_ |= 0x00000020; 1072 break; 1073 } // case 1556069856 1074 case 1705070080: 1075 { 1076 enforcingConsecutiveErrors_ = input.readInt32(); 1077 bitField0_ |= 0x00000008; 1078 break; 1079 } // case 1705070080 1080 case -2043564440: 1081 { 1082 successRateRequestVolume_ = input.readInt32(); 1083 bitField0_ |= 0x00000200; 1084 break; 1085 } // case -2043564440 1086 case -1197421312: 1087 { 1088 consecutiveErrors_ = input.readInt32(); 1089 bitField0_ |= 0x00000002; 1090 break; 1091 } // case -1197421312 1092 case -1139441968: 1093 { 1094 enforcingConsecutiveGatewayFailure_ = input.readInt32(); 1095 bitField0_ |= 0x00000010; 1096 break; 1097 } // case -1139441968 1098 case -954933296: 1099 { 1100 consecutiveGatewayFailure_ = input.readInt32(); 1101 bitField0_ |= 0x00000004; 1102 break; 1103 } // case -954933296 1104 case -88832072: 1105 { 1106 successRateMinimumHosts_ = input.readInt32(); 1107 bitField0_ |= 0x00000100; 1108 break; 1109 } // case -88832072 1110 default: 1111 { 1112 if (!super.parseUnknownField(input, extensionRegistry, tag)) { 1113 done = true; // was an endgroup tag 1114 } 1115 break; 1116 } // default: 1117 } // switch (tag) 1118 } // while (!done) 1119 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 1120 throw e.unwrapIOException(); 1121 } finally { 1122 onChanged(); 1123 } // finally 1124 return this; 1125 } 1126 1127 private int bitField0_; 1128 1129 private com.google.cloud.compute.v1.Duration baseEjectionTime_; 1130 private com.google.protobuf.SingleFieldBuilderV3< 1131 com.google.cloud.compute.v1.Duration, 1132 com.google.cloud.compute.v1.Duration.Builder, 1133 com.google.cloud.compute.v1.DurationOrBuilder> 1134 baseEjectionTimeBuilder_; 1135 /** 1136 * 1137 * 1138 * <pre> 1139 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 1140 * </pre> 1141 * 1142 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 1143 * 1144 * @return Whether the baseEjectionTime field is set. 1145 */ hasBaseEjectionTime()1146 public boolean hasBaseEjectionTime() { 1147 return ((bitField0_ & 0x00000001) != 0); 1148 } 1149 /** 1150 * 1151 * 1152 * <pre> 1153 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 1154 * </pre> 1155 * 1156 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 1157 * 1158 * @return The baseEjectionTime. 1159 */ getBaseEjectionTime()1160 public com.google.cloud.compute.v1.Duration getBaseEjectionTime() { 1161 if (baseEjectionTimeBuilder_ == null) { 1162 return baseEjectionTime_ == null 1163 ? com.google.cloud.compute.v1.Duration.getDefaultInstance() 1164 : baseEjectionTime_; 1165 } else { 1166 return baseEjectionTimeBuilder_.getMessage(); 1167 } 1168 } 1169 /** 1170 * 1171 * 1172 * <pre> 1173 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 1174 * </pre> 1175 * 1176 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 1177 */ setBaseEjectionTime(com.google.cloud.compute.v1.Duration value)1178 public Builder setBaseEjectionTime(com.google.cloud.compute.v1.Duration value) { 1179 if (baseEjectionTimeBuilder_ == null) { 1180 if (value == null) { 1181 throw new NullPointerException(); 1182 } 1183 baseEjectionTime_ = value; 1184 } else { 1185 baseEjectionTimeBuilder_.setMessage(value); 1186 } 1187 bitField0_ |= 0x00000001; 1188 onChanged(); 1189 return this; 1190 } 1191 /** 1192 * 1193 * 1194 * <pre> 1195 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 1196 * </pre> 1197 * 1198 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 1199 */ setBaseEjectionTime( com.google.cloud.compute.v1.Duration.Builder builderForValue)1200 public Builder setBaseEjectionTime( 1201 com.google.cloud.compute.v1.Duration.Builder builderForValue) { 1202 if (baseEjectionTimeBuilder_ == null) { 1203 baseEjectionTime_ = builderForValue.build(); 1204 } else { 1205 baseEjectionTimeBuilder_.setMessage(builderForValue.build()); 1206 } 1207 bitField0_ |= 0x00000001; 1208 onChanged(); 1209 return this; 1210 } 1211 /** 1212 * 1213 * 1214 * <pre> 1215 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 1216 * </pre> 1217 * 1218 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 1219 */ mergeBaseEjectionTime(com.google.cloud.compute.v1.Duration value)1220 public Builder mergeBaseEjectionTime(com.google.cloud.compute.v1.Duration value) { 1221 if (baseEjectionTimeBuilder_ == null) { 1222 if (((bitField0_ & 0x00000001) != 0) 1223 && baseEjectionTime_ != null 1224 && baseEjectionTime_ != com.google.cloud.compute.v1.Duration.getDefaultInstance()) { 1225 getBaseEjectionTimeBuilder().mergeFrom(value); 1226 } else { 1227 baseEjectionTime_ = value; 1228 } 1229 } else { 1230 baseEjectionTimeBuilder_.mergeFrom(value); 1231 } 1232 bitField0_ |= 0x00000001; 1233 onChanged(); 1234 return this; 1235 } 1236 /** 1237 * 1238 * 1239 * <pre> 1240 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 1241 * </pre> 1242 * 1243 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 1244 */ clearBaseEjectionTime()1245 public Builder clearBaseEjectionTime() { 1246 bitField0_ = (bitField0_ & ~0x00000001); 1247 baseEjectionTime_ = null; 1248 if (baseEjectionTimeBuilder_ != null) { 1249 baseEjectionTimeBuilder_.dispose(); 1250 baseEjectionTimeBuilder_ = null; 1251 } 1252 onChanged(); 1253 return this; 1254 } 1255 /** 1256 * 1257 * 1258 * <pre> 1259 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 1260 * </pre> 1261 * 1262 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 1263 */ getBaseEjectionTimeBuilder()1264 public com.google.cloud.compute.v1.Duration.Builder getBaseEjectionTimeBuilder() { 1265 bitField0_ |= 0x00000001; 1266 onChanged(); 1267 return getBaseEjectionTimeFieldBuilder().getBuilder(); 1268 } 1269 /** 1270 * 1271 * 1272 * <pre> 1273 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 1274 * </pre> 1275 * 1276 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 1277 */ getBaseEjectionTimeOrBuilder()1278 public com.google.cloud.compute.v1.DurationOrBuilder getBaseEjectionTimeOrBuilder() { 1279 if (baseEjectionTimeBuilder_ != null) { 1280 return baseEjectionTimeBuilder_.getMessageOrBuilder(); 1281 } else { 1282 return baseEjectionTime_ == null 1283 ? com.google.cloud.compute.v1.Duration.getDefaultInstance() 1284 : baseEjectionTime_; 1285 } 1286 } 1287 /** 1288 * 1289 * 1290 * <pre> 1291 * The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. 1292 * </pre> 1293 * 1294 * <code>optional .google.cloud.compute.v1.Duration base_ejection_time = 80997255;</code> 1295 */ 1296 private com.google.protobuf.SingleFieldBuilderV3< 1297 com.google.cloud.compute.v1.Duration, 1298 com.google.cloud.compute.v1.Duration.Builder, 1299 com.google.cloud.compute.v1.DurationOrBuilder> getBaseEjectionTimeFieldBuilder()1300 getBaseEjectionTimeFieldBuilder() { 1301 if (baseEjectionTimeBuilder_ == null) { 1302 baseEjectionTimeBuilder_ = 1303 new com.google.protobuf.SingleFieldBuilderV3< 1304 com.google.cloud.compute.v1.Duration, 1305 com.google.cloud.compute.v1.Duration.Builder, 1306 com.google.cloud.compute.v1.DurationOrBuilder>( 1307 getBaseEjectionTime(), getParentForChildren(), isClean()); 1308 baseEjectionTime_ = null; 1309 } 1310 return baseEjectionTimeBuilder_; 1311 } 1312 1313 private int consecutiveErrors_; 1314 /** 1315 * 1316 * 1317 * <pre> 1318 * Number of errors before a host is ejected from the connection pool. When the backend host is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1319 * </pre> 1320 * 1321 * <code>optional int32 consecutive_errors = 387193248;</code> 1322 * 1323 * @return Whether the consecutiveErrors field is set. 1324 */ 1325 @java.lang.Override hasConsecutiveErrors()1326 public boolean hasConsecutiveErrors() { 1327 return ((bitField0_ & 0x00000002) != 0); 1328 } 1329 /** 1330 * 1331 * 1332 * <pre> 1333 * Number of errors before a host is ejected from the connection pool. When the backend host is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1334 * </pre> 1335 * 1336 * <code>optional int32 consecutive_errors = 387193248;</code> 1337 * 1338 * @return The consecutiveErrors. 1339 */ 1340 @java.lang.Override getConsecutiveErrors()1341 public int getConsecutiveErrors() { 1342 return consecutiveErrors_; 1343 } 1344 /** 1345 * 1346 * 1347 * <pre> 1348 * Number of errors before a host is ejected from the connection pool. When the backend host is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1349 * </pre> 1350 * 1351 * <code>optional int32 consecutive_errors = 387193248;</code> 1352 * 1353 * @param value The consecutiveErrors to set. 1354 * @return This builder for chaining. 1355 */ setConsecutiveErrors(int value)1356 public Builder setConsecutiveErrors(int value) { 1357 1358 consecutiveErrors_ = value; 1359 bitField0_ |= 0x00000002; 1360 onChanged(); 1361 return this; 1362 } 1363 /** 1364 * 1365 * 1366 * <pre> 1367 * Number of errors before a host is ejected from the connection pool. When the backend host is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1368 * </pre> 1369 * 1370 * <code>optional int32 consecutive_errors = 387193248;</code> 1371 * 1372 * @return This builder for chaining. 1373 */ clearConsecutiveErrors()1374 public Builder clearConsecutiveErrors() { 1375 bitField0_ = (bitField0_ & ~0x00000002); 1376 consecutiveErrors_ = 0; 1377 onChanged(); 1378 return this; 1379 } 1380 1381 private int consecutiveGatewayFailure_; 1382 /** 1383 * 1384 * 1385 * <pre> 1386 * The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1387 * </pre> 1388 * 1389 * <code>optional int32 consecutive_gateway_failure = 417504250;</code> 1390 * 1391 * @return Whether the consecutiveGatewayFailure field is set. 1392 */ 1393 @java.lang.Override hasConsecutiveGatewayFailure()1394 public boolean hasConsecutiveGatewayFailure() { 1395 return ((bitField0_ & 0x00000004) != 0); 1396 } 1397 /** 1398 * 1399 * 1400 * <pre> 1401 * The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1402 * </pre> 1403 * 1404 * <code>optional int32 consecutive_gateway_failure = 417504250;</code> 1405 * 1406 * @return The consecutiveGatewayFailure. 1407 */ 1408 @java.lang.Override getConsecutiveGatewayFailure()1409 public int getConsecutiveGatewayFailure() { 1410 return consecutiveGatewayFailure_; 1411 } 1412 /** 1413 * 1414 * 1415 * <pre> 1416 * The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1417 * </pre> 1418 * 1419 * <code>optional int32 consecutive_gateway_failure = 417504250;</code> 1420 * 1421 * @param value The consecutiveGatewayFailure to set. 1422 * @return This builder for chaining. 1423 */ setConsecutiveGatewayFailure(int value)1424 public Builder setConsecutiveGatewayFailure(int value) { 1425 1426 consecutiveGatewayFailure_ = value; 1427 bitField0_ |= 0x00000004; 1428 onChanged(); 1429 return this; 1430 } 1431 /** 1432 * 1433 * 1434 * <pre> 1435 * The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1436 * </pre> 1437 * 1438 * <code>optional int32 consecutive_gateway_failure = 417504250;</code> 1439 * 1440 * @return This builder for chaining. 1441 */ clearConsecutiveGatewayFailure()1442 public Builder clearConsecutiveGatewayFailure() { 1443 bitField0_ = (bitField0_ & ~0x00000004); 1444 consecutiveGatewayFailure_ = 0; 1445 onChanged(); 1446 return this; 1447 } 1448 1449 private int enforcingConsecutiveErrors_; 1450 /** 1451 * 1452 * 1453 * <pre> 1454 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1455 * </pre> 1456 * 1457 * <code>optional int32 enforcing_consecutive_errors = 213133760;</code> 1458 * 1459 * @return Whether the enforcingConsecutiveErrors field is set. 1460 */ 1461 @java.lang.Override hasEnforcingConsecutiveErrors()1462 public boolean hasEnforcingConsecutiveErrors() { 1463 return ((bitField0_ & 0x00000008) != 0); 1464 } 1465 /** 1466 * 1467 * 1468 * <pre> 1469 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1470 * </pre> 1471 * 1472 * <code>optional int32 enforcing_consecutive_errors = 213133760;</code> 1473 * 1474 * @return The enforcingConsecutiveErrors. 1475 */ 1476 @java.lang.Override getEnforcingConsecutiveErrors()1477 public int getEnforcingConsecutiveErrors() { 1478 return enforcingConsecutiveErrors_; 1479 } 1480 /** 1481 * 1482 * 1483 * <pre> 1484 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1485 * </pre> 1486 * 1487 * <code>optional int32 enforcing_consecutive_errors = 213133760;</code> 1488 * 1489 * @param value The enforcingConsecutiveErrors to set. 1490 * @return This builder for chaining. 1491 */ setEnforcingConsecutiveErrors(int value)1492 public Builder setEnforcingConsecutiveErrors(int value) { 1493 1494 enforcingConsecutiveErrors_ = value; 1495 bitField0_ |= 0x00000008; 1496 onChanged(); 1497 return this; 1498 } 1499 /** 1500 * 1501 * 1502 * <pre> 1503 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1504 * </pre> 1505 * 1506 * <code>optional int32 enforcing_consecutive_errors = 213133760;</code> 1507 * 1508 * @return This builder for chaining. 1509 */ clearEnforcingConsecutiveErrors()1510 public Builder clearEnforcingConsecutiveErrors() { 1511 bitField0_ = (bitField0_ & ~0x00000008); 1512 enforcingConsecutiveErrors_ = 0; 1513 onChanged(); 1514 return this; 1515 } 1516 1517 private int enforcingConsecutiveGatewayFailure_; 1518 /** 1519 * 1520 * 1521 * <pre> 1522 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1523 * </pre> 1524 * 1525 * <code>optional int32 enforcing_consecutive_gateway_failure = 394440666;</code> 1526 * 1527 * @return Whether the enforcingConsecutiveGatewayFailure field is set. 1528 */ 1529 @java.lang.Override hasEnforcingConsecutiveGatewayFailure()1530 public boolean hasEnforcingConsecutiveGatewayFailure() { 1531 return ((bitField0_ & 0x00000010) != 0); 1532 } 1533 /** 1534 * 1535 * 1536 * <pre> 1537 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1538 * </pre> 1539 * 1540 * <code>optional int32 enforcing_consecutive_gateway_failure = 394440666;</code> 1541 * 1542 * @return The enforcingConsecutiveGatewayFailure. 1543 */ 1544 @java.lang.Override getEnforcingConsecutiveGatewayFailure()1545 public int getEnforcingConsecutiveGatewayFailure() { 1546 return enforcingConsecutiveGatewayFailure_; 1547 } 1548 /** 1549 * 1550 * 1551 * <pre> 1552 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1553 * </pre> 1554 * 1555 * <code>optional int32 enforcing_consecutive_gateway_failure = 394440666;</code> 1556 * 1557 * @param value The enforcingConsecutiveGatewayFailure to set. 1558 * @return This builder for chaining. 1559 */ setEnforcingConsecutiveGatewayFailure(int value)1560 public Builder setEnforcingConsecutiveGatewayFailure(int value) { 1561 1562 enforcingConsecutiveGatewayFailure_ = value; 1563 bitField0_ |= 0x00000010; 1564 onChanged(); 1565 return this; 1566 } 1567 /** 1568 * 1569 * 1570 * <pre> 1571 * The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. 1572 * </pre> 1573 * 1574 * <code>optional int32 enforcing_consecutive_gateway_failure = 394440666;</code> 1575 * 1576 * @return This builder for chaining. 1577 */ clearEnforcingConsecutiveGatewayFailure()1578 public Builder clearEnforcingConsecutiveGatewayFailure() { 1579 bitField0_ = (bitField0_ & ~0x00000010); 1580 enforcingConsecutiveGatewayFailure_ = 0; 1581 onChanged(); 1582 return this; 1583 } 1584 1585 private int enforcingSuccessRate_; 1586 /** 1587 * 1588 * 1589 * <pre> 1590 * The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. 1591 * </pre> 1592 * 1593 * <code>optional int32 enforcing_success_rate = 194508732;</code> 1594 * 1595 * @return Whether the enforcingSuccessRate field is set. 1596 */ 1597 @java.lang.Override hasEnforcingSuccessRate()1598 public boolean hasEnforcingSuccessRate() { 1599 return ((bitField0_ & 0x00000020) != 0); 1600 } 1601 /** 1602 * 1603 * 1604 * <pre> 1605 * The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. 1606 * </pre> 1607 * 1608 * <code>optional int32 enforcing_success_rate = 194508732;</code> 1609 * 1610 * @return The enforcingSuccessRate. 1611 */ 1612 @java.lang.Override getEnforcingSuccessRate()1613 public int getEnforcingSuccessRate() { 1614 return enforcingSuccessRate_; 1615 } 1616 /** 1617 * 1618 * 1619 * <pre> 1620 * The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. 1621 * </pre> 1622 * 1623 * <code>optional int32 enforcing_success_rate = 194508732;</code> 1624 * 1625 * @param value The enforcingSuccessRate to set. 1626 * @return This builder for chaining. 1627 */ setEnforcingSuccessRate(int value)1628 public Builder setEnforcingSuccessRate(int value) { 1629 1630 enforcingSuccessRate_ = value; 1631 bitField0_ |= 0x00000020; 1632 onChanged(); 1633 return this; 1634 } 1635 /** 1636 * 1637 * 1638 * <pre> 1639 * The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. 1640 * </pre> 1641 * 1642 * <code>optional int32 enforcing_success_rate = 194508732;</code> 1643 * 1644 * @return This builder for chaining. 1645 */ clearEnforcingSuccessRate()1646 public Builder clearEnforcingSuccessRate() { 1647 bitField0_ = (bitField0_ & ~0x00000020); 1648 enforcingSuccessRate_ = 0; 1649 onChanged(); 1650 return this; 1651 } 1652 1653 private com.google.cloud.compute.v1.Duration interval_; 1654 private com.google.protobuf.SingleFieldBuilderV3< 1655 com.google.cloud.compute.v1.Duration, 1656 com.google.cloud.compute.v1.Duration.Builder, 1657 com.google.cloud.compute.v1.DurationOrBuilder> 1658 intervalBuilder_; 1659 /** 1660 * 1661 * 1662 * <pre> 1663 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 1664 * </pre> 1665 * 1666 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 1667 * 1668 * @return Whether the interval field is set. 1669 */ hasInterval()1670 public boolean hasInterval() { 1671 return ((bitField0_ & 0x00000040) != 0); 1672 } 1673 /** 1674 * 1675 * 1676 * <pre> 1677 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 1678 * </pre> 1679 * 1680 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 1681 * 1682 * @return The interval. 1683 */ getInterval()1684 public com.google.cloud.compute.v1.Duration getInterval() { 1685 if (intervalBuilder_ == null) { 1686 return interval_ == null 1687 ? com.google.cloud.compute.v1.Duration.getDefaultInstance() 1688 : interval_; 1689 } else { 1690 return intervalBuilder_.getMessage(); 1691 } 1692 } 1693 /** 1694 * 1695 * 1696 * <pre> 1697 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 1698 * </pre> 1699 * 1700 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 1701 */ setInterval(com.google.cloud.compute.v1.Duration value)1702 public Builder setInterval(com.google.cloud.compute.v1.Duration value) { 1703 if (intervalBuilder_ == null) { 1704 if (value == null) { 1705 throw new NullPointerException(); 1706 } 1707 interval_ = value; 1708 } else { 1709 intervalBuilder_.setMessage(value); 1710 } 1711 bitField0_ |= 0x00000040; 1712 onChanged(); 1713 return this; 1714 } 1715 /** 1716 * 1717 * 1718 * <pre> 1719 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 1720 * </pre> 1721 * 1722 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 1723 */ setInterval(com.google.cloud.compute.v1.Duration.Builder builderForValue)1724 public Builder setInterval(com.google.cloud.compute.v1.Duration.Builder builderForValue) { 1725 if (intervalBuilder_ == null) { 1726 interval_ = builderForValue.build(); 1727 } else { 1728 intervalBuilder_.setMessage(builderForValue.build()); 1729 } 1730 bitField0_ |= 0x00000040; 1731 onChanged(); 1732 return this; 1733 } 1734 /** 1735 * 1736 * 1737 * <pre> 1738 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 1739 * </pre> 1740 * 1741 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 1742 */ mergeInterval(com.google.cloud.compute.v1.Duration value)1743 public Builder mergeInterval(com.google.cloud.compute.v1.Duration value) { 1744 if (intervalBuilder_ == null) { 1745 if (((bitField0_ & 0x00000040) != 0) 1746 && interval_ != null 1747 && interval_ != com.google.cloud.compute.v1.Duration.getDefaultInstance()) { 1748 getIntervalBuilder().mergeFrom(value); 1749 } else { 1750 interval_ = value; 1751 } 1752 } else { 1753 intervalBuilder_.mergeFrom(value); 1754 } 1755 bitField0_ |= 0x00000040; 1756 onChanged(); 1757 return this; 1758 } 1759 /** 1760 * 1761 * 1762 * <pre> 1763 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 1764 * </pre> 1765 * 1766 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 1767 */ clearInterval()1768 public Builder clearInterval() { 1769 bitField0_ = (bitField0_ & ~0x00000040); 1770 interval_ = null; 1771 if (intervalBuilder_ != null) { 1772 intervalBuilder_.dispose(); 1773 intervalBuilder_ = null; 1774 } 1775 onChanged(); 1776 return this; 1777 } 1778 /** 1779 * 1780 * 1781 * <pre> 1782 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 1783 * </pre> 1784 * 1785 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 1786 */ getIntervalBuilder()1787 public com.google.cloud.compute.v1.Duration.Builder getIntervalBuilder() { 1788 bitField0_ |= 0x00000040; 1789 onChanged(); 1790 return getIntervalFieldBuilder().getBuilder(); 1791 } 1792 /** 1793 * 1794 * 1795 * <pre> 1796 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 1797 * </pre> 1798 * 1799 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 1800 */ getIntervalOrBuilder()1801 public com.google.cloud.compute.v1.DurationOrBuilder getIntervalOrBuilder() { 1802 if (intervalBuilder_ != null) { 1803 return intervalBuilder_.getMessageOrBuilder(); 1804 } else { 1805 return interval_ == null 1806 ? com.google.cloud.compute.v1.Duration.getDefaultInstance() 1807 : interval_; 1808 } 1809 } 1810 /** 1811 * 1812 * 1813 * <pre> 1814 * Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. 1815 * </pre> 1816 * 1817 * <code>optional .google.cloud.compute.v1.Duration interval = 33547461;</code> 1818 */ 1819 private com.google.protobuf.SingleFieldBuilderV3< 1820 com.google.cloud.compute.v1.Duration, 1821 com.google.cloud.compute.v1.Duration.Builder, 1822 com.google.cloud.compute.v1.DurationOrBuilder> getIntervalFieldBuilder()1823 getIntervalFieldBuilder() { 1824 if (intervalBuilder_ == null) { 1825 intervalBuilder_ = 1826 new com.google.protobuf.SingleFieldBuilderV3< 1827 com.google.cloud.compute.v1.Duration, 1828 com.google.cloud.compute.v1.Duration.Builder, 1829 com.google.cloud.compute.v1.DurationOrBuilder>( 1830 getInterval(), getParentForChildren(), isClean()); 1831 interval_ = null; 1832 } 1833 return intervalBuilder_; 1834 } 1835 1836 private int maxEjectionPercent_; 1837 /** 1838 * 1839 * 1840 * <pre> 1841 * Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%. 1842 * </pre> 1843 * 1844 * <code>optional int32 max_ejection_percent = 18436888;</code> 1845 * 1846 * @return Whether the maxEjectionPercent field is set. 1847 */ 1848 @java.lang.Override hasMaxEjectionPercent()1849 public boolean hasMaxEjectionPercent() { 1850 return ((bitField0_ & 0x00000080) != 0); 1851 } 1852 /** 1853 * 1854 * 1855 * <pre> 1856 * Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%. 1857 * </pre> 1858 * 1859 * <code>optional int32 max_ejection_percent = 18436888;</code> 1860 * 1861 * @return The maxEjectionPercent. 1862 */ 1863 @java.lang.Override getMaxEjectionPercent()1864 public int getMaxEjectionPercent() { 1865 return maxEjectionPercent_; 1866 } 1867 /** 1868 * 1869 * 1870 * <pre> 1871 * Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%. 1872 * </pre> 1873 * 1874 * <code>optional int32 max_ejection_percent = 18436888;</code> 1875 * 1876 * @param value The maxEjectionPercent to set. 1877 * @return This builder for chaining. 1878 */ setMaxEjectionPercent(int value)1879 public Builder setMaxEjectionPercent(int value) { 1880 1881 maxEjectionPercent_ = value; 1882 bitField0_ |= 0x00000080; 1883 onChanged(); 1884 return this; 1885 } 1886 /** 1887 * 1888 * 1889 * <pre> 1890 * Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%. 1891 * </pre> 1892 * 1893 * <code>optional int32 max_ejection_percent = 18436888;</code> 1894 * 1895 * @return This builder for chaining. 1896 */ clearMaxEjectionPercent()1897 public Builder clearMaxEjectionPercent() { 1898 bitField0_ = (bitField0_ & ~0x00000080); 1899 maxEjectionPercent_ = 0; 1900 onChanged(); 1901 return this; 1902 } 1903 1904 private int successRateMinimumHosts_; 1905 /** 1906 * 1907 * 1908 * <pre> 1909 * The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. 1910 * </pre> 1911 * 1912 * <code>optional int32 success_rate_minimum_hosts = 525766903;</code> 1913 * 1914 * @return Whether the successRateMinimumHosts field is set. 1915 */ 1916 @java.lang.Override hasSuccessRateMinimumHosts()1917 public boolean hasSuccessRateMinimumHosts() { 1918 return ((bitField0_ & 0x00000100) != 0); 1919 } 1920 /** 1921 * 1922 * 1923 * <pre> 1924 * The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. 1925 * </pre> 1926 * 1927 * <code>optional int32 success_rate_minimum_hosts = 525766903;</code> 1928 * 1929 * @return The successRateMinimumHosts. 1930 */ 1931 @java.lang.Override getSuccessRateMinimumHosts()1932 public int getSuccessRateMinimumHosts() { 1933 return successRateMinimumHosts_; 1934 } 1935 /** 1936 * 1937 * 1938 * <pre> 1939 * The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. 1940 * </pre> 1941 * 1942 * <code>optional int32 success_rate_minimum_hosts = 525766903;</code> 1943 * 1944 * @param value The successRateMinimumHosts to set. 1945 * @return This builder for chaining. 1946 */ setSuccessRateMinimumHosts(int value)1947 public Builder setSuccessRateMinimumHosts(int value) { 1948 1949 successRateMinimumHosts_ = value; 1950 bitField0_ |= 0x00000100; 1951 onChanged(); 1952 return this; 1953 } 1954 /** 1955 * 1956 * 1957 * <pre> 1958 * The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. 1959 * </pre> 1960 * 1961 * <code>optional int32 success_rate_minimum_hosts = 525766903;</code> 1962 * 1963 * @return This builder for chaining. 1964 */ clearSuccessRateMinimumHosts()1965 public Builder clearSuccessRateMinimumHosts() { 1966 bitField0_ = (bitField0_ & ~0x00000100); 1967 successRateMinimumHosts_ = 0; 1968 onChanged(); 1969 return this; 1970 } 1971 1972 private int successRateRequestVolume_; 1973 /** 1974 * 1975 * 1976 * <pre> 1977 * The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. 1978 * </pre> 1979 * 1980 * <code>optional int32 success_rate_request_volume = 281425357;</code> 1981 * 1982 * @return Whether the successRateRequestVolume field is set. 1983 */ 1984 @java.lang.Override hasSuccessRateRequestVolume()1985 public boolean hasSuccessRateRequestVolume() { 1986 return ((bitField0_ & 0x00000200) != 0); 1987 } 1988 /** 1989 * 1990 * 1991 * <pre> 1992 * The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. 1993 * </pre> 1994 * 1995 * <code>optional int32 success_rate_request_volume = 281425357;</code> 1996 * 1997 * @return The successRateRequestVolume. 1998 */ 1999 @java.lang.Override getSuccessRateRequestVolume()2000 public int getSuccessRateRequestVolume() { 2001 return successRateRequestVolume_; 2002 } 2003 /** 2004 * 2005 * 2006 * <pre> 2007 * The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. 2008 * </pre> 2009 * 2010 * <code>optional int32 success_rate_request_volume = 281425357;</code> 2011 * 2012 * @param value The successRateRequestVolume to set. 2013 * @return This builder for chaining. 2014 */ setSuccessRateRequestVolume(int value)2015 public Builder setSuccessRateRequestVolume(int value) { 2016 2017 successRateRequestVolume_ = value; 2018 bitField0_ |= 0x00000200; 2019 onChanged(); 2020 return this; 2021 } 2022 /** 2023 * 2024 * 2025 * <pre> 2026 * The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. 2027 * </pre> 2028 * 2029 * <code>optional int32 success_rate_request_volume = 281425357;</code> 2030 * 2031 * @return This builder for chaining. 2032 */ clearSuccessRateRequestVolume()2033 public Builder clearSuccessRateRequestVolume() { 2034 bitField0_ = (bitField0_ & ~0x00000200); 2035 successRateRequestVolume_ = 0; 2036 onChanged(); 2037 return this; 2038 } 2039 2040 private int successRateStdevFactor_; 2041 /** 2042 * 2043 * 2044 * <pre> 2045 * This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. 2046 * </pre> 2047 * 2048 * <code>optional int32 success_rate_stdev_factor = 174735773;</code> 2049 * 2050 * @return Whether the successRateStdevFactor field is set. 2051 */ 2052 @java.lang.Override hasSuccessRateStdevFactor()2053 public boolean hasSuccessRateStdevFactor() { 2054 return ((bitField0_ & 0x00000400) != 0); 2055 } 2056 /** 2057 * 2058 * 2059 * <pre> 2060 * This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. 2061 * </pre> 2062 * 2063 * <code>optional int32 success_rate_stdev_factor = 174735773;</code> 2064 * 2065 * @return The successRateStdevFactor. 2066 */ 2067 @java.lang.Override getSuccessRateStdevFactor()2068 public int getSuccessRateStdevFactor() { 2069 return successRateStdevFactor_; 2070 } 2071 /** 2072 * 2073 * 2074 * <pre> 2075 * This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. 2076 * </pre> 2077 * 2078 * <code>optional int32 success_rate_stdev_factor = 174735773;</code> 2079 * 2080 * @param value The successRateStdevFactor to set. 2081 * @return This builder for chaining. 2082 */ setSuccessRateStdevFactor(int value)2083 public Builder setSuccessRateStdevFactor(int value) { 2084 2085 successRateStdevFactor_ = value; 2086 bitField0_ |= 0x00000400; 2087 onChanged(); 2088 return this; 2089 } 2090 /** 2091 * 2092 * 2093 * <pre> 2094 * This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. 2095 * </pre> 2096 * 2097 * <code>optional int32 success_rate_stdev_factor = 174735773;</code> 2098 * 2099 * @return This builder for chaining. 2100 */ clearSuccessRateStdevFactor()2101 public Builder clearSuccessRateStdevFactor() { 2102 bitField0_ = (bitField0_ & ~0x00000400); 2103 successRateStdevFactor_ = 0; 2104 onChanged(); 2105 return this; 2106 } 2107 2108 @java.lang.Override setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)2109 public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { 2110 return super.setUnknownFields(unknownFields); 2111 } 2112 2113 @java.lang.Override mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2114 public final Builder mergeUnknownFields( 2115 final com.google.protobuf.UnknownFieldSet unknownFields) { 2116 return super.mergeUnknownFields(unknownFields); 2117 } 2118 2119 // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.OutlierDetection) 2120 } 2121 2122 // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.OutlierDetection) 2123 private static final com.google.cloud.compute.v1.OutlierDetection DEFAULT_INSTANCE; 2124 2125 static { 2126 DEFAULT_INSTANCE = new com.google.cloud.compute.v1.OutlierDetection(); 2127 } 2128 getDefaultInstance()2129 public static com.google.cloud.compute.v1.OutlierDetection getDefaultInstance() { 2130 return DEFAULT_INSTANCE; 2131 } 2132 2133 private static final com.google.protobuf.Parser<OutlierDetection> PARSER = 2134 new com.google.protobuf.AbstractParser<OutlierDetection>() { 2135 @java.lang.Override 2136 public OutlierDetection parsePartialFrom( 2137 com.google.protobuf.CodedInputStream input, 2138 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 2139 throws com.google.protobuf.InvalidProtocolBufferException { 2140 Builder builder = newBuilder(); 2141 try { 2142 builder.mergeFrom(input, extensionRegistry); 2143 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 2144 throw e.setUnfinishedMessage(builder.buildPartial()); 2145 } catch (com.google.protobuf.UninitializedMessageException e) { 2146 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); 2147 } catch (java.io.IOException e) { 2148 throw new com.google.protobuf.InvalidProtocolBufferException(e) 2149 .setUnfinishedMessage(builder.buildPartial()); 2150 } 2151 return builder.buildPartial(); 2152 } 2153 }; 2154 parser()2155 public static com.google.protobuf.Parser<OutlierDetection> parser() { 2156 return PARSER; 2157 } 2158 2159 @java.lang.Override getParserForType()2160 public com.google.protobuf.Parser<OutlierDetection> getParserForType() { 2161 return PARSER; 2162 } 2163 2164 @java.lang.Override getDefaultInstanceForType()2165 public com.google.cloud.compute.v1.OutlierDetection getDefaultInstanceForType() { 2166 return DEFAULT_INSTANCE; 2167 } 2168 } 2169