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

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

/*
 * 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;

/**
 * Model definition for HttpRouteAction.
 *
 * 

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 HttpRouteAction extends com.google.api.client.json.GenericJson { /** * The specification for allowing client-side cross-origin requests. For more information about * the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. * Not supported when the URL map is bound to a target gRPC proxy. * The value may be {@code null}. */ @com.google.api.client.util.Key private CorsPolicy corsPolicy; /** * The specification for fault injection introduced into traffic to test the resiliency of clients * to backend service failure. As part of fault injection, when clients send requests to a backend * service, delays can be introduced by a load balancer on a percentage of requests before sending * those requests to the backend service. Similarly requests from clients can be aborted by the * load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that * are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection * AND 2. The fault injection is not a delay fault injection. Fault injection is not supported * with the global external HTTP(S) load balancer (classic). To see which load balancers support * fault injection, see Load balancing: Routing and traffic management features. * The value may be {@code null}. */ @com.google.api.client.util.Key private HttpFaultInjection faultInjectionPolicy; /** * Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout * field where the timeout duration starts from the time the request has been fully processed * (known as *end-of-stream*), the duration in this field is computed from the beginning of the * stream until the response has been processed, including all retries. A stream that does not * complete in this duration is closed. If not specified, this field uses the maximum * maxStreamDuration value among all backend services associated with the route. This field is * only allowed if the Url map is used with backend services with loadBalancingScheme set to * INTERNAL_SELF_MANAGED. * The value may be {@code null}. */ @com.google.api.client.util.Key private Duration maxStreamDuration; /** * Specifies the policy on how requests intended for the route's backends are shadowed to a * separate mirrored backend service. The load balancer does not wait for responses from the * shadow service. Before sending traffic to the shadow service, the host / authority header is * suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has * the validateForProxyless field set to true. * The value may be {@code null}. */ @com.google.api.client.util.Key private RequestMirrorPolicy requestMirrorPolicy; /** * Specifies the retry policy associated with this route. * The value may be {@code null}. */ @com.google.api.client.util.Key private HttpRetryPolicy retryPolicy; /** * Specifies the timeout for the selected route. Timeout is computed from the time the request has * been fully processed (known as *end-of-stream*) up until the response has been processed. * Timeout includes all retries. If not specified, this field uses the largest timeout among all * backend services associated with the route. Not supported when the URL map is bound to a target * gRPC proxy that has validateForProxyless field set to true. * The value may be {@code null}. */ @com.google.api.client.util.Key private Duration timeout; /** * The spec to modify the URL of the request, before forwarding the request to the matched * service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load * balancers. Not supported when the URL map is bound to a target gRPC proxy that has the * validateForProxyless field set to true. * The value may be {@code null}. */ @com.google.api.client.util.Key private UrlRewrite urlRewrite; /** * A list of weighted backend services to send traffic to when a route match occurs. The weights * determine the fraction of traffic that flows to their corresponding backend service. If all * traffic needs to go to a single backend service, there must be one weightedBackendService with * weight set to a non-zero number. After a backend service is identified and before forwarding * the request to the backend service, advanced routing actions such as URL rewrites and header * transformations are applied depending on additional settings specified in this HttpRouteAction. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List weightedBackendServices; /** * The specification for allowing client-side cross-origin requests. For more information about * the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. * Not supported when the URL map is bound to a target gRPC proxy. * @return value or {@code null} for none */ public CorsPolicy getCorsPolicy() { return corsPolicy; } /** * The specification for allowing client-side cross-origin requests. For more information about * the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. * Not supported when the URL map is bound to a target gRPC proxy. * @param corsPolicy corsPolicy or {@code null} for none */ public HttpRouteAction setCorsPolicy(CorsPolicy corsPolicy) { this.corsPolicy = corsPolicy; return this; } /** * The specification for fault injection introduced into traffic to test the resiliency of clients * to backend service failure. As part of fault injection, when clients send requests to a backend * service, delays can be introduced by a load balancer on a percentage of requests before sending * those requests to the backend service. Similarly requests from clients can be aborted by the * load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that * are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection * AND 2. The fault injection is not a delay fault injection. Fault injection is not supported * with the global external HTTP(S) load balancer (classic). To see which load balancers support * fault injection, see Load balancing: Routing and traffic management features. * @return value or {@code null} for none */ public HttpFaultInjection getFaultInjectionPolicy() { return faultInjectionPolicy; } /** * The specification for fault injection introduced into traffic to test the resiliency of clients * to backend service failure. As part of fault injection, when clients send requests to a backend * service, delays can be introduced by a load balancer on a percentage of requests before sending * those requests to the backend service. Similarly requests from clients can be aborted by the * load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that * are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection * AND 2. The fault injection is not a delay fault injection. Fault injection is not supported * with the global external HTTP(S) load balancer (classic). To see which load balancers support * fault injection, see Load balancing: Routing and traffic management features. * @param faultInjectionPolicy faultInjectionPolicy or {@code null} for none */ public HttpRouteAction setFaultInjectionPolicy(HttpFaultInjection faultInjectionPolicy) { this.faultInjectionPolicy = faultInjectionPolicy; return this; } /** * Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout * field where the timeout duration starts from the time the request has been fully processed * (known as *end-of-stream*), the duration in this field is computed from the beginning of the * stream until the response has been processed, including all retries. A stream that does not * complete in this duration is closed. If not specified, this field uses the maximum * maxStreamDuration value among all backend services associated with the route. This field is * only allowed if the Url map is used with backend services with loadBalancingScheme set to * INTERNAL_SELF_MANAGED. * @return value or {@code null} for none */ public Duration getMaxStreamDuration() { return maxStreamDuration; } /** * Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout * field where the timeout duration starts from the time the request has been fully processed * (known as *end-of-stream*), the duration in this field is computed from the beginning of the * stream until the response has been processed, including all retries. A stream that does not * complete in this duration is closed. If not specified, this field uses the maximum * maxStreamDuration value among all backend services associated with the route. This field is * only allowed if the Url map is used with backend services with loadBalancingScheme set to * INTERNAL_SELF_MANAGED. * @param maxStreamDuration maxStreamDuration or {@code null} for none */ public HttpRouteAction setMaxStreamDuration(Duration maxStreamDuration) { this.maxStreamDuration = maxStreamDuration; return this; } /** * Specifies the policy on how requests intended for the route's backends are shadowed to a * separate mirrored backend service. The load balancer does not wait for responses from the * shadow service. Before sending traffic to the shadow service, the host / authority header is * suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has * the validateForProxyless field set to true. * @return value or {@code null} for none */ public RequestMirrorPolicy getRequestMirrorPolicy() { return requestMirrorPolicy; } /** * Specifies the policy on how requests intended for the route's backends are shadowed to a * separate mirrored backend service. The load balancer does not wait for responses from the * shadow service. Before sending traffic to the shadow service, the host / authority header is * suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has * the validateForProxyless field set to true. * @param requestMirrorPolicy requestMirrorPolicy or {@code null} for none */ public HttpRouteAction setRequestMirrorPolicy(RequestMirrorPolicy requestMirrorPolicy) { this.requestMirrorPolicy = requestMirrorPolicy; return this; } /** * Specifies the retry policy associated with this route. * @return value or {@code null} for none */ public HttpRetryPolicy getRetryPolicy() { return retryPolicy; } /** * Specifies the retry policy associated with this route. * @param retryPolicy retryPolicy or {@code null} for none */ public HttpRouteAction setRetryPolicy(HttpRetryPolicy retryPolicy) { this.retryPolicy = retryPolicy; return this; } /** * Specifies the timeout for the selected route. Timeout is computed from the time the request has * been fully processed (known as *end-of-stream*) up until the response has been processed. * Timeout includes all retries. If not specified, this field uses the largest timeout among all * backend services associated with the route. Not supported when the URL map is bound to a target * gRPC proxy that has validateForProxyless field set to true. * @return value or {@code null} for none */ public Duration getTimeout() { return timeout; } /** * Specifies the timeout for the selected route. Timeout is computed from the time the request has * been fully processed (known as *end-of-stream*) up until the response has been processed. * Timeout includes all retries. If not specified, this field uses the largest timeout among all * backend services associated with the route. Not supported when the URL map is bound to a target * gRPC proxy that has validateForProxyless field set to true. * @param timeout timeout or {@code null} for none */ public HttpRouteAction setTimeout(Duration timeout) { this.timeout = timeout; return this; } /** * The spec to modify the URL of the request, before forwarding the request to the matched * service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load * balancers. Not supported when the URL map is bound to a target gRPC proxy that has the * validateForProxyless field set to true. * @return value or {@code null} for none */ public UrlRewrite getUrlRewrite() { return urlRewrite; } /** * The spec to modify the URL of the request, before forwarding the request to the matched * service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load * balancers. Not supported when the URL map is bound to a target gRPC proxy that has the * validateForProxyless field set to true. * @param urlRewrite urlRewrite or {@code null} for none */ public HttpRouteAction setUrlRewrite(UrlRewrite urlRewrite) { this.urlRewrite = urlRewrite; return this; } /** * A list of weighted backend services to send traffic to when a route match occurs. The weights * determine the fraction of traffic that flows to their corresponding backend service. If all * traffic needs to go to a single backend service, there must be one weightedBackendService with * weight set to a non-zero number. After a backend service is identified and before forwarding * the request to the backend service, advanced routing actions such as URL rewrites and header * transformations are applied depending on additional settings specified in this HttpRouteAction. * @return value or {@code null} for none */ public java.util.List getWeightedBackendServices() { return weightedBackendServices; } /** * A list of weighted backend services to send traffic to when a route match occurs. The weights * determine the fraction of traffic that flows to their corresponding backend service. If all * traffic needs to go to a single backend service, there must be one weightedBackendService with * weight set to a non-zero number. After a backend service is identified and before forwarding * the request to the backend service, advanced routing actions such as URL rewrites and header * transformations are applied depending on additional settings specified in this HttpRouteAction. * @param weightedBackendServices weightedBackendServices or {@code null} for none */ public HttpRouteAction setWeightedBackendServices(java.util.List weightedBackendServices) { this.weightedBackendServices = weightedBackendServices; return this; } @Override public HttpRouteAction set(String fieldName, Object value) { return (HttpRouteAction) super.set(fieldName, value); } @Override public HttpRouteAction clone() { return (HttpRouteAction) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy