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 /** 22 * 23 * 24 * <pre> 25 * The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform. 26 * </pre> 27 * 28 * Protobuf type {@code google.cloud.compute.v1.HttpRouteRule} 29 */ 30 public final class HttpRouteRule extends com.google.protobuf.GeneratedMessageV3 31 implements 32 // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.HttpRouteRule) 33 HttpRouteRuleOrBuilder { 34 private static final long serialVersionUID = 0L; 35 // Use HttpRouteRule.newBuilder() to construct. HttpRouteRule(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36 private HttpRouteRule(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { 37 super(builder); 38 } 39 HttpRouteRule()40 private HttpRouteRule() { 41 description_ = ""; 42 matchRules_ = java.util.Collections.emptyList(); 43 service_ = ""; 44 } 45 46 @java.lang.Override 47 @SuppressWarnings({"unused"}) newInstance(UnusedPrivateParameter unused)48 protected java.lang.Object newInstance(UnusedPrivateParameter unused) { 49 return new HttpRouteRule(); 50 } 51 52 @java.lang.Override getUnknownFields()53 public final com.google.protobuf.UnknownFieldSet getUnknownFields() { 54 return this.unknownFields; 55 } 56 getDescriptor()57 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 58 return com.google.cloud.compute.v1.Compute 59 .internal_static_google_cloud_compute_v1_HttpRouteRule_descriptor; 60 } 61 62 @java.lang.Override 63 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()64 internalGetFieldAccessorTable() { 65 return com.google.cloud.compute.v1.Compute 66 .internal_static_google_cloud_compute_v1_HttpRouteRule_fieldAccessorTable 67 .ensureFieldAccessorsInitialized( 68 com.google.cloud.compute.v1.HttpRouteRule.class, 69 com.google.cloud.compute.v1.HttpRouteRule.Builder.class); 70 } 71 72 private int bitField0_; 73 public static final int DESCRIPTION_FIELD_NUMBER = 422937596; 74 75 @SuppressWarnings("serial") 76 private volatile java.lang.Object description_ = ""; 77 /** 78 * 79 * 80 * <pre> 81 * The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters. 82 * </pre> 83 * 84 * <code>optional string description = 422937596;</code> 85 * 86 * @return Whether the description field is set. 87 */ 88 @java.lang.Override hasDescription()89 public boolean hasDescription() { 90 return ((bitField0_ & 0x00000001) != 0); 91 } 92 /** 93 * 94 * 95 * <pre> 96 * The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters. 97 * </pre> 98 * 99 * <code>optional string description = 422937596;</code> 100 * 101 * @return The description. 102 */ 103 @java.lang.Override getDescription()104 public java.lang.String getDescription() { 105 java.lang.Object ref = description_; 106 if (ref instanceof java.lang.String) { 107 return (java.lang.String) ref; 108 } else { 109 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 110 java.lang.String s = bs.toStringUtf8(); 111 description_ = s; 112 return s; 113 } 114 } 115 /** 116 * 117 * 118 * <pre> 119 * The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters. 120 * </pre> 121 * 122 * <code>optional string description = 422937596;</code> 123 * 124 * @return The bytes for description. 125 */ 126 @java.lang.Override getDescriptionBytes()127 public com.google.protobuf.ByteString getDescriptionBytes() { 128 java.lang.Object ref = description_; 129 if (ref instanceof java.lang.String) { 130 com.google.protobuf.ByteString b = 131 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 132 description_ = b; 133 return b; 134 } else { 135 return (com.google.protobuf.ByteString) ref; 136 } 137 } 138 139 public static final int HEADER_ACTION_FIELD_NUMBER = 328077352; 140 private com.google.cloud.compute.v1.HttpHeaderAction headerAction_; 141 /** 142 * 143 * 144 * <pre> 145 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 146 * </pre> 147 * 148 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 149 * 150 * @return Whether the headerAction field is set. 151 */ 152 @java.lang.Override hasHeaderAction()153 public boolean hasHeaderAction() { 154 return ((bitField0_ & 0x00000002) != 0); 155 } 156 /** 157 * 158 * 159 * <pre> 160 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 161 * </pre> 162 * 163 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 164 * 165 * @return The headerAction. 166 */ 167 @java.lang.Override getHeaderAction()168 public com.google.cloud.compute.v1.HttpHeaderAction getHeaderAction() { 169 return headerAction_ == null 170 ? com.google.cloud.compute.v1.HttpHeaderAction.getDefaultInstance() 171 : headerAction_; 172 } 173 /** 174 * 175 * 176 * <pre> 177 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 178 * </pre> 179 * 180 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 181 */ 182 @java.lang.Override getHeaderActionOrBuilder()183 public com.google.cloud.compute.v1.HttpHeaderActionOrBuilder getHeaderActionOrBuilder() { 184 return headerAction_ == null 185 ? com.google.cloud.compute.v1.HttpHeaderAction.getDefaultInstance() 186 : headerAction_; 187 } 188 189 public static final int MATCH_RULES_FIELD_NUMBER = 376200701; 190 191 @SuppressWarnings("serial") 192 private java.util.List<com.google.cloud.compute.v1.HttpRouteRuleMatch> matchRules_; 193 /** 194 * 195 * 196 * <pre> 197 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 198 * </pre> 199 * 200 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 201 */ 202 @java.lang.Override getMatchRulesList()203 public java.util.List<com.google.cloud.compute.v1.HttpRouteRuleMatch> getMatchRulesList() { 204 return matchRules_; 205 } 206 /** 207 * 208 * 209 * <pre> 210 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 211 * </pre> 212 * 213 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 214 */ 215 @java.lang.Override 216 public java.util.List<? extends com.google.cloud.compute.v1.HttpRouteRuleMatchOrBuilder> getMatchRulesOrBuilderList()217 getMatchRulesOrBuilderList() { 218 return matchRules_; 219 } 220 /** 221 * 222 * 223 * <pre> 224 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 225 * </pre> 226 * 227 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 228 */ 229 @java.lang.Override getMatchRulesCount()230 public int getMatchRulesCount() { 231 return matchRules_.size(); 232 } 233 /** 234 * 235 * 236 * <pre> 237 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 238 * </pre> 239 * 240 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 241 */ 242 @java.lang.Override getMatchRules(int index)243 public com.google.cloud.compute.v1.HttpRouteRuleMatch getMatchRules(int index) { 244 return matchRules_.get(index); 245 } 246 /** 247 * 248 * 249 * <pre> 250 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 251 * </pre> 252 * 253 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 254 */ 255 @java.lang.Override getMatchRulesOrBuilder(int index)256 public com.google.cloud.compute.v1.HttpRouteRuleMatchOrBuilder getMatchRulesOrBuilder(int index) { 257 return matchRules_.get(index); 258 } 259 260 public static final int PRIORITY_FIELD_NUMBER = 445151652; 261 private int priority_ = 0; 262 /** 263 * 264 * 265 * <pre> 266 * For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules. 267 * </pre> 268 * 269 * <code>optional int32 priority = 445151652;</code> 270 * 271 * @return Whether the priority field is set. 272 */ 273 @java.lang.Override hasPriority()274 public boolean hasPriority() { 275 return ((bitField0_ & 0x00000004) != 0); 276 } 277 /** 278 * 279 * 280 * <pre> 281 * For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules. 282 * </pre> 283 * 284 * <code>optional int32 priority = 445151652;</code> 285 * 286 * @return The priority. 287 */ 288 @java.lang.Override getPriority()289 public int getPriority() { 290 return priority_; 291 } 292 293 public static final int ROUTE_ACTION_FIELD_NUMBER = 424563948; 294 private com.google.cloud.compute.v1.HttpRouteAction routeAction_; 295 /** 296 * 297 * 298 * <pre> 299 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 300 * </pre> 301 * 302 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 303 * 304 * @return Whether the routeAction field is set. 305 */ 306 @java.lang.Override hasRouteAction()307 public boolean hasRouteAction() { 308 return ((bitField0_ & 0x00000008) != 0); 309 } 310 /** 311 * 312 * 313 * <pre> 314 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 315 * </pre> 316 * 317 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 318 * 319 * @return The routeAction. 320 */ 321 @java.lang.Override getRouteAction()322 public com.google.cloud.compute.v1.HttpRouteAction getRouteAction() { 323 return routeAction_ == null 324 ? com.google.cloud.compute.v1.HttpRouteAction.getDefaultInstance() 325 : routeAction_; 326 } 327 /** 328 * 329 * 330 * <pre> 331 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 332 * </pre> 333 * 334 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 335 */ 336 @java.lang.Override getRouteActionOrBuilder()337 public com.google.cloud.compute.v1.HttpRouteActionOrBuilder getRouteActionOrBuilder() { 338 return routeAction_ == null 339 ? com.google.cloud.compute.v1.HttpRouteAction.getDefaultInstance() 340 : routeAction_; 341 } 342 343 public static final int SERVICE_FIELD_NUMBER = 373540533; 344 345 @SuppressWarnings("serial") 346 private volatile java.lang.Object service_ = ""; 347 /** 348 * 349 * 350 * <pre> 351 * 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. 352 * </pre> 353 * 354 * <code>optional string service = 373540533;</code> 355 * 356 * @return Whether the service field is set. 357 */ 358 @java.lang.Override hasService()359 public boolean hasService() { 360 return ((bitField0_ & 0x00000010) != 0); 361 } 362 /** 363 * 364 * 365 * <pre> 366 * 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. 367 * </pre> 368 * 369 * <code>optional string service = 373540533;</code> 370 * 371 * @return The service. 372 */ 373 @java.lang.Override getService()374 public java.lang.String getService() { 375 java.lang.Object ref = service_; 376 if (ref instanceof java.lang.String) { 377 return (java.lang.String) ref; 378 } else { 379 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 380 java.lang.String s = bs.toStringUtf8(); 381 service_ = s; 382 return s; 383 } 384 } 385 /** 386 * 387 * 388 * <pre> 389 * 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. 390 * </pre> 391 * 392 * <code>optional string service = 373540533;</code> 393 * 394 * @return The bytes for service. 395 */ 396 @java.lang.Override getServiceBytes()397 public com.google.protobuf.ByteString getServiceBytes() { 398 java.lang.Object ref = service_; 399 if (ref instanceof java.lang.String) { 400 com.google.protobuf.ByteString b = 401 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 402 service_ = b; 403 return b; 404 } else { 405 return (com.google.protobuf.ByteString) ref; 406 } 407 } 408 409 public static final int URL_REDIRECT_FIELD_NUMBER = 405147820; 410 private com.google.cloud.compute.v1.HttpRedirectAction urlRedirect_; 411 /** 412 * 413 * 414 * <pre> 415 * When this rule 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. 416 * </pre> 417 * 418 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 419 * 420 * @return Whether the urlRedirect field is set. 421 */ 422 @java.lang.Override hasUrlRedirect()423 public boolean hasUrlRedirect() { 424 return ((bitField0_ & 0x00000020) != 0); 425 } 426 /** 427 * 428 * 429 * <pre> 430 * When this rule 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. 431 * </pre> 432 * 433 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 434 * 435 * @return The urlRedirect. 436 */ 437 @java.lang.Override getUrlRedirect()438 public com.google.cloud.compute.v1.HttpRedirectAction getUrlRedirect() { 439 return urlRedirect_ == null 440 ? com.google.cloud.compute.v1.HttpRedirectAction.getDefaultInstance() 441 : urlRedirect_; 442 } 443 /** 444 * 445 * 446 * <pre> 447 * When this rule 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. 448 * </pre> 449 * 450 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 451 */ 452 @java.lang.Override getUrlRedirectOrBuilder()453 public com.google.cloud.compute.v1.HttpRedirectActionOrBuilder getUrlRedirectOrBuilder() { 454 return urlRedirect_ == null 455 ? com.google.cloud.compute.v1.HttpRedirectAction.getDefaultInstance() 456 : urlRedirect_; 457 } 458 459 private byte memoizedIsInitialized = -1; 460 461 @java.lang.Override isInitialized()462 public final boolean isInitialized() { 463 byte isInitialized = memoizedIsInitialized; 464 if (isInitialized == 1) return true; 465 if (isInitialized == 0) return false; 466 467 memoizedIsInitialized = 1; 468 return true; 469 } 470 471 @java.lang.Override writeTo(com.google.protobuf.CodedOutputStream output)472 public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { 473 if (((bitField0_ & 0x00000002) != 0)) { 474 output.writeMessage(328077352, getHeaderAction()); 475 } 476 if (((bitField0_ & 0x00000010) != 0)) { 477 com.google.protobuf.GeneratedMessageV3.writeString(output, 373540533, service_); 478 } 479 for (int i = 0; i < matchRules_.size(); i++) { 480 output.writeMessage(376200701, matchRules_.get(i)); 481 } 482 if (((bitField0_ & 0x00000020) != 0)) { 483 output.writeMessage(405147820, getUrlRedirect()); 484 } 485 if (((bitField0_ & 0x00000001) != 0)) { 486 com.google.protobuf.GeneratedMessageV3.writeString(output, 422937596, description_); 487 } 488 if (((bitField0_ & 0x00000008) != 0)) { 489 output.writeMessage(424563948, getRouteAction()); 490 } 491 if (((bitField0_ & 0x00000004) != 0)) { 492 output.writeInt32(445151652, priority_); 493 } 494 getUnknownFields().writeTo(output); 495 } 496 497 @java.lang.Override getSerializedSize()498 public int getSerializedSize() { 499 int size = memoizedSize; 500 if (size != -1) return size; 501 502 size = 0; 503 if (((bitField0_ & 0x00000002) != 0)) { 504 size += 505 com.google.protobuf.CodedOutputStream.computeMessageSize(328077352, getHeaderAction()); 506 } 507 if (((bitField0_ & 0x00000010) != 0)) { 508 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(373540533, service_); 509 } 510 for (int i = 0; i < matchRules_.size(); i++) { 511 size += 512 com.google.protobuf.CodedOutputStream.computeMessageSize(376200701, matchRules_.get(i)); 513 } 514 if (((bitField0_ & 0x00000020) != 0)) { 515 size += com.google.protobuf.CodedOutputStream.computeMessageSize(405147820, getUrlRedirect()); 516 } 517 if (((bitField0_ & 0x00000001) != 0)) { 518 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(422937596, description_); 519 } 520 if (((bitField0_ & 0x00000008) != 0)) { 521 size += com.google.protobuf.CodedOutputStream.computeMessageSize(424563948, getRouteAction()); 522 } 523 if (((bitField0_ & 0x00000004) != 0)) { 524 size += com.google.protobuf.CodedOutputStream.computeInt32Size(445151652, priority_); 525 } 526 size += getUnknownFields().getSerializedSize(); 527 memoizedSize = size; 528 return size; 529 } 530 531 @java.lang.Override equals(final java.lang.Object obj)532 public boolean equals(final java.lang.Object obj) { 533 if (obj == this) { 534 return true; 535 } 536 if (!(obj instanceof com.google.cloud.compute.v1.HttpRouteRule)) { 537 return super.equals(obj); 538 } 539 com.google.cloud.compute.v1.HttpRouteRule other = 540 (com.google.cloud.compute.v1.HttpRouteRule) obj; 541 542 if (hasDescription() != other.hasDescription()) return false; 543 if (hasDescription()) { 544 if (!getDescription().equals(other.getDescription())) return false; 545 } 546 if (hasHeaderAction() != other.hasHeaderAction()) return false; 547 if (hasHeaderAction()) { 548 if (!getHeaderAction().equals(other.getHeaderAction())) return false; 549 } 550 if (!getMatchRulesList().equals(other.getMatchRulesList())) return false; 551 if (hasPriority() != other.hasPriority()) return false; 552 if (hasPriority()) { 553 if (getPriority() != other.getPriority()) return false; 554 } 555 if (hasRouteAction() != other.hasRouteAction()) return false; 556 if (hasRouteAction()) { 557 if (!getRouteAction().equals(other.getRouteAction())) return false; 558 } 559 if (hasService() != other.hasService()) return false; 560 if (hasService()) { 561 if (!getService().equals(other.getService())) return false; 562 } 563 if (hasUrlRedirect() != other.hasUrlRedirect()) return false; 564 if (hasUrlRedirect()) { 565 if (!getUrlRedirect().equals(other.getUrlRedirect())) return false; 566 } 567 if (!getUnknownFields().equals(other.getUnknownFields())) return false; 568 return true; 569 } 570 571 @java.lang.Override hashCode()572 public int hashCode() { 573 if (memoizedHashCode != 0) { 574 return memoizedHashCode; 575 } 576 int hash = 41; 577 hash = (19 * hash) + getDescriptor().hashCode(); 578 if (hasDescription()) { 579 hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; 580 hash = (53 * hash) + getDescription().hashCode(); 581 } 582 if (hasHeaderAction()) { 583 hash = (37 * hash) + HEADER_ACTION_FIELD_NUMBER; 584 hash = (53 * hash) + getHeaderAction().hashCode(); 585 } 586 if (getMatchRulesCount() > 0) { 587 hash = (37 * hash) + MATCH_RULES_FIELD_NUMBER; 588 hash = (53 * hash) + getMatchRulesList().hashCode(); 589 } 590 if (hasPriority()) { 591 hash = (37 * hash) + PRIORITY_FIELD_NUMBER; 592 hash = (53 * hash) + getPriority(); 593 } 594 if (hasRouteAction()) { 595 hash = (37 * hash) + ROUTE_ACTION_FIELD_NUMBER; 596 hash = (53 * hash) + getRouteAction().hashCode(); 597 } 598 if (hasService()) { 599 hash = (37 * hash) + SERVICE_FIELD_NUMBER; 600 hash = (53 * hash) + getService().hashCode(); 601 } 602 if (hasUrlRedirect()) { 603 hash = (37 * hash) + URL_REDIRECT_FIELD_NUMBER; 604 hash = (53 * hash) + getUrlRedirect().hashCode(); 605 } 606 hash = (29 * hash) + getUnknownFields().hashCode(); 607 memoizedHashCode = hash; 608 return hash; 609 } 610 parseFrom(java.nio.ByteBuffer data)611 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom(java.nio.ByteBuffer data) 612 throws com.google.protobuf.InvalidProtocolBufferException { 613 return PARSER.parseFrom(data); 614 } 615 parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)616 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom( 617 java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 618 throws com.google.protobuf.InvalidProtocolBufferException { 619 return PARSER.parseFrom(data, extensionRegistry); 620 } 621 parseFrom( com.google.protobuf.ByteString data)622 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom( 623 com.google.protobuf.ByteString data) 624 throws com.google.protobuf.InvalidProtocolBufferException { 625 return PARSER.parseFrom(data); 626 } 627 parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)628 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom( 629 com.google.protobuf.ByteString data, 630 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 631 throws com.google.protobuf.InvalidProtocolBufferException { 632 return PARSER.parseFrom(data, extensionRegistry); 633 } 634 parseFrom(byte[] data)635 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom(byte[] data) 636 throws com.google.protobuf.InvalidProtocolBufferException { 637 return PARSER.parseFrom(data); 638 } 639 parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)640 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom( 641 byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 642 throws com.google.protobuf.InvalidProtocolBufferException { 643 return PARSER.parseFrom(data, extensionRegistry); 644 } 645 parseFrom(java.io.InputStream input)646 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom(java.io.InputStream input) 647 throws java.io.IOException { 648 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 649 } 650 parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)651 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom( 652 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 653 throws java.io.IOException { 654 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 655 PARSER, input, extensionRegistry); 656 } 657 parseDelimitedFrom( java.io.InputStream input)658 public static com.google.cloud.compute.v1.HttpRouteRule parseDelimitedFrom( 659 java.io.InputStream input) throws java.io.IOException { 660 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); 661 } 662 parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)663 public static com.google.cloud.compute.v1.HttpRouteRule parseDelimitedFrom( 664 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 665 throws java.io.IOException { 666 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( 667 PARSER, input, extensionRegistry); 668 } 669 parseFrom( com.google.protobuf.CodedInputStream input)670 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom( 671 com.google.protobuf.CodedInputStream input) throws java.io.IOException { 672 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 673 } 674 parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)675 public static com.google.cloud.compute.v1.HttpRouteRule parseFrom( 676 com.google.protobuf.CodedInputStream input, 677 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 678 throws java.io.IOException { 679 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 680 PARSER, input, extensionRegistry); 681 } 682 683 @java.lang.Override newBuilderForType()684 public Builder newBuilderForType() { 685 return newBuilder(); 686 } 687 newBuilder()688 public static Builder newBuilder() { 689 return DEFAULT_INSTANCE.toBuilder(); 690 } 691 newBuilder(com.google.cloud.compute.v1.HttpRouteRule prototype)692 public static Builder newBuilder(com.google.cloud.compute.v1.HttpRouteRule prototype) { 693 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); 694 } 695 696 @java.lang.Override toBuilder()697 public Builder toBuilder() { 698 return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); 699 } 700 701 @java.lang.Override newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)702 protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 703 Builder builder = new Builder(parent); 704 return builder; 705 } 706 /** 707 * 708 * 709 * <pre> 710 * The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform. 711 * </pre> 712 * 713 * Protobuf type {@code google.cloud.compute.v1.HttpRouteRule} 714 */ 715 public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> 716 implements 717 // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.HttpRouteRule) 718 com.google.cloud.compute.v1.HttpRouteRuleOrBuilder { getDescriptor()719 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 720 return com.google.cloud.compute.v1.Compute 721 .internal_static_google_cloud_compute_v1_HttpRouteRule_descriptor; 722 } 723 724 @java.lang.Override 725 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()726 internalGetFieldAccessorTable() { 727 return com.google.cloud.compute.v1.Compute 728 .internal_static_google_cloud_compute_v1_HttpRouteRule_fieldAccessorTable 729 .ensureFieldAccessorsInitialized( 730 com.google.cloud.compute.v1.HttpRouteRule.class, 731 com.google.cloud.compute.v1.HttpRouteRule.Builder.class); 732 } 733 734 // Construct using com.google.cloud.compute.v1.HttpRouteRule.newBuilder() Builder()735 private Builder() { 736 maybeForceBuilderInitialization(); 737 } 738 Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)739 private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 740 super(parent); 741 maybeForceBuilderInitialization(); 742 } 743 maybeForceBuilderInitialization()744 private void maybeForceBuilderInitialization() { 745 if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { 746 getHeaderActionFieldBuilder(); 747 getMatchRulesFieldBuilder(); 748 getRouteActionFieldBuilder(); 749 getUrlRedirectFieldBuilder(); 750 } 751 } 752 753 @java.lang.Override clear()754 public Builder clear() { 755 super.clear(); 756 bitField0_ = 0; 757 description_ = ""; 758 headerAction_ = null; 759 if (headerActionBuilder_ != null) { 760 headerActionBuilder_.dispose(); 761 headerActionBuilder_ = null; 762 } 763 if (matchRulesBuilder_ == null) { 764 matchRules_ = java.util.Collections.emptyList(); 765 } else { 766 matchRules_ = null; 767 matchRulesBuilder_.clear(); 768 } 769 bitField0_ = (bitField0_ & ~0x00000004); 770 priority_ = 0; 771 routeAction_ = null; 772 if (routeActionBuilder_ != null) { 773 routeActionBuilder_.dispose(); 774 routeActionBuilder_ = null; 775 } 776 service_ = ""; 777 urlRedirect_ = null; 778 if (urlRedirectBuilder_ != null) { 779 urlRedirectBuilder_.dispose(); 780 urlRedirectBuilder_ = null; 781 } 782 return this; 783 } 784 785 @java.lang.Override getDescriptorForType()786 public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { 787 return com.google.cloud.compute.v1.Compute 788 .internal_static_google_cloud_compute_v1_HttpRouteRule_descriptor; 789 } 790 791 @java.lang.Override getDefaultInstanceForType()792 public com.google.cloud.compute.v1.HttpRouteRule getDefaultInstanceForType() { 793 return com.google.cloud.compute.v1.HttpRouteRule.getDefaultInstance(); 794 } 795 796 @java.lang.Override build()797 public com.google.cloud.compute.v1.HttpRouteRule build() { 798 com.google.cloud.compute.v1.HttpRouteRule result = buildPartial(); 799 if (!result.isInitialized()) { 800 throw newUninitializedMessageException(result); 801 } 802 return result; 803 } 804 805 @java.lang.Override buildPartial()806 public com.google.cloud.compute.v1.HttpRouteRule buildPartial() { 807 com.google.cloud.compute.v1.HttpRouteRule result = 808 new com.google.cloud.compute.v1.HttpRouteRule(this); 809 buildPartialRepeatedFields(result); 810 if (bitField0_ != 0) { 811 buildPartial0(result); 812 } 813 onBuilt(); 814 return result; 815 } 816 buildPartialRepeatedFields(com.google.cloud.compute.v1.HttpRouteRule result)817 private void buildPartialRepeatedFields(com.google.cloud.compute.v1.HttpRouteRule result) { 818 if (matchRulesBuilder_ == null) { 819 if (((bitField0_ & 0x00000004) != 0)) { 820 matchRules_ = java.util.Collections.unmodifiableList(matchRules_); 821 bitField0_ = (bitField0_ & ~0x00000004); 822 } 823 result.matchRules_ = matchRules_; 824 } else { 825 result.matchRules_ = matchRulesBuilder_.build(); 826 } 827 } 828 buildPartial0(com.google.cloud.compute.v1.HttpRouteRule result)829 private void buildPartial0(com.google.cloud.compute.v1.HttpRouteRule result) { 830 int from_bitField0_ = bitField0_; 831 int to_bitField0_ = 0; 832 if (((from_bitField0_ & 0x00000001) != 0)) { 833 result.description_ = description_; 834 to_bitField0_ |= 0x00000001; 835 } 836 if (((from_bitField0_ & 0x00000002) != 0)) { 837 result.headerAction_ = 838 headerActionBuilder_ == null ? headerAction_ : headerActionBuilder_.build(); 839 to_bitField0_ |= 0x00000002; 840 } 841 if (((from_bitField0_ & 0x00000008) != 0)) { 842 result.priority_ = priority_; 843 to_bitField0_ |= 0x00000004; 844 } 845 if (((from_bitField0_ & 0x00000010) != 0)) { 846 result.routeAction_ = 847 routeActionBuilder_ == null ? routeAction_ : routeActionBuilder_.build(); 848 to_bitField0_ |= 0x00000008; 849 } 850 if (((from_bitField0_ & 0x00000020) != 0)) { 851 result.service_ = service_; 852 to_bitField0_ |= 0x00000010; 853 } 854 if (((from_bitField0_ & 0x00000040) != 0)) { 855 result.urlRedirect_ = 856 urlRedirectBuilder_ == null ? urlRedirect_ : urlRedirectBuilder_.build(); 857 to_bitField0_ |= 0x00000020; 858 } 859 result.bitField0_ |= to_bitField0_; 860 } 861 862 @java.lang.Override clone()863 public Builder clone() { 864 return super.clone(); 865 } 866 867 @java.lang.Override setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)868 public Builder setField( 869 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 870 return super.setField(field, value); 871 } 872 873 @java.lang.Override clearField(com.google.protobuf.Descriptors.FieldDescriptor field)874 public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { 875 return super.clearField(field); 876 } 877 878 @java.lang.Override clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)879 public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { 880 return super.clearOneof(oneof); 881 } 882 883 @java.lang.Override setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)884 public Builder setRepeatedField( 885 com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { 886 return super.setRepeatedField(field, index, value); 887 } 888 889 @java.lang.Override addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)890 public Builder addRepeatedField( 891 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 892 return super.addRepeatedField(field, value); 893 } 894 895 @java.lang.Override mergeFrom(com.google.protobuf.Message other)896 public Builder mergeFrom(com.google.protobuf.Message other) { 897 if (other instanceof com.google.cloud.compute.v1.HttpRouteRule) { 898 return mergeFrom((com.google.cloud.compute.v1.HttpRouteRule) other); 899 } else { 900 super.mergeFrom(other); 901 return this; 902 } 903 } 904 mergeFrom(com.google.cloud.compute.v1.HttpRouteRule other)905 public Builder mergeFrom(com.google.cloud.compute.v1.HttpRouteRule other) { 906 if (other == com.google.cloud.compute.v1.HttpRouteRule.getDefaultInstance()) return this; 907 if (other.hasDescription()) { 908 description_ = other.description_; 909 bitField0_ |= 0x00000001; 910 onChanged(); 911 } 912 if (other.hasHeaderAction()) { 913 mergeHeaderAction(other.getHeaderAction()); 914 } 915 if (matchRulesBuilder_ == null) { 916 if (!other.matchRules_.isEmpty()) { 917 if (matchRules_.isEmpty()) { 918 matchRules_ = other.matchRules_; 919 bitField0_ = (bitField0_ & ~0x00000004); 920 } else { 921 ensureMatchRulesIsMutable(); 922 matchRules_.addAll(other.matchRules_); 923 } 924 onChanged(); 925 } 926 } else { 927 if (!other.matchRules_.isEmpty()) { 928 if (matchRulesBuilder_.isEmpty()) { 929 matchRulesBuilder_.dispose(); 930 matchRulesBuilder_ = null; 931 matchRules_ = other.matchRules_; 932 bitField0_ = (bitField0_ & ~0x00000004); 933 matchRulesBuilder_ = 934 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders 935 ? getMatchRulesFieldBuilder() 936 : null; 937 } else { 938 matchRulesBuilder_.addAllMessages(other.matchRules_); 939 } 940 } 941 } 942 if (other.hasPriority()) { 943 setPriority(other.getPriority()); 944 } 945 if (other.hasRouteAction()) { 946 mergeRouteAction(other.getRouteAction()); 947 } 948 if (other.hasService()) { 949 service_ = other.service_; 950 bitField0_ |= 0x00000020; 951 onChanged(); 952 } 953 if (other.hasUrlRedirect()) { 954 mergeUrlRedirect(other.getUrlRedirect()); 955 } 956 this.mergeUnknownFields(other.getUnknownFields()); 957 onChanged(); 958 return this; 959 } 960 961 @java.lang.Override isInitialized()962 public final boolean isInitialized() { 963 return true; 964 } 965 966 @java.lang.Override mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)967 public Builder mergeFrom( 968 com.google.protobuf.CodedInputStream input, 969 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 970 throws java.io.IOException { 971 if (extensionRegistry == null) { 972 throw new java.lang.NullPointerException(); 973 } 974 try { 975 boolean done = false; 976 while (!done) { 977 int tag = input.readTag(); 978 switch (tag) { 979 case 0: 980 done = true; 981 break; 982 case -1670348478: 983 { 984 input.readMessage(getHeaderActionFieldBuilder().getBuilder(), extensionRegistry); 985 bitField0_ |= 0x00000002; 986 break; 987 } // case -1670348478 988 case -1306643030: 989 { 990 service_ = input.readStringRequireUtf8(); 991 bitField0_ |= 0x00000020; 992 break; 993 } // case -1306643030 994 case -1285361686: 995 { 996 com.google.cloud.compute.v1.HttpRouteRuleMatch m = 997 input.readMessage( 998 com.google.cloud.compute.v1.HttpRouteRuleMatch.parser(), extensionRegistry); 999 if (matchRulesBuilder_ == null) { 1000 ensureMatchRulesIsMutable(); 1001 matchRules_.add(m); 1002 } else { 1003 matchRulesBuilder_.addMessage(m); 1004 } 1005 break; 1006 } // case -1285361686 1007 case -1053784734: 1008 { 1009 input.readMessage(getUrlRedirectFieldBuilder().getBuilder(), extensionRegistry); 1010 bitField0_ |= 0x00000040; 1011 break; 1012 } // case -1053784734 1013 case -911466526: 1014 { 1015 description_ = input.readStringRequireUtf8(); 1016 bitField0_ |= 0x00000001; 1017 break; 1018 } // case -911466526 1019 case -898455710: 1020 { 1021 input.readMessage(getRouteActionFieldBuilder().getBuilder(), extensionRegistry); 1022 bitField0_ |= 0x00000010; 1023 break; 1024 } // case -898455710 1025 case -733754080: 1026 { 1027 priority_ = input.readInt32(); 1028 bitField0_ |= 0x00000008; 1029 break; 1030 } // case -733754080 1031 default: 1032 { 1033 if (!super.parseUnknownField(input, extensionRegistry, tag)) { 1034 done = true; // was an endgroup tag 1035 } 1036 break; 1037 } // default: 1038 } // switch (tag) 1039 } // while (!done) 1040 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 1041 throw e.unwrapIOException(); 1042 } finally { 1043 onChanged(); 1044 } // finally 1045 return this; 1046 } 1047 1048 private int bitField0_; 1049 1050 private java.lang.Object description_ = ""; 1051 /** 1052 * 1053 * 1054 * <pre> 1055 * The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters. 1056 * </pre> 1057 * 1058 * <code>optional string description = 422937596;</code> 1059 * 1060 * @return Whether the description field is set. 1061 */ hasDescription()1062 public boolean hasDescription() { 1063 return ((bitField0_ & 0x00000001) != 0); 1064 } 1065 /** 1066 * 1067 * 1068 * <pre> 1069 * The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters. 1070 * </pre> 1071 * 1072 * <code>optional string description = 422937596;</code> 1073 * 1074 * @return The description. 1075 */ getDescription()1076 public java.lang.String getDescription() { 1077 java.lang.Object ref = description_; 1078 if (!(ref instanceof java.lang.String)) { 1079 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 1080 java.lang.String s = bs.toStringUtf8(); 1081 description_ = s; 1082 return s; 1083 } else { 1084 return (java.lang.String) ref; 1085 } 1086 } 1087 /** 1088 * 1089 * 1090 * <pre> 1091 * The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters. 1092 * </pre> 1093 * 1094 * <code>optional string description = 422937596;</code> 1095 * 1096 * @return The bytes for description. 1097 */ getDescriptionBytes()1098 public com.google.protobuf.ByteString getDescriptionBytes() { 1099 java.lang.Object ref = description_; 1100 if (ref instanceof String) { 1101 com.google.protobuf.ByteString b = 1102 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 1103 description_ = b; 1104 return b; 1105 } else { 1106 return (com.google.protobuf.ByteString) ref; 1107 } 1108 } 1109 /** 1110 * 1111 * 1112 * <pre> 1113 * The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters. 1114 * </pre> 1115 * 1116 * <code>optional string description = 422937596;</code> 1117 * 1118 * @param value The description to set. 1119 * @return This builder for chaining. 1120 */ setDescription(java.lang.String value)1121 public Builder setDescription(java.lang.String value) { 1122 if (value == null) { 1123 throw new NullPointerException(); 1124 } 1125 description_ = value; 1126 bitField0_ |= 0x00000001; 1127 onChanged(); 1128 return this; 1129 } 1130 /** 1131 * 1132 * 1133 * <pre> 1134 * The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters. 1135 * </pre> 1136 * 1137 * <code>optional string description = 422937596;</code> 1138 * 1139 * @return This builder for chaining. 1140 */ clearDescription()1141 public Builder clearDescription() { 1142 description_ = getDefaultInstance().getDescription(); 1143 bitField0_ = (bitField0_ & ~0x00000001); 1144 onChanged(); 1145 return this; 1146 } 1147 /** 1148 * 1149 * 1150 * <pre> 1151 * The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters. 1152 * </pre> 1153 * 1154 * <code>optional string description = 422937596;</code> 1155 * 1156 * @param value The bytes for description to set. 1157 * @return This builder for chaining. 1158 */ setDescriptionBytes(com.google.protobuf.ByteString value)1159 public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { 1160 if (value == null) { 1161 throw new NullPointerException(); 1162 } 1163 checkByteStringIsUtf8(value); 1164 description_ = value; 1165 bitField0_ |= 0x00000001; 1166 onChanged(); 1167 return this; 1168 } 1169 1170 private com.google.cloud.compute.v1.HttpHeaderAction headerAction_; 1171 private com.google.protobuf.SingleFieldBuilderV3< 1172 com.google.cloud.compute.v1.HttpHeaderAction, 1173 com.google.cloud.compute.v1.HttpHeaderAction.Builder, 1174 com.google.cloud.compute.v1.HttpHeaderActionOrBuilder> 1175 headerActionBuilder_; 1176 /** 1177 * 1178 * 1179 * <pre> 1180 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1181 * </pre> 1182 * 1183 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 1184 * 1185 * @return Whether the headerAction field is set. 1186 */ hasHeaderAction()1187 public boolean hasHeaderAction() { 1188 return ((bitField0_ & 0x00000002) != 0); 1189 } 1190 /** 1191 * 1192 * 1193 * <pre> 1194 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1195 * </pre> 1196 * 1197 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 1198 * 1199 * @return The headerAction. 1200 */ getHeaderAction()1201 public com.google.cloud.compute.v1.HttpHeaderAction getHeaderAction() { 1202 if (headerActionBuilder_ == null) { 1203 return headerAction_ == null 1204 ? com.google.cloud.compute.v1.HttpHeaderAction.getDefaultInstance() 1205 : headerAction_; 1206 } else { 1207 return headerActionBuilder_.getMessage(); 1208 } 1209 } 1210 /** 1211 * 1212 * 1213 * <pre> 1214 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1215 * </pre> 1216 * 1217 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 1218 */ setHeaderAction(com.google.cloud.compute.v1.HttpHeaderAction value)1219 public Builder setHeaderAction(com.google.cloud.compute.v1.HttpHeaderAction value) { 1220 if (headerActionBuilder_ == null) { 1221 if (value == null) { 1222 throw new NullPointerException(); 1223 } 1224 headerAction_ = value; 1225 } else { 1226 headerActionBuilder_.setMessage(value); 1227 } 1228 bitField0_ |= 0x00000002; 1229 onChanged(); 1230 return this; 1231 } 1232 /** 1233 * 1234 * 1235 * <pre> 1236 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1237 * </pre> 1238 * 1239 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 1240 */ setHeaderAction( com.google.cloud.compute.v1.HttpHeaderAction.Builder builderForValue)1241 public Builder setHeaderAction( 1242 com.google.cloud.compute.v1.HttpHeaderAction.Builder builderForValue) { 1243 if (headerActionBuilder_ == null) { 1244 headerAction_ = builderForValue.build(); 1245 } else { 1246 headerActionBuilder_.setMessage(builderForValue.build()); 1247 } 1248 bitField0_ |= 0x00000002; 1249 onChanged(); 1250 return this; 1251 } 1252 /** 1253 * 1254 * 1255 * <pre> 1256 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1257 * </pre> 1258 * 1259 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 1260 */ mergeHeaderAction(com.google.cloud.compute.v1.HttpHeaderAction value)1261 public Builder mergeHeaderAction(com.google.cloud.compute.v1.HttpHeaderAction value) { 1262 if (headerActionBuilder_ == null) { 1263 if (((bitField0_ & 0x00000002) != 0) 1264 && headerAction_ != null 1265 && headerAction_ != com.google.cloud.compute.v1.HttpHeaderAction.getDefaultInstance()) { 1266 getHeaderActionBuilder().mergeFrom(value); 1267 } else { 1268 headerAction_ = value; 1269 } 1270 } else { 1271 headerActionBuilder_.mergeFrom(value); 1272 } 1273 bitField0_ |= 0x00000002; 1274 onChanged(); 1275 return this; 1276 } 1277 /** 1278 * 1279 * 1280 * <pre> 1281 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1282 * </pre> 1283 * 1284 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 1285 */ clearHeaderAction()1286 public Builder clearHeaderAction() { 1287 bitField0_ = (bitField0_ & ~0x00000002); 1288 headerAction_ = null; 1289 if (headerActionBuilder_ != null) { 1290 headerActionBuilder_.dispose(); 1291 headerActionBuilder_ = null; 1292 } 1293 onChanged(); 1294 return this; 1295 } 1296 /** 1297 * 1298 * 1299 * <pre> 1300 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1301 * </pre> 1302 * 1303 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 1304 */ getHeaderActionBuilder()1305 public com.google.cloud.compute.v1.HttpHeaderAction.Builder getHeaderActionBuilder() { 1306 bitField0_ |= 0x00000002; 1307 onChanged(); 1308 return getHeaderActionFieldBuilder().getBuilder(); 1309 } 1310 /** 1311 * 1312 * 1313 * <pre> 1314 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1315 * </pre> 1316 * 1317 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 1318 */ getHeaderActionOrBuilder()1319 public com.google.cloud.compute.v1.HttpHeaderActionOrBuilder getHeaderActionOrBuilder() { 1320 if (headerActionBuilder_ != null) { 1321 return headerActionBuilder_.getMessageOrBuilder(); 1322 } else { 1323 return headerAction_ == null 1324 ? com.google.cloud.compute.v1.HttpHeaderAction.getDefaultInstance() 1325 : headerAction_; 1326 } 1327 } 1328 /** 1329 * 1330 * 1331 * <pre> 1332 * Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1333 * </pre> 1334 * 1335 * <code>optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;</code> 1336 */ 1337 private com.google.protobuf.SingleFieldBuilderV3< 1338 com.google.cloud.compute.v1.HttpHeaderAction, 1339 com.google.cloud.compute.v1.HttpHeaderAction.Builder, 1340 com.google.cloud.compute.v1.HttpHeaderActionOrBuilder> getHeaderActionFieldBuilder()1341 getHeaderActionFieldBuilder() { 1342 if (headerActionBuilder_ == null) { 1343 headerActionBuilder_ = 1344 new com.google.protobuf.SingleFieldBuilderV3< 1345 com.google.cloud.compute.v1.HttpHeaderAction, 1346 com.google.cloud.compute.v1.HttpHeaderAction.Builder, 1347 com.google.cloud.compute.v1.HttpHeaderActionOrBuilder>( 1348 getHeaderAction(), getParentForChildren(), isClean()); 1349 headerAction_ = null; 1350 } 1351 return headerActionBuilder_; 1352 } 1353 1354 private java.util.List<com.google.cloud.compute.v1.HttpRouteRuleMatch> matchRules_ = 1355 java.util.Collections.emptyList(); 1356 ensureMatchRulesIsMutable()1357 private void ensureMatchRulesIsMutable() { 1358 if (!((bitField0_ & 0x00000004) != 0)) { 1359 matchRules_ = 1360 new java.util.ArrayList<com.google.cloud.compute.v1.HttpRouteRuleMatch>(matchRules_); 1361 bitField0_ |= 0x00000004; 1362 } 1363 } 1364 1365 private com.google.protobuf.RepeatedFieldBuilderV3< 1366 com.google.cloud.compute.v1.HttpRouteRuleMatch, 1367 com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder, 1368 com.google.cloud.compute.v1.HttpRouteRuleMatchOrBuilder> 1369 matchRulesBuilder_; 1370 1371 /** 1372 * 1373 * 1374 * <pre> 1375 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1376 * </pre> 1377 * 1378 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1379 */ getMatchRulesList()1380 public java.util.List<com.google.cloud.compute.v1.HttpRouteRuleMatch> getMatchRulesList() { 1381 if (matchRulesBuilder_ == null) { 1382 return java.util.Collections.unmodifiableList(matchRules_); 1383 } else { 1384 return matchRulesBuilder_.getMessageList(); 1385 } 1386 } 1387 /** 1388 * 1389 * 1390 * <pre> 1391 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1392 * </pre> 1393 * 1394 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1395 */ getMatchRulesCount()1396 public int getMatchRulesCount() { 1397 if (matchRulesBuilder_ == null) { 1398 return matchRules_.size(); 1399 } else { 1400 return matchRulesBuilder_.getCount(); 1401 } 1402 } 1403 /** 1404 * 1405 * 1406 * <pre> 1407 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1408 * </pre> 1409 * 1410 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1411 */ getMatchRules(int index)1412 public com.google.cloud.compute.v1.HttpRouteRuleMatch getMatchRules(int index) { 1413 if (matchRulesBuilder_ == null) { 1414 return matchRules_.get(index); 1415 } else { 1416 return matchRulesBuilder_.getMessage(index); 1417 } 1418 } 1419 /** 1420 * 1421 * 1422 * <pre> 1423 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1424 * </pre> 1425 * 1426 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1427 */ setMatchRules(int index, com.google.cloud.compute.v1.HttpRouteRuleMatch value)1428 public Builder setMatchRules(int index, com.google.cloud.compute.v1.HttpRouteRuleMatch value) { 1429 if (matchRulesBuilder_ == null) { 1430 if (value == null) { 1431 throw new NullPointerException(); 1432 } 1433 ensureMatchRulesIsMutable(); 1434 matchRules_.set(index, value); 1435 onChanged(); 1436 } else { 1437 matchRulesBuilder_.setMessage(index, value); 1438 } 1439 return this; 1440 } 1441 /** 1442 * 1443 * 1444 * <pre> 1445 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1446 * </pre> 1447 * 1448 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1449 */ setMatchRules( int index, com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder builderForValue)1450 public Builder setMatchRules( 1451 int index, com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder builderForValue) { 1452 if (matchRulesBuilder_ == null) { 1453 ensureMatchRulesIsMutable(); 1454 matchRules_.set(index, builderForValue.build()); 1455 onChanged(); 1456 } else { 1457 matchRulesBuilder_.setMessage(index, builderForValue.build()); 1458 } 1459 return this; 1460 } 1461 /** 1462 * 1463 * 1464 * <pre> 1465 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1466 * </pre> 1467 * 1468 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1469 */ addMatchRules(com.google.cloud.compute.v1.HttpRouteRuleMatch value)1470 public Builder addMatchRules(com.google.cloud.compute.v1.HttpRouteRuleMatch value) { 1471 if (matchRulesBuilder_ == null) { 1472 if (value == null) { 1473 throw new NullPointerException(); 1474 } 1475 ensureMatchRulesIsMutable(); 1476 matchRules_.add(value); 1477 onChanged(); 1478 } else { 1479 matchRulesBuilder_.addMessage(value); 1480 } 1481 return this; 1482 } 1483 /** 1484 * 1485 * 1486 * <pre> 1487 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1488 * </pre> 1489 * 1490 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1491 */ addMatchRules(int index, com.google.cloud.compute.v1.HttpRouteRuleMatch value)1492 public Builder addMatchRules(int index, com.google.cloud.compute.v1.HttpRouteRuleMatch value) { 1493 if (matchRulesBuilder_ == null) { 1494 if (value == null) { 1495 throw new NullPointerException(); 1496 } 1497 ensureMatchRulesIsMutable(); 1498 matchRules_.add(index, value); 1499 onChanged(); 1500 } else { 1501 matchRulesBuilder_.addMessage(index, value); 1502 } 1503 return this; 1504 } 1505 /** 1506 * 1507 * 1508 * <pre> 1509 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1510 * </pre> 1511 * 1512 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1513 */ addMatchRules( com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder builderForValue)1514 public Builder addMatchRules( 1515 com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder builderForValue) { 1516 if (matchRulesBuilder_ == null) { 1517 ensureMatchRulesIsMutable(); 1518 matchRules_.add(builderForValue.build()); 1519 onChanged(); 1520 } else { 1521 matchRulesBuilder_.addMessage(builderForValue.build()); 1522 } 1523 return this; 1524 } 1525 /** 1526 * 1527 * 1528 * <pre> 1529 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1530 * </pre> 1531 * 1532 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1533 */ addMatchRules( int index, com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder builderForValue)1534 public Builder addMatchRules( 1535 int index, com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder builderForValue) { 1536 if (matchRulesBuilder_ == null) { 1537 ensureMatchRulesIsMutable(); 1538 matchRules_.add(index, builderForValue.build()); 1539 onChanged(); 1540 } else { 1541 matchRulesBuilder_.addMessage(index, builderForValue.build()); 1542 } 1543 return this; 1544 } 1545 /** 1546 * 1547 * 1548 * <pre> 1549 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1550 * </pre> 1551 * 1552 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1553 */ addAllMatchRules( java.lang.Iterable<? extends com.google.cloud.compute.v1.HttpRouteRuleMatch> values)1554 public Builder addAllMatchRules( 1555 java.lang.Iterable<? extends com.google.cloud.compute.v1.HttpRouteRuleMatch> values) { 1556 if (matchRulesBuilder_ == null) { 1557 ensureMatchRulesIsMutable(); 1558 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, matchRules_); 1559 onChanged(); 1560 } else { 1561 matchRulesBuilder_.addAllMessages(values); 1562 } 1563 return this; 1564 } 1565 /** 1566 * 1567 * 1568 * <pre> 1569 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1570 * </pre> 1571 * 1572 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1573 */ clearMatchRules()1574 public Builder clearMatchRules() { 1575 if (matchRulesBuilder_ == null) { 1576 matchRules_ = java.util.Collections.emptyList(); 1577 bitField0_ = (bitField0_ & ~0x00000004); 1578 onChanged(); 1579 } else { 1580 matchRulesBuilder_.clear(); 1581 } 1582 return this; 1583 } 1584 /** 1585 * 1586 * 1587 * <pre> 1588 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1589 * </pre> 1590 * 1591 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1592 */ removeMatchRules(int index)1593 public Builder removeMatchRules(int index) { 1594 if (matchRulesBuilder_ == null) { 1595 ensureMatchRulesIsMutable(); 1596 matchRules_.remove(index); 1597 onChanged(); 1598 } else { 1599 matchRulesBuilder_.remove(index); 1600 } 1601 return this; 1602 } 1603 /** 1604 * 1605 * 1606 * <pre> 1607 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1608 * </pre> 1609 * 1610 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1611 */ getMatchRulesBuilder(int index)1612 public com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder getMatchRulesBuilder(int index) { 1613 return getMatchRulesFieldBuilder().getBuilder(index); 1614 } 1615 /** 1616 * 1617 * 1618 * <pre> 1619 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1620 * </pre> 1621 * 1622 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1623 */ getMatchRulesOrBuilder( int index)1624 public com.google.cloud.compute.v1.HttpRouteRuleMatchOrBuilder getMatchRulesOrBuilder( 1625 int index) { 1626 if (matchRulesBuilder_ == null) { 1627 return matchRules_.get(index); 1628 } else { 1629 return matchRulesBuilder_.getMessageOrBuilder(index); 1630 } 1631 } 1632 /** 1633 * 1634 * 1635 * <pre> 1636 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1637 * </pre> 1638 * 1639 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1640 */ 1641 public java.util.List<? extends com.google.cloud.compute.v1.HttpRouteRuleMatchOrBuilder> getMatchRulesOrBuilderList()1642 getMatchRulesOrBuilderList() { 1643 if (matchRulesBuilder_ != null) { 1644 return matchRulesBuilder_.getMessageOrBuilderList(); 1645 } else { 1646 return java.util.Collections.unmodifiableList(matchRules_); 1647 } 1648 } 1649 /** 1650 * 1651 * 1652 * <pre> 1653 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1654 * </pre> 1655 * 1656 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1657 */ addMatchRulesBuilder()1658 public com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder addMatchRulesBuilder() { 1659 return getMatchRulesFieldBuilder() 1660 .addBuilder(com.google.cloud.compute.v1.HttpRouteRuleMatch.getDefaultInstance()); 1661 } 1662 /** 1663 * 1664 * 1665 * <pre> 1666 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1667 * </pre> 1668 * 1669 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1670 */ addMatchRulesBuilder(int index)1671 public com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder addMatchRulesBuilder(int index) { 1672 return getMatchRulesFieldBuilder() 1673 .addBuilder(index, com.google.cloud.compute.v1.HttpRouteRuleMatch.getDefaultInstance()); 1674 } 1675 /** 1676 * 1677 * 1678 * <pre> 1679 * The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. 1680 * </pre> 1681 * 1682 * <code>repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;</code> 1683 */ 1684 public java.util.List<com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder> getMatchRulesBuilderList()1685 getMatchRulesBuilderList() { 1686 return getMatchRulesFieldBuilder().getBuilderList(); 1687 } 1688 1689 private com.google.protobuf.RepeatedFieldBuilderV3< 1690 com.google.cloud.compute.v1.HttpRouteRuleMatch, 1691 com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder, 1692 com.google.cloud.compute.v1.HttpRouteRuleMatchOrBuilder> getMatchRulesFieldBuilder()1693 getMatchRulesFieldBuilder() { 1694 if (matchRulesBuilder_ == null) { 1695 matchRulesBuilder_ = 1696 new com.google.protobuf.RepeatedFieldBuilderV3< 1697 com.google.cloud.compute.v1.HttpRouteRuleMatch, 1698 com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder, 1699 com.google.cloud.compute.v1.HttpRouteRuleMatchOrBuilder>( 1700 matchRules_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); 1701 matchRules_ = null; 1702 } 1703 return matchRulesBuilder_; 1704 } 1705 1706 private int priority_; 1707 /** 1708 * 1709 * 1710 * <pre> 1711 * For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules. 1712 * </pre> 1713 * 1714 * <code>optional int32 priority = 445151652;</code> 1715 * 1716 * @return Whether the priority field is set. 1717 */ 1718 @java.lang.Override hasPriority()1719 public boolean hasPriority() { 1720 return ((bitField0_ & 0x00000008) != 0); 1721 } 1722 /** 1723 * 1724 * 1725 * <pre> 1726 * For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules. 1727 * </pre> 1728 * 1729 * <code>optional int32 priority = 445151652;</code> 1730 * 1731 * @return The priority. 1732 */ 1733 @java.lang.Override getPriority()1734 public int getPriority() { 1735 return priority_; 1736 } 1737 /** 1738 * 1739 * 1740 * <pre> 1741 * For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules. 1742 * </pre> 1743 * 1744 * <code>optional int32 priority = 445151652;</code> 1745 * 1746 * @param value The priority to set. 1747 * @return This builder for chaining. 1748 */ setPriority(int value)1749 public Builder setPriority(int value) { 1750 1751 priority_ = value; 1752 bitField0_ |= 0x00000008; 1753 onChanged(); 1754 return this; 1755 } 1756 /** 1757 * 1758 * 1759 * <pre> 1760 * For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules. 1761 * </pre> 1762 * 1763 * <code>optional int32 priority = 445151652;</code> 1764 * 1765 * @return This builder for chaining. 1766 */ clearPriority()1767 public Builder clearPriority() { 1768 bitField0_ = (bitField0_ & ~0x00000008); 1769 priority_ = 0; 1770 onChanged(); 1771 return this; 1772 } 1773 1774 private com.google.cloud.compute.v1.HttpRouteAction routeAction_; 1775 private com.google.protobuf.SingleFieldBuilderV3< 1776 com.google.cloud.compute.v1.HttpRouteAction, 1777 com.google.cloud.compute.v1.HttpRouteAction.Builder, 1778 com.google.cloud.compute.v1.HttpRouteActionOrBuilder> 1779 routeActionBuilder_; 1780 /** 1781 * 1782 * 1783 * <pre> 1784 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 1785 * </pre> 1786 * 1787 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 1788 * 1789 * @return Whether the routeAction field is set. 1790 */ hasRouteAction()1791 public boolean hasRouteAction() { 1792 return ((bitField0_ & 0x00000010) != 0); 1793 } 1794 /** 1795 * 1796 * 1797 * <pre> 1798 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 1799 * </pre> 1800 * 1801 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 1802 * 1803 * @return The routeAction. 1804 */ getRouteAction()1805 public com.google.cloud.compute.v1.HttpRouteAction getRouteAction() { 1806 if (routeActionBuilder_ == null) { 1807 return routeAction_ == null 1808 ? com.google.cloud.compute.v1.HttpRouteAction.getDefaultInstance() 1809 : routeAction_; 1810 } else { 1811 return routeActionBuilder_.getMessage(); 1812 } 1813 } 1814 /** 1815 * 1816 * 1817 * <pre> 1818 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 1819 * </pre> 1820 * 1821 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 1822 */ setRouteAction(com.google.cloud.compute.v1.HttpRouteAction value)1823 public Builder setRouteAction(com.google.cloud.compute.v1.HttpRouteAction value) { 1824 if (routeActionBuilder_ == null) { 1825 if (value == null) { 1826 throw new NullPointerException(); 1827 } 1828 routeAction_ = value; 1829 } else { 1830 routeActionBuilder_.setMessage(value); 1831 } 1832 bitField0_ |= 0x00000010; 1833 onChanged(); 1834 return this; 1835 } 1836 /** 1837 * 1838 * 1839 * <pre> 1840 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 1841 * </pre> 1842 * 1843 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 1844 */ setRouteAction( com.google.cloud.compute.v1.HttpRouteAction.Builder builderForValue)1845 public Builder setRouteAction( 1846 com.google.cloud.compute.v1.HttpRouteAction.Builder builderForValue) { 1847 if (routeActionBuilder_ == null) { 1848 routeAction_ = builderForValue.build(); 1849 } else { 1850 routeActionBuilder_.setMessage(builderForValue.build()); 1851 } 1852 bitField0_ |= 0x00000010; 1853 onChanged(); 1854 return this; 1855 } 1856 /** 1857 * 1858 * 1859 * <pre> 1860 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 1861 * </pre> 1862 * 1863 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 1864 */ mergeRouteAction(com.google.cloud.compute.v1.HttpRouteAction value)1865 public Builder mergeRouteAction(com.google.cloud.compute.v1.HttpRouteAction value) { 1866 if (routeActionBuilder_ == null) { 1867 if (((bitField0_ & 0x00000010) != 0) 1868 && routeAction_ != null 1869 && routeAction_ != com.google.cloud.compute.v1.HttpRouteAction.getDefaultInstance()) { 1870 getRouteActionBuilder().mergeFrom(value); 1871 } else { 1872 routeAction_ = value; 1873 } 1874 } else { 1875 routeActionBuilder_.mergeFrom(value); 1876 } 1877 bitField0_ |= 0x00000010; 1878 onChanged(); 1879 return this; 1880 } 1881 /** 1882 * 1883 * 1884 * <pre> 1885 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 1886 * </pre> 1887 * 1888 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 1889 */ clearRouteAction()1890 public Builder clearRouteAction() { 1891 bitField0_ = (bitField0_ & ~0x00000010); 1892 routeAction_ = null; 1893 if (routeActionBuilder_ != null) { 1894 routeActionBuilder_.dispose(); 1895 routeActionBuilder_ = null; 1896 } 1897 onChanged(); 1898 return this; 1899 } 1900 /** 1901 * 1902 * 1903 * <pre> 1904 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 1905 * </pre> 1906 * 1907 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 1908 */ getRouteActionBuilder()1909 public com.google.cloud.compute.v1.HttpRouteAction.Builder getRouteActionBuilder() { 1910 bitField0_ |= 0x00000010; 1911 onChanged(); 1912 return getRouteActionFieldBuilder().getBuilder(); 1913 } 1914 /** 1915 * 1916 * 1917 * <pre> 1918 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 1919 * </pre> 1920 * 1921 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 1922 */ getRouteActionOrBuilder()1923 public com.google.cloud.compute.v1.HttpRouteActionOrBuilder getRouteActionOrBuilder() { 1924 if (routeActionBuilder_ != null) { 1925 return routeActionBuilder_.getMessageOrBuilder(); 1926 } else { 1927 return routeAction_ == null 1928 ? com.google.cloud.compute.v1.HttpRouteAction.getDefaultInstance() 1929 : routeAction_; 1930 } 1931 } 1932 /** 1933 * 1934 * 1935 * <pre> 1936 * In response to a matching matchRule, 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 urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. 1937 * </pre> 1938 * 1939 * <code>optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;</code> 1940 */ 1941 private com.google.protobuf.SingleFieldBuilderV3< 1942 com.google.cloud.compute.v1.HttpRouteAction, 1943 com.google.cloud.compute.v1.HttpRouteAction.Builder, 1944 com.google.cloud.compute.v1.HttpRouteActionOrBuilder> getRouteActionFieldBuilder()1945 getRouteActionFieldBuilder() { 1946 if (routeActionBuilder_ == null) { 1947 routeActionBuilder_ = 1948 new com.google.protobuf.SingleFieldBuilderV3< 1949 com.google.cloud.compute.v1.HttpRouteAction, 1950 com.google.cloud.compute.v1.HttpRouteAction.Builder, 1951 com.google.cloud.compute.v1.HttpRouteActionOrBuilder>( 1952 getRouteAction(), getParentForChildren(), isClean()); 1953 routeAction_ = null; 1954 } 1955 return routeActionBuilder_; 1956 } 1957 1958 private java.lang.Object service_ = ""; 1959 /** 1960 * 1961 * 1962 * <pre> 1963 * 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. 1964 * </pre> 1965 * 1966 * <code>optional string service = 373540533;</code> 1967 * 1968 * @return Whether the service field is set. 1969 */ hasService()1970 public boolean hasService() { 1971 return ((bitField0_ & 0x00000020) != 0); 1972 } 1973 /** 1974 * 1975 * 1976 * <pre> 1977 * 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. 1978 * </pre> 1979 * 1980 * <code>optional string service = 373540533;</code> 1981 * 1982 * @return The service. 1983 */ getService()1984 public java.lang.String getService() { 1985 java.lang.Object ref = service_; 1986 if (!(ref instanceof java.lang.String)) { 1987 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 1988 java.lang.String s = bs.toStringUtf8(); 1989 service_ = s; 1990 return s; 1991 } else { 1992 return (java.lang.String) ref; 1993 } 1994 } 1995 /** 1996 * 1997 * 1998 * <pre> 1999 * 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. 2000 * </pre> 2001 * 2002 * <code>optional string service = 373540533;</code> 2003 * 2004 * @return The bytes for service. 2005 */ getServiceBytes()2006 public com.google.protobuf.ByteString getServiceBytes() { 2007 java.lang.Object ref = service_; 2008 if (ref instanceof String) { 2009 com.google.protobuf.ByteString b = 2010 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 2011 service_ = b; 2012 return b; 2013 } else { 2014 return (com.google.protobuf.ByteString) ref; 2015 } 2016 } 2017 /** 2018 * 2019 * 2020 * <pre> 2021 * 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. 2022 * </pre> 2023 * 2024 * <code>optional string service = 373540533;</code> 2025 * 2026 * @param value The service to set. 2027 * @return This builder for chaining. 2028 */ setService(java.lang.String value)2029 public Builder setService(java.lang.String value) { 2030 if (value == null) { 2031 throw new NullPointerException(); 2032 } 2033 service_ = value; 2034 bitField0_ |= 0x00000020; 2035 onChanged(); 2036 return this; 2037 } 2038 /** 2039 * 2040 * 2041 * <pre> 2042 * 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. 2043 * </pre> 2044 * 2045 * <code>optional string service = 373540533;</code> 2046 * 2047 * @return This builder for chaining. 2048 */ clearService()2049 public Builder clearService() { 2050 service_ = getDefaultInstance().getService(); 2051 bitField0_ = (bitField0_ & ~0x00000020); 2052 onChanged(); 2053 return this; 2054 } 2055 /** 2056 * 2057 * 2058 * <pre> 2059 * 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. 2060 * </pre> 2061 * 2062 * <code>optional string service = 373540533;</code> 2063 * 2064 * @param value The bytes for service to set. 2065 * @return This builder for chaining. 2066 */ setServiceBytes(com.google.protobuf.ByteString value)2067 public Builder setServiceBytes(com.google.protobuf.ByteString value) { 2068 if (value == null) { 2069 throw new NullPointerException(); 2070 } 2071 checkByteStringIsUtf8(value); 2072 service_ = value; 2073 bitField0_ |= 0x00000020; 2074 onChanged(); 2075 return this; 2076 } 2077 2078 private com.google.cloud.compute.v1.HttpRedirectAction urlRedirect_; 2079 private com.google.protobuf.SingleFieldBuilderV3< 2080 com.google.cloud.compute.v1.HttpRedirectAction, 2081 com.google.cloud.compute.v1.HttpRedirectAction.Builder, 2082 com.google.cloud.compute.v1.HttpRedirectActionOrBuilder> 2083 urlRedirectBuilder_; 2084 /** 2085 * 2086 * 2087 * <pre> 2088 * When this rule 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. 2089 * </pre> 2090 * 2091 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 2092 * 2093 * @return Whether the urlRedirect field is set. 2094 */ hasUrlRedirect()2095 public boolean hasUrlRedirect() { 2096 return ((bitField0_ & 0x00000040) != 0); 2097 } 2098 /** 2099 * 2100 * 2101 * <pre> 2102 * When this rule 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. 2103 * </pre> 2104 * 2105 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 2106 * 2107 * @return The urlRedirect. 2108 */ getUrlRedirect()2109 public com.google.cloud.compute.v1.HttpRedirectAction getUrlRedirect() { 2110 if (urlRedirectBuilder_ == null) { 2111 return urlRedirect_ == null 2112 ? com.google.cloud.compute.v1.HttpRedirectAction.getDefaultInstance() 2113 : urlRedirect_; 2114 } else { 2115 return urlRedirectBuilder_.getMessage(); 2116 } 2117 } 2118 /** 2119 * 2120 * 2121 * <pre> 2122 * When this rule 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. 2123 * </pre> 2124 * 2125 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 2126 */ setUrlRedirect(com.google.cloud.compute.v1.HttpRedirectAction value)2127 public Builder setUrlRedirect(com.google.cloud.compute.v1.HttpRedirectAction value) { 2128 if (urlRedirectBuilder_ == null) { 2129 if (value == null) { 2130 throw new NullPointerException(); 2131 } 2132 urlRedirect_ = value; 2133 } else { 2134 urlRedirectBuilder_.setMessage(value); 2135 } 2136 bitField0_ |= 0x00000040; 2137 onChanged(); 2138 return this; 2139 } 2140 /** 2141 * 2142 * 2143 * <pre> 2144 * When this rule 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. 2145 * </pre> 2146 * 2147 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 2148 */ setUrlRedirect( com.google.cloud.compute.v1.HttpRedirectAction.Builder builderForValue)2149 public Builder setUrlRedirect( 2150 com.google.cloud.compute.v1.HttpRedirectAction.Builder builderForValue) { 2151 if (urlRedirectBuilder_ == null) { 2152 urlRedirect_ = builderForValue.build(); 2153 } else { 2154 urlRedirectBuilder_.setMessage(builderForValue.build()); 2155 } 2156 bitField0_ |= 0x00000040; 2157 onChanged(); 2158 return this; 2159 } 2160 /** 2161 * 2162 * 2163 * <pre> 2164 * When this rule 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. 2165 * </pre> 2166 * 2167 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 2168 */ mergeUrlRedirect(com.google.cloud.compute.v1.HttpRedirectAction value)2169 public Builder mergeUrlRedirect(com.google.cloud.compute.v1.HttpRedirectAction value) { 2170 if (urlRedirectBuilder_ == null) { 2171 if (((bitField0_ & 0x00000040) != 0) 2172 && urlRedirect_ != null 2173 && urlRedirect_ 2174 != com.google.cloud.compute.v1.HttpRedirectAction.getDefaultInstance()) { 2175 getUrlRedirectBuilder().mergeFrom(value); 2176 } else { 2177 urlRedirect_ = value; 2178 } 2179 } else { 2180 urlRedirectBuilder_.mergeFrom(value); 2181 } 2182 bitField0_ |= 0x00000040; 2183 onChanged(); 2184 return this; 2185 } 2186 /** 2187 * 2188 * 2189 * <pre> 2190 * When this rule 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. 2191 * </pre> 2192 * 2193 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 2194 */ clearUrlRedirect()2195 public Builder clearUrlRedirect() { 2196 bitField0_ = (bitField0_ & ~0x00000040); 2197 urlRedirect_ = null; 2198 if (urlRedirectBuilder_ != null) { 2199 urlRedirectBuilder_.dispose(); 2200 urlRedirectBuilder_ = null; 2201 } 2202 onChanged(); 2203 return this; 2204 } 2205 /** 2206 * 2207 * 2208 * <pre> 2209 * When this rule 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. 2210 * </pre> 2211 * 2212 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 2213 */ getUrlRedirectBuilder()2214 public com.google.cloud.compute.v1.HttpRedirectAction.Builder getUrlRedirectBuilder() { 2215 bitField0_ |= 0x00000040; 2216 onChanged(); 2217 return getUrlRedirectFieldBuilder().getBuilder(); 2218 } 2219 /** 2220 * 2221 * 2222 * <pre> 2223 * When this rule 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. 2224 * </pre> 2225 * 2226 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 2227 */ getUrlRedirectOrBuilder()2228 public com.google.cloud.compute.v1.HttpRedirectActionOrBuilder getUrlRedirectOrBuilder() { 2229 if (urlRedirectBuilder_ != null) { 2230 return urlRedirectBuilder_.getMessageOrBuilder(); 2231 } else { 2232 return urlRedirect_ == null 2233 ? com.google.cloud.compute.v1.HttpRedirectAction.getDefaultInstance() 2234 : urlRedirect_; 2235 } 2236 } 2237 /** 2238 * 2239 * 2240 * <pre> 2241 * When this rule 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. 2242 * </pre> 2243 * 2244 * <code>optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;</code> 2245 */ 2246 private com.google.protobuf.SingleFieldBuilderV3< 2247 com.google.cloud.compute.v1.HttpRedirectAction, 2248 com.google.cloud.compute.v1.HttpRedirectAction.Builder, 2249 com.google.cloud.compute.v1.HttpRedirectActionOrBuilder> getUrlRedirectFieldBuilder()2250 getUrlRedirectFieldBuilder() { 2251 if (urlRedirectBuilder_ == null) { 2252 urlRedirectBuilder_ = 2253 new com.google.protobuf.SingleFieldBuilderV3< 2254 com.google.cloud.compute.v1.HttpRedirectAction, 2255 com.google.cloud.compute.v1.HttpRedirectAction.Builder, 2256 com.google.cloud.compute.v1.HttpRedirectActionOrBuilder>( 2257 getUrlRedirect(), getParentForChildren(), isClean()); 2258 urlRedirect_ = null; 2259 } 2260 return urlRedirectBuilder_; 2261 } 2262 2263 @java.lang.Override setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)2264 public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { 2265 return super.setUnknownFields(unknownFields); 2266 } 2267 2268 @java.lang.Override mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2269 public final Builder mergeUnknownFields( 2270 final com.google.protobuf.UnknownFieldSet unknownFields) { 2271 return super.mergeUnknownFields(unknownFields); 2272 } 2273 2274 // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.HttpRouteRule) 2275 } 2276 2277 // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.HttpRouteRule) 2278 private static final com.google.cloud.compute.v1.HttpRouteRule DEFAULT_INSTANCE; 2279 2280 static { 2281 DEFAULT_INSTANCE = new com.google.cloud.compute.v1.HttpRouteRule(); 2282 } 2283 getDefaultInstance()2284 public static com.google.cloud.compute.v1.HttpRouteRule getDefaultInstance() { 2285 return DEFAULT_INSTANCE; 2286 } 2287 2288 private static final com.google.protobuf.Parser<HttpRouteRule> PARSER = 2289 new com.google.protobuf.AbstractParser<HttpRouteRule>() { 2290 @java.lang.Override 2291 public HttpRouteRule parsePartialFrom( 2292 com.google.protobuf.CodedInputStream input, 2293 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 2294 throws com.google.protobuf.InvalidProtocolBufferException { 2295 Builder builder = newBuilder(); 2296 try { 2297 builder.mergeFrom(input, extensionRegistry); 2298 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 2299 throw e.setUnfinishedMessage(builder.buildPartial()); 2300 } catch (com.google.protobuf.UninitializedMessageException e) { 2301 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); 2302 } catch (java.io.IOException e) { 2303 throw new com.google.protobuf.InvalidProtocolBufferException(e) 2304 .setUnfinishedMessage(builder.buildPartial()); 2305 } 2306 return builder.buildPartial(); 2307 } 2308 }; 2309 parser()2310 public static com.google.protobuf.Parser<HttpRouteRule> parser() { 2311 return PARSER; 2312 } 2313 2314 @java.lang.Override getParserForType()2315 public com.google.protobuf.Parser<HttpRouteRule> getParserForType() { 2316 return PARSER; 2317 } 2318 2319 @java.lang.Override getDefaultInstanceForType()2320 public com.google.cloud.compute.v1.HttpRouteRule getDefaultInstanceForType() { 2321 return DEFAULT_INSTANCE; 2322 } 2323 } 2324