1 /* 2 * Copyright 2020 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 // Generated by the protocol buffer compiler. DO NOT EDIT! 17 // source: google/cloud/compute/v1/compute.proto 18 19 package com.google.cloud.compute.v1; 20 21 public interface HttpRouteActionOrBuilder 22 extends 23 // @@protoc_insertion_point(interface_extends:google.cloud.compute.v1.HttpRouteAction) 24 com.google.protobuf.MessageOrBuilder { 25 26 /** 27 * 28 * 29 * <pre> 30 * 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. 31 * </pre> 32 * 33 * <code>optional .google.cloud.compute.v1.CorsPolicy cors_policy = 398943748;</code> 34 * 35 * @return Whether the corsPolicy field is set. 36 */ hasCorsPolicy()37 boolean hasCorsPolicy(); 38 /** 39 * 40 * 41 * <pre> 42 * 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. 43 * </pre> 44 * 45 * <code>optional .google.cloud.compute.v1.CorsPolicy cors_policy = 398943748;</code> 46 * 47 * @return The corsPolicy. 48 */ getCorsPolicy()49 com.google.cloud.compute.v1.CorsPolicy getCorsPolicy(); 50 /** 51 * 52 * 53 * <pre> 54 * 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. 55 * </pre> 56 * 57 * <code>optional .google.cloud.compute.v1.CorsPolicy cors_policy = 398943748;</code> 58 */ getCorsPolicyOrBuilder()59 com.google.cloud.compute.v1.CorsPolicyOrBuilder getCorsPolicyOrBuilder(); 60 61 /** 62 * 63 * 64 * <pre> 65 * 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. 66 * </pre> 67 * 68 * <code>optional .google.cloud.compute.v1.HttpFaultInjection fault_injection_policy = 412781079; 69 * </code> 70 * 71 * @return Whether the faultInjectionPolicy field is set. 72 */ hasFaultInjectionPolicy()73 boolean hasFaultInjectionPolicy(); 74 /** 75 * 76 * 77 * <pre> 78 * 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. 79 * </pre> 80 * 81 * <code>optional .google.cloud.compute.v1.HttpFaultInjection fault_injection_policy = 412781079; 82 * </code> 83 * 84 * @return The faultInjectionPolicy. 85 */ getFaultInjectionPolicy()86 com.google.cloud.compute.v1.HttpFaultInjection getFaultInjectionPolicy(); 87 /** 88 * 89 * 90 * <pre> 91 * 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. 92 * </pre> 93 * 94 * <code>optional .google.cloud.compute.v1.HttpFaultInjection fault_injection_policy = 412781079; 95 * </code> 96 */ getFaultInjectionPolicyOrBuilder()97 com.google.cloud.compute.v1.HttpFaultInjectionOrBuilder getFaultInjectionPolicyOrBuilder(); 98 99 /** 100 * 101 * 102 * <pre> 103 * 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. 104 * </pre> 105 * 106 * <code>optional .google.cloud.compute.v1.Duration max_stream_duration = 61428376;</code> 107 * 108 * @return Whether the maxStreamDuration field is set. 109 */ hasMaxStreamDuration()110 boolean hasMaxStreamDuration(); 111 /** 112 * 113 * 114 * <pre> 115 * 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. 116 * </pre> 117 * 118 * <code>optional .google.cloud.compute.v1.Duration max_stream_duration = 61428376;</code> 119 * 120 * @return The maxStreamDuration. 121 */ getMaxStreamDuration()122 com.google.cloud.compute.v1.Duration getMaxStreamDuration(); 123 /** 124 * 125 * 126 * <pre> 127 * 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. 128 * </pre> 129 * 130 * <code>optional .google.cloud.compute.v1.Duration max_stream_duration = 61428376;</code> 131 */ getMaxStreamDurationOrBuilder()132 com.google.cloud.compute.v1.DurationOrBuilder getMaxStreamDurationOrBuilder(); 133 134 /** 135 * 136 * 137 * <pre> 138 * 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. 139 * </pre> 140 * 141 * <code>optional .google.cloud.compute.v1.RequestMirrorPolicy request_mirror_policy = 220196866; 142 * </code> 143 * 144 * @return Whether the requestMirrorPolicy field is set. 145 */ hasRequestMirrorPolicy()146 boolean hasRequestMirrorPolicy(); 147 /** 148 * 149 * 150 * <pre> 151 * 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. 152 * </pre> 153 * 154 * <code>optional .google.cloud.compute.v1.RequestMirrorPolicy request_mirror_policy = 220196866; 155 * </code> 156 * 157 * @return The requestMirrorPolicy. 158 */ getRequestMirrorPolicy()159 com.google.cloud.compute.v1.RequestMirrorPolicy getRequestMirrorPolicy(); 160 /** 161 * 162 * 163 * <pre> 164 * 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. 165 * </pre> 166 * 167 * <code>optional .google.cloud.compute.v1.RequestMirrorPolicy request_mirror_policy = 220196866; 168 * </code> 169 */ getRequestMirrorPolicyOrBuilder()170 com.google.cloud.compute.v1.RequestMirrorPolicyOrBuilder getRequestMirrorPolicyOrBuilder(); 171 172 /** 173 * 174 * 175 * <pre> 176 * Specifies the retry policy associated with this route. 177 * </pre> 178 * 179 * <code>optional .google.cloud.compute.v1.HttpRetryPolicy retry_policy = 56799913;</code> 180 * 181 * @return Whether the retryPolicy field is set. 182 */ hasRetryPolicy()183 boolean hasRetryPolicy(); 184 /** 185 * 186 * 187 * <pre> 188 * Specifies the retry policy associated with this route. 189 * </pre> 190 * 191 * <code>optional .google.cloud.compute.v1.HttpRetryPolicy retry_policy = 56799913;</code> 192 * 193 * @return The retryPolicy. 194 */ getRetryPolicy()195 com.google.cloud.compute.v1.HttpRetryPolicy getRetryPolicy(); 196 /** 197 * 198 * 199 * <pre> 200 * Specifies the retry policy associated with this route. 201 * </pre> 202 * 203 * <code>optional .google.cloud.compute.v1.HttpRetryPolicy retry_policy = 56799913;</code> 204 */ getRetryPolicyOrBuilder()205 com.google.cloud.compute.v1.HttpRetryPolicyOrBuilder getRetryPolicyOrBuilder(); 206 207 /** 208 * 209 * 210 * <pre> 211 * 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. 212 * </pre> 213 * 214 * <code>optional .google.cloud.compute.v1.Duration timeout = 296701281;</code> 215 * 216 * @return Whether the timeout field is set. 217 */ hasTimeout()218 boolean hasTimeout(); 219 /** 220 * 221 * 222 * <pre> 223 * 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. 224 * </pre> 225 * 226 * <code>optional .google.cloud.compute.v1.Duration timeout = 296701281;</code> 227 * 228 * @return The timeout. 229 */ getTimeout()230 com.google.cloud.compute.v1.Duration getTimeout(); 231 /** 232 * 233 * 234 * <pre> 235 * 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. 236 * </pre> 237 * 238 * <code>optional .google.cloud.compute.v1.Duration timeout = 296701281;</code> 239 */ getTimeoutOrBuilder()240 com.google.cloud.compute.v1.DurationOrBuilder getTimeoutOrBuilder(); 241 242 /** 243 * 244 * 245 * <pre> 246 * 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. 247 * </pre> 248 * 249 * <code>optional .google.cloud.compute.v1.UrlRewrite url_rewrite = 273333948;</code> 250 * 251 * @return Whether the urlRewrite field is set. 252 */ hasUrlRewrite()253 boolean hasUrlRewrite(); 254 /** 255 * 256 * 257 * <pre> 258 * 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. 259 * </pre> 260 * 261 * <code>optional .google.cloud.compute.v1.UrlRewrite url_rewrite = 273333948;</code> 262 * 263 * @return The urlRewrite. 264 */ getUrlRewrite()265 com.google.cloud.compute.v1.UrlRewrite getUrlRewrite(); 266 /** 267 * 268 * 269 * <pre> 270 * 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. 271 * </pre> 272 * 273 * <code>optional .google.cloud.compute.v1.UrlRewrite url_rewrite = 273333948;</code> 274 */ getUrlRewriteOrBuilder()275 com.google.cloud.compute.v1.UrlRewriteOrBuilder getUrlRewriteOrBuilder(); 276 277 /** 278 * 279 * 280 * <pre> 281 * 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. 282 * </pre> 283 * 284 * <code> 285 * repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049; 286 * </code> 287 */ 288 java.util.List<com.google.cloud.compute.v1.WeightedBackendService> getWeightedBackendServicesList()289 getWeightedBackendServicesList(); 290 /** 291 * 292 * 293 * <pre> 294 * 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. 295 * </pre> 296 * 297 * <code> 298 * repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049; 299 * </code> 300 */ getWeightedBackendServices(int index)301 com.google.cloud.compute.v1.WeightedBackendService getWeightedBackendServices(int index); 302 /** 303 * 304 * 305 * <pre> 306 * 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. 307 * </pre> 308 * 309 * <code> 310 * repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049; 311 * </code> 312 */ getWeightedBackendServicesCount()313 int getWeightedBackendServicesCount(); 314 /** 315 * 316 * 317 * <pre> 318 * 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. 319 * </pre> 320 * 321 * <code> 322 * repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049; 323 * </code> 324 */ 325 java.util.List<? extends com.google.cloud.compute.v1.WeightedBackendServiceOrBuilder> getWeightedBackendServicesOrBuilderList()326 getWeightedBackendServicesOrBuilderList(); 327 /** 328 * 329 * 330 * <pre> 331 * 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. 332 * </pre> 333 * 334 * <code> 335 * repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049; 336 * </code> 337 */ getWeightedBackendServicesOrBuilder( int index)338 com.google.cloud.compute.v1.WeightedBackendServiceOrBuilder getWeightedBackendServicesOrBuilder( 339 int index); 340 } 341