All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.compute.model.OutlierDetection Maven / Gradle / Ivy

There is a newer version: v1-rev20250107-2.0.0
Show newest version
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.compute.model;

/**
 * Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend
 * service.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Compute Engine API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class OutlierDetection extends com.google.api.client.json.GenericJson { /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private Duration baseEjectionTime; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer consecutiveErrors; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer consecutiveGatewayFailure; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer enforcingConsecutiveErrors; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer enforcingConsecutiveGatewayFailure; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer enforcingSuccessRate; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private Duration interval; /** * Maximum percentage of hosts in the load balancing pool for the backend service that can be * ejected. Defaults to 50%. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer maxEjectionPercent; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer successRateMinimumHosts; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer successRateRequestVolume; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer successRateStdevFactor; /** * 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. * @return value or {@code null} for none */ public Duration getBaseEjectionTime() { return baseEjectionTime; } /** * 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. * @param baseEjectionTime baseEjectionTime or {@code null} for none */ public OutlierDetection setBaseEjectionTime(Duration baseEjectionTime) { this.baseEjectionTime = baseEjectionTime; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getConsecutiveErrors() { return consecutiveErrors; } /** * 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. * @param consecutiveErrors consecutiveErrors or {@code null} for none */ public OutlierDetection setConsecutiveErrors(java.lang.Integer consecutiveErrors) { this.consecutiveErrors = consecutiveErrors; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getConsecutiveGatewayFailure() { return consecutiveGatewayFailure; } /** * 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. * @param consecutiveGatewayFailure consecutiveGatewayFailure or {@code null} for none */ public OutlierDetection setConsecutiveGatewayFailure(java.lang.Integer consecutiveGatewayFailure) { this.consecutiveGatewayFailure = consecutiveGatewayFailure; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getEnforcingConsecutiveErrors() { return enforcingConsecutiveErrors; } /** * 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. * @param enforcingConsecutiveErrors enforcingConsecutiveErrors or {@code null} for none */ public OutlierDetection setEnforcingConsecutiveErrors(java.lang.Integer enforcingConsecutiveErrors) { this.enforcingConsecutiveErrors = enforcingConsecutiveErrors; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getEnforcingConsecutiveGatewayFailure() { return enforcingConsecutiveGatewayFailure; } /** * 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. * @param enforcingConsecutiveGatewayFailure enforcingConsecutiveGatewayFailure or {@code null} for none */ public OutlierDetection setEnforcingConsecutiveGatewayFailure(java.lang.Integer enforcingConsecutiveGatewayFailure) { this.enforcingConsecutiveGatewayFailure = enforcingConsecutiveGatewayFailure; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getEnforcingSuccessRate() { return enforcingSuccessRate; } /** * 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. * @param enforcingSuccessRate enforcingSuccessRate or {@code null} for none */ public OutlierDetection setEnforcingSuccessRate(java.lang.Integer enforcingSuccessRate) { this.enforcingSuccessRate = enforcingSuccessRate; return this; } /** * 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. * @return value or {@code null} for none */ public Duration getInterval() { return interval; } /** * 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. * @param interval interval or {@code null} for none */ public OutlierDetection setInterval(Duration interval) { this.interval = interval; return this; } /** * Maximum percentage of hosts in the load balancing pool for the backend service that can be * ejected. Defaults to 50%. * @return value or {@code null} for none */ public java.lang.Integer getMaxEjectionPercent() { return maxEjectionPercent; } /** * Maximum percentage of hosts in the load balancing pool for the backend service that can be * ejected. Defaults to 50%. * @param maxEjectionPercent maxEjectionPercent or {@code null} for none */ public OutlierDetection setMaxEjectionPercent(java.lang.Integer maxEjectionPercent) { this.maxEjectionPercent = maxEjectionPercent; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getSuccessRateMinimumHosts() { return successRateMinimumHosts; } /** * 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. * @param successRateMinimumHosts successRateMinimumHosts or {@code null} for none */ public OutlierDetection setSuccessRateMinimumHosts(java.lang.Integer successRateMinimumHosts) { this.successRateMinimumHosts = successRateMinimumHosts; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getSuccessRateRequestVolume() { return successRateRequestVolume; } /** * 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. * @param successRateRequestVolume successRateRequestVolume or {@code null} for none */ public OutlierDetection setSuccessRateRequestVolume(java.lang.Integer successRateRequestVolume) { this.successRateRequestVolume = successRateRequestVolume; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getSuccessRateStdevFactor() { return successRateStdevFactor; } /** * 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. * @param successRateStdevFactor successRateStdevFactor or {@code null} for none */ public OutlierDetection setSuccessRateStdevFactor(java.lang.Integer successRateStdevFactor) { this.successRateStdevFactor = successRateStdevFactor; return this; } @Override public OutlierDetection set(String fieldName, Object value) { return (OutlierDetection) super.set(fieldName, value); } @Override public OutlierDetection clone() { return (OutlierDetection) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy