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

com.google.api.services.compute.model.PathRule 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;

/**
 * A path-matching rule for a URL. If matched, will use the specified BackendService to handle the
 * traffic arriving at this URL.
 *
 * 

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 PathRule extends com.google.api.client.json.GenericJson { /** * customErrorResponsePolicy specifies how the Load Balancer returns error responses when * BackendServiceor BackendBucket responds with an error. If a policy for an error code is not * configured for the PathRule, a policy for the error code configured in * pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in * pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in * UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the * following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies * for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If * the request is for www.myotherdomain.com and a 404 is encountered, the policy under * UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the * request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the * request for www.example.com/coming_soon/ encounters a 404, the policy in * PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example * encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. * customErrorResponsePolicy is supported only for global external Application Load Balancers. * The value may be {@code null}. */ @com.google.api.client.util.Key private CustomErrorResponsePolicy customErrorResponsePolicy; /** * The list of path patterns to match. Each must start with / and the only place a * is allowed is * at the end following a /. The string fed to the path matcher does not include any text after * the first ? or #, and those chars are not allowed here. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List paths; /** * In response to a matching path, the load balancer performs advanced routing actions, such as * URL rewrites and header transformations, before forwarding the request to the selected backend. * If routeAction specifies any weightedBackendServices, service must not be set. Conversely if * service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction * or urlRedirect must be set. URL maps for classic Application Load Balancers only support the * urlRewrite action within a path rule's routeAction. * The value may be {@code null}. */ @com.google.api.client.util.Key private HttpRouteAction routeAction; /** * The full or partial URL of the backend service resource to which traffic is directed if this * rule is matched. If routeAction is also specified, advanced routing actions, such as URL * rewrites, take effect before sending the request to the backend. However, if service is * specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction * specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, * service or routeAction.weightedBackendService must be set. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String service; /** * When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If * urlRedirect is specified, service or routeAction must not be set. 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 HttpRedirectAction urlRedirect; /** * customErrorResponsePolicy specifies how the Load Balancer returns error responses when * BackendServiceor BackendBucket responds with an error. If a policy for an error code is not * configured for the PathRule, a policy for the error code configured in * pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in * pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in * UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the * following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies * for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If * the request is for www.myotherdomain.com and a 404 is encountered, the policy under * UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the * request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the * request for www.example.com/coming_soon/ encounters a 404, the policy in * PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example * encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. * customErrorResponsePolicy is supported only for global external Application Load Balancers. * @return value or {@code null} for none */ public CustomErrorResponsePolicy getCustomErrorResponsePolicy() { return customErrorResponsePolicy; } /** * customErrorResponsePolicy specifies how the Load Balancer returns error responses when * BackendServiceor BackendBucket responds with an error. If a policy for an error code is not * configured for the PathRule, a policy for the error code configured in * pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in * pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in * UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the * following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies * for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If * the request is for www.myotherdomain.com and a 404 is encountered, the policy under * UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the * request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the * request for www.example.com/coming_soon/ encounters a 404, the policy in * PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example * encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. * customErrorResponsePolicy is supported only for global external Application Load Balancers. * @param customErrorResponsePolicy customErrorResponsePolicy or {@code null} for none */ public PathRule setCustomErrorResponsePolicy(CustomErrorResponsePolicy customErrorResponsePolicy) { this.customErrorResponsePolicy = customErrorResponsePolicy; return this; } /** * The list of path patterns to match. Each must start with / and the only place a * is allowed is * at the end following a /. The string fed to the path matcher does not include any text after * the first ? or #, and those chars are not allowed here. * @return value or {@code null} for none */ public java.util.List getPaths() { return paths; } /** * The list of path patterns to match. Each must start with / and the only place a * is allowed is * at the end following a /. The string fed to the path matcher does not include any text after * the first ? or #, and those chars are not allowed here. * @param paths paths or {@code null} for none */ public PathRule setPaths(java.util.List paths) { this.paths = paths; return this; } /** * In response to a matching path, the load balancer performs advanced routing actions, such as * URL rewrites and header transformations, before forwarding the request to the selected backend. * If routeAction specifies any weightedBackendServices, service must not be set. Conversely if * service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction * or urlRedirect must be set. URL maps for classic Application Load Balancers only support the * urlRewrite action within a path rule's routeAction. * @return value or {@code null} for none */ public HttpRouteAction getRouteAction() { return routeAction; } /** * In response to a matching path, the load balancer performs advanced routing actions, such as * URL rewrites and header transformations, before forwarding the request to the selected backend. * If routeAction specifies any weightedBackendServices, service must not be set. Conversely if * service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction * or urlRedirect must be set. URL maps for classic Application Load Balancers only support the * urlRewrite action within a path rule's routeAction. * @param routeAction routeAction or {@code null} for none */ public PathRule setRouteAction(HttpRouteAction routeAction) { this.routeAction = routeAction; return this; } /** * The full or partial URL of the backend service resource to which traffic is directed if this * rule is matched. If routeAction is also specified, advanced routing actions, such as URL * rewrites, take effect before sending the request to the backend. However, if service is * specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction * specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, * service or routeAction.weightedBackendService must be set. * @return value or {@code null} for none */ public java.lang.String getService() { return service; } /** * The full or partial URL of the backend service resource to which traffic is directed if this * rule is matched. If routeAction is also specified, advanced routing actions, such as URL * rewrites, take effect before sending the request to the backend. However, if service is * specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction * specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, * service or routeAction.weightedBackendService must be set. * @param service service or {@code null} for none */ public PathRule setService(java.lang.String service) { this.service = service; return this; } /** * When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If * urlRedirect is specified, service or routeAction must not be set. Not supported when the URL * map is bound to a target gRPC proxy. * @return value or {@code null} for none */ public HttpRedirectAction getUrlRedirect() { return urlRedirect; } /** * When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If * urlRedirect is specified, service or routeAction must not be set. Not supported when the URL * map is bound to a target gRPC proxy. * @param urlRedirect urlRedirect or {@code null} for none */ public PathRule setUrlRedirect(HttpRedirectAction urlRedirect) { this.urlRedirect = urlRedirect; return this; } @Override public PathRule set(String fieldName, Object value) { return (PathRule) super.set(fieldName, value); } @Override public PathRule clone() { return (PathRule) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy