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-rev20240903-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 backend endpoint is ejected for. Defaults to 30000ms or 30s. After a * backend endpoint is returned back to the load balancing pool, it can be ejected again in * another ejection analysis. Thus, the total ejection time is equal to the base ejection time * multiplied by the number of times the backend endpoint 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 consecutive errors before a backend endpoint is ejected from the load balancing pool. * When the backend endpoint 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 backend endpoint will be 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 backend endpoint will be 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 backend endpoint will be 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. Not supported when the backend service uses Serverless NEG. * 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 and * backend endpoints being returned to service. The interval is equal to the number of seconds as * defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in * outlierDetection.interval.nanos. Defaults to 1 second. * The value may be {@code null}. */ @com.google.api.client.util.Key private Duration interval; /** * Maximum percentage of backend endpoints in the load balancing pool for the backend service that * can be ejected if the ejection conditions are met. Defaults to 50%. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer maxEjectionPercent; /** * The number of backend endpoints in the load balancing pool that must have enough request volume * to detect success rate outliers. If the number of backend endpoints is fewer than this setting, * outlier detection via success rate statistics is not performed for any backend endpoint in the * load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG. * 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 backend endpoint 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 backend endpoint. Defaults to 100. Not supported when the * backend service uses Serverless NEG. * 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 * * successRateStdevFactor). 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. Not supported when * the backend service uses Serverless NEG. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer successRateStdevFactor; /** * The base time that a backend endpoint is ejected for. Defaults to 30000ms or 30s. After a * backend endpoint is returned back to the load balancing pool, it can be ejected again in * another ejection analysis. Thus, the total ejection time is equal to the base ejection time * multiplied by the number of times the backend endpoint 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 backend endpoint is ejected for. Defaults to 30000ms or 30s. After a * backend endpoint is returned back to the load balancing pool, it can be ejected again in * another ejection analysis. Thus, the total ejection time is equal to the base ejection time * multiplied by the number of times the backend endpoint 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 consecutive errors before a backend endpoint is ejected from the load balancing pool. * When the backend endpoint 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 consecutive errors before a backend endpoint is ejected from the load balancing pool. * When the backend endpoint 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 backend endpoint will be 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 backend endpoint will be 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 backend endpoint will be 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 backend endpoint will be 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 backend endpoint will be 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. Not supported when the backend service uses Serverless NEG. * @return value or {@code null} for none */ public java.lang.Integer getEnforcingSuccessRate() { return enforcingSuccessRate; } /** * The percentage chance that a backend endpoint will be 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. Not supported when the backend service uses Serverless NEG. * @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 and * backend endpoints being returned to service. The interval is equal to the number of seconds as * defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in * outlierDetection.interval.nanos. 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 and * backend endpoints being returned to service. The interval is equal to the number of seconds as * defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in * outlierDetection.interval.nanos. 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 backend endpoints in the load balancing pool for the backend service that * can be ejected if the ejection conditions are met. Defaults to 50%. * @return value or {@code null} for none */ public java.lang.Integer getMaxEjectionPercent() { return maxEjectionPercent; } /** * Maximum percentage of backend endpoints in the load balancing pool for the backend service that * can be ejected if the ejection conditions are met. 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 backend endpoints in the load balancing pool that must have enough request volume * to detect success rate outliers. If the number of backend endpoints is fewer than this setting, * outlier detection via success rate statistics is not performed for any backend endpoint in the * load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG. * @return value or {@code null} for none */ public java.lang.Integer getSuccessRateMinimumHosts() { return successRateMinimumHosts; } /** * The number of backend endpoints in the load balancing pool that must have enough request volume * to detect success rate outliers. If the number of backend endpoints is fewer than this setting, * outlier detection via success rate statistics is not performed for any backend endpoint in the * load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG. * @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 backend endpoint 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 backend endpoint. Defaults to 100. Not supported when the * backend service uses Serverless NEG. * @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 backend endpoint 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 backend endpoint. Defaults to 100. Not supported when the * backend service uses Serverless NEG. * @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 * * successRateStdevFactor). 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. Not supported when * the backend service uses Serverless NEG. * @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 * * successRateStdevFactor). 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. Not supported when * the backend service uses Serverless NEG. * @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 - 2024 Weber Informatics LLC | Privacy Policy