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

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

/**
 * A matcher for the path portion of the URL. The BackendService from the longest-matched rule will
 * serve the URL. If no rule was matched, the default service will be used.
 *
 * 

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 PathMatcher extends com.google.api.client.json.GenericJson { /** * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load * balancer performs advanced routing actions like URL rewrites, header transformations, etc. * prior to forwarding the request to the selected backend. If defaultRouteAction specifies any * weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, * defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction * or defaultUrlRedirect must be set. * The value may be {@code null}. */ @com.google.api.client.util.Key private HttpRouteAction defaultRouteAction; /** * The full or partial URL to the BackendService resource. This will be used if none of the * pathRules or routeRules defined by this PathMatcher are matched. For example, the following are * all valid URLs to a BackendService resource: - * https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService - * compute/v1/projects/project/global/backendServices/backendService - * global/backendServices/backendService If defaultRouteAction is additionally specified, * advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to * the backend. However, if defaultService is specified, defaultRouteAction cannot contain any * weightedBackendServices. Conversely, if defaultRouteAction specifies any * weightedBackendServices, defaultService must not be specified. Only one of defaultService, * defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set. Authorization * requires one or more of the following Google IAM permissions on the specified resource * default_service: - compute.backendBuckets.use - compute.backendServices.use * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String defaultService; /** * When none of the specified pathRules or routeRules match, the request is redirected to a URL * specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or * defaultRouteAction must not be set. * The value may be {@code null}. */ @com.google.api.client.util.Key private HttpRedirectAction defaultUrlRedirect; /** * An optional description of this resource. Provide this property when you create the resource. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String description; /** * Specifies changes to request and response headers that need to take effect for the selected * backendService. HeaderAction specified here are applied after the matching HttpRouteRule * HeaderAction and before the HeaderAction in the UrlMap * The value may be {@code null}. */ @com.google.api.client.util.Key private HttpHeaderAction headerAction; /** * The name to which this PathMatcher is referred by the HostRule. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * The list of path rules. Use this list instead of routeRules when routing based on simple path * matching is all that's required. The order by which path rules are specified does not matter. * Matches are always done on the longest-path-first basis. For example: a pathRule with a path * /a/b/c will match before /a/b irrespective of the order in which those paths appear in this * list. Within a given pathMatcher, only one of pathRules or routeRules must be set. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List pathRules; /** * The list of HTTP route rules. Use this list instead of pathRules when advanced route matching * and routing actions are desired. routeRules are evaluated in order of priority, from the lowest * to highest number. Within a given pathMatcher, only one of pathRules or routeRules must be set. * routeRules are not supported in UrlMaps intended for External Load balancers. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List routeRules; static { // hack to force ProGuard to consider HttpRouteRule used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(HttpRouteRule.class); } /** * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load * balancer performs advanced routing actions like URL rewrites, header transformations, etc. * prior to forwarding the request to the selected backend. If defaultRouteAction specifies any * weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, * defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction * or defaultUrlRedirect must be set. * @return value or {@code null} for none */ public HttpRouteAction getDefaultRouteAction() { return defaultRouteAction; } /** * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load * balancer performs advanced routing actions like URL rewrites, header transformations, etc. * prior to forwarding the request to the selected backend. If defaultRouteAction specifies any * weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, * defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction * or defaultUrlRedirect must be set. * @param defaultRouteAction defaultRouteAction or {@code null} for none */ public PathMatcher setDefaultRouteAction(HttpRouteAction defaultRouteAction) { this.defaultRouteAction = defaultRouteAction; return this; } /** * The full or partial URL to the BackendService resource. This will be used if none of the * pathRules or routeRules defined by this PathMatcher are matched. For example, the following are * all valid URLs to a BackendService resource: - * https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService - * compute/v1/projects/project/global/backendServices/backendService - * global/backendServices/backendService If defaultRouteAction is additionally specified, * advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to * the backend. However, if defaultService is specified, defaultRouteAction cannot contain any * weightedBackendServices. Conversely, if defaultRouteAction specifies any * weightedBackendServices, defaultService must not be specified. Only one of defaultService, * defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set. Authorization * requires one or more of the following Google IAM permissions on the specified resource * default_service: - compute.backendBuckets.use - compute.backendServices.use * @return value or {@code null} for none */ public java.lang.String getDefaultService() { return defaultService; } /** * The full or partial URL to the BackendService resource. This will be used if none of the * pathRules or routeRules defined by this PathMatcher are matched. For example, the following are * all valid URLs to a BackendService resource: - * https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService - * compute/v1/projects/project/global/backendServices/backendService - * global/backendServices/backendService If defaultRouteAction is additionally specified, * advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to * the backend. However, if defaultService is specified, defaultRouteAction cannot contain any * weightedBackendServices. Conversely, if defaultRouteAction specifies any * weightedBackendServices, defaultService must not be specified. Only one of defaultService, * defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set. Authorization * requires one or more of the following Google IAM permissions on the specified resource * default_service: - compute.backendBuckets.use - compute.backendServices.use * @param defaultService defaultService or {@code null} for none */ public PathMatcher setDefaultService(java.lang.String defaultService) { this.defaultService = defaultService; return this; } /** * When none of the specified pathRules or routeRules match, the request is redirected to a URL * specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or * defaultRouteAction must not be set. * @return value or {@code null} for none */ public HttpRedirectAction getDefaultUrlRedirect() { return defaultUrlRedirect; } /** * When none of the specified pathRules or routeRules match, the request is redirected to a URL * specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or * defaultRouteAction must not be set. * @param defaultUrlRedirect defaultUrlRedirect or {@code null} for none */ public PathMatcher setDefaultUrlRedirect(HttpRedirectAction defaultUrlRedirect) { this.defaultUrlRedirect = defaultUrlRedirect; return this; } /** * An optional description of this resource. Provide this property when you create the resource. * @return value or {@code null} for none */ public java.lang.String getDescription() { return description; } /** * An optional description of this resource. Provide this property when you create the resource. * @param description description or {@code null} for none */ public PathMatcher setDescription(java.lang.String description) { this.description = description; return this; } /** * Specifies changes to request and response headers that need to take effect for the selected * backendService. HeaderAction specified here are applied after the matching HttpRouteRule * HeaderAction and before the HeaderAction in the UrlMap * @return value or {@code null} for none */ public HttpHeaderAction getHeaderAction() { return headerAction; } /** * Specifies changes to request and response headers that need to take effect for the selected * backendService. HeaderAction specified here are applied after the matching HttpRouteRule * HeaderAction and before the HeaderAction in the UrlMap * @param headerAction headerAction or {@code null} for none */ public PathMatcher setHeaderAction(HttpHeaderAction headerAction) { this.headerAction = headerAction; return this; } /** * The name to which this PathMatcher is referred by the HostRule. * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * The name to which this PathMatcher is referred by the HostRule. * @param name name or {@code null} for none */ public PathMatcher setName(java.lang.String name) { this.name = name; return this; } /** * The list of path rules. Use this list instead of routeRules when routing based on simple path * matching is all that's required. The order by which path rules are specified does not matter. * Matches are always done on the longest-path-first basis. For example: a pathRule with a path * /a/b/c will match before /a/b irrespective of the order in which those paths appear in this * list. Within a given pathMatcher, only one of pathRules or routeRules must be set. * @return value or {@code null} for none */ public java.util.List getPathRules() { return pathRules; } /** * The list of path rules. Use this list instead of routeRules when routing based on simple path * matching is all that's required. The order by which path rules are specified does not matter. * Matches are always done on the longest-path-first basis. For example: a pathRule with a path * /a/b/c will match before /a/b irrespective of the order in which those paths appear in this * list. Within a given pathMatcher, only one of pathRules or routeRules must be set. * @param pathRules pathRules or {@code null} for none */ public PathMatcher setPathRules(java.util.List pathRules) { this.pathRules = pathRules; return this; } /** * The list of HTTP route rules. Use this list instead of pathRules when advanced route matching * and routing actions are desired. routeRules are evaluated in order of priority, from the lowest * to highest number. Within a given pathMatcher, only one of pathRules or routeRules must be set. * routeRules are not supported in UrlMaps intended for External Load balancers. * @return value or {@code null} for none */ public java.util.List getRouteRules() { return routeRules; } /** * The list of HTTP route rules. Use this list instead of pathRules when advanced route matching * and routing actions are desired. routeRules are evaluated in order of priority, from the lowest * to highest number. Within a given pathMatcher, only one of pathRules or routeRules must be set. * routeRules are not supported in UrlMaps intended for External Load balancers. * @param routeRules routeRules or {@code null} for none */ public PathMatcher setRouteRules(java.util.List routeRules) { this.routeRules = routeRules; return this; } @Override public PathMatcher set(String fieldName, Object value) { return (PathMatcher) super.set(fieldName, value); } @Override public PathMatcher clone() { return (PathMatcher) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy