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 * HttpRouteRuleMatch specifies a set of criteria for matching requests to an HttpRouteRule. All specified criteria must be satisfied for a match to occur. 26 * </pre> 27 * 28 * Protobuf type {@code google.cloud.compute.v1.HttpRouteRuleMatch} 29 */ 30 public final class HttpRouteRuleMatch extends com.google.protobuf.GeneratedMessageV3 31 implements 32 // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.HttpRouteRuleMatch) 33 HttpRouteRuleMatchOrBuilder { 34 private static final long serialVersionUID = 0L; 35 // Use HttpRouteRuleMatch.newBuilder() to construct. HttpRouteRuleMatch(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36 private HttpRouteRuleMatch(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { 37 super(builder); 38 } 39 HttpRouteRuleMatch()40 private HttpRouteRuleMatch() { 41 fullPathMatch_ = ""; 42 headerMatches_ = java.util.Collections.emptyList(); 43 metadataFilters_ = java.util.Collections.emptyList(); 44 prefixMatch_ = ""; 45 queryParameterMatches_ = java.util.Collections.emptyList(); 46 regexMatch_ = ""; 47 } 48 49 @java.lang.Override 50 @SuppressWarnings({"unused"}) newInstance(UnusedPrivateParameter unused)51 protected java.lang.Object newInstance(UnusedPrivateParameter unused) { 52 return new HttpRouteRuleMatch(); 53 } 54 55 @java.lang.Override getUnknownFields()56 public final com.google.protobuf.UnknownFieldSet getUnknownFields() { 57 return this.unknownFields; 58 } 59 getDescriptor()60 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 61 return com.google.cloud.compute.v1.Compute 62 .internal_static_google_cloud_compute_v1_HttpRouteRuleMatch_descriptor; 63 } 64 65 @java.lang.Override 66 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()67 internalGetFieldAccessorTable() { 68 return com.google.cloud.compute.v1.Compute 69 .internal_static_google_cloud_compute_v1_HttpRouteRuleMatch_fieldAccessorTable 70 .ensureFieldAccessorsInitialized( 71 com.google.cloud.compute.v1.HttpRouteRuleMatch.class, 72 com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder.class); 73 } 74 75 private int bitField0_; 76 public static final int FULL_PATH_MATCH_FIELD_NUMBER = 214598875; 77 78 @SuppressWarnings("serial") 79 private volatile java.lang.Object fullPathMatch_ = ""; 80 /** 81 * 82 * 83 * <pre> 84 * For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 85 * </pre> 86 * 87 * <code>optional string full_path_match = 214598875;</code> 88 * 89 * @return Whether the fullPathMatch field is set. 90 */ 91 @java.lang.Override hasFullPathMatch()92 public boolean hasFullPathMatch() { 93 return ((bitField0_ & 0x00000001) != 0); 94 } 95 /** 96 * 97 * 98 * <pre> 99 * For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 100 * </pre> 101 * 102 * <code>optional string full_path_match = 214598875;</code> 103 * 104 * @return The fullPathMatch. 105 */ 106 @java.lang.Override getFullPathMatch()107 public java.lang.String getFullPathMatch() { 108 java.lang.Object ref = fullPathMatch_; 109 if (ref instanceof java.lang.String) { 110 return (java.lang.String) ref; 111 } else { 112 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 113 java.lang.String s = bs.toStringUtf8(); 114 fullPathMatch_ = s; 115 return s; 116 } 117 } 118 /** 119 * 120 * 121 * <pre> 122 * For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 123 * </pre> 124 * 125 * <code>optional string full_path_match = 214598875;</code> 126 * 127 * @return The bytes for fullPathMatch. 128 */ 129 @java.lang.Override getFullPathMatchBytes()130 public com.google.protobuf.ByteString getFullPathMatchBytes() { 131 java.lang.Object ref = fullPathMatch_; 132 if (ref instanceof java.lang.String) { 133 com.google.protobuf.ByteString b = 134 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 135 fullPathMatch_ = b; 136 return b; 137 } else { 138 return (com.google.protobuf.ByteString) ref; 139 } 140 } 141 142 public static final int HEADER_MATCHES_FIELD_NUMBER = 361903489; 143 144 @SuppressWarnings("serial") 145 private java.util.List<com.google.cloud.compute.v1.HttpHeaderMatch> headerMatches_; 146 /** 147 * 148 * 149 * <pre> 150 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 151 * </pre> 152 * 153 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 154 */ 155 @java.lang.Override getHeaderMatchesList()156 public java.util.List<com.google.cloud.compute.v1.HttpHeaderMatch> getHeaderMatchesList() { 157 return headerMatches_; 158 } 159 /** 160 * 161 * 162 * <pre> 163 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 164 * </pre> 165 * 166 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 167 */ 168 @java.lang.Override 169 public java.util.List<? extends com.google.cloud.compute.v1.HttpHeaderMatchOrBuilder> getHeaderMatchesOrBuilderList()170 getHeaderMatchesOrBuilderList() { 171 return headerMatches_; 172 } 173 /** 174 * 175 * 176 * <pre> 177 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 178 * </pre> 179 * 180 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 181 */ 182 @java.lang.Override getHeaderMatchesCount()183 public int getHeaderMatchesCount() { 184 return headerMatches_.size(); 185 } 186 /** 187 * 188 * 189 * <pre> 190 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 191 * </pre> 192 * 193 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 194 */ 195 @java.lang.Override getHeaderMatches(int index)196 public com.google.cloud.compute.v1.HttpHeaderMatch getHeaderMatches(int index) { 197 return headerMatches_.get(index); 198 } 199 /** 200 * 201 * 202 * <pre> 203 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 204 * </pre> 205 * 206 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 207 */ 208 @java.lang.Override getHeaderMatchesOrBuilder(int index)209 public com.google.cloud.compute.v1.HttpHeaderMatchOrBuilder getHeaderMatchesOrBuilder(int index) { 210 return headerMatches_.get(index); 211 } 212 213 public static final int IGNORE_CASE_FIELD_NUMBER = 464324989; 214 private boolean ignoreCase_ = false; 215 /** 216 * 217 * 218 * <pre> 219 * Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy. 220 * </pre> 221 * 222 * <code>optional bool ignore_case = 464324989;</code> 223 * 224 * @return Whether the ignoreCase field is set. 225 */ 226 @java.lang.Override hasIgnoreCase()227 public boolean hasIgnoreCase() { 228 return ((bitField0_ & 0x00000002) != 0); 229 } 230 /** 231 * 232 * 233 * <pre> 234 * Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy. 235 * </pre> 236 * 237 * <code>optional bool ignore_case = 464324989;</code> 238 * 239 * @return The ignoreCase. 240 */ 241 @java.lang.Override getIgnoreCase()242 public boolean getIgnoreCase() { 243 return ignoreCase_; 244 } 245 246 public static final int METADATA_FILTERS_FIELD_NUMBER = 464725739; 247 248 @SuppressWarnings("serial") 249 private java.util.List<com.google.cloud.compute.v1.MetadataFilter> metadataFilters_; 250 /** 251 * 252 * 253 * <pre> 254 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 255 * </pre> 256 * 257 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 258 */ 259 @java.lang.Override getMetadataFiltersList()260 public java.util.List<com.google.cloud.compute.v1.MetadataFilter> getMetadataFiltersList() { 261 return metadataFilters_; 262 } 263 /** 264 * 265 * 266 * <pre> 267 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 268 * </pre> 269 * 270 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 271 */ 272 @java.lang.Override 273 public java.util.List<? extends com.google.cloud.compute.v1.MetadataFilterOrBuilder> getMetadataFiltersOrBuilderList()274 getMetadataFiltersOrBuilderList() { 275 return metadataFilters_; 276 } 277 /** 278 * 279 * 280 * <pre> 281 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 282 * </pre> 283 * 284 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 285 */ 286 @java.lang.Override getMetadataFiltersCount()287 public int getMetadataFiltersCount() { 288 return metadataFilters_.size(); 289 } 290 /** 291 * 292 * 293 * <pre> 294 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 295 * </pre> 296 * 297 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 298 */ 299 @java.lang.Override getMetadataFilters(int index)300 public com.google.cloud.compute.v1.MetadataFilter getMetadataFilters(int index) { 301 return metadataFilters_.get(index); 302 } 303 /** 304 * 305 * 306 * <pre> 307 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 308 * </pre> 309 * 310 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 311 */ 312 @java.lang.Override getMetadataFiltersOrBuilder( int index)313 public com.google.cloud.compute.v1.MetadataFilterOrBuilder getMetadataFiltersOrBuilder( 314 int index) { 315 return metadataFilters_.get(index); 316 } 317 318 public static final int PREFIX_MATCH_FIELD_NUMBER = 257898968; 319 320 @SuppressWarnings("serial") 321 private volatile java.lang.Object prefixMatch_ = ""; 322 /** 323 * 324 * 325 * <pre> 326 * For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 327 * </pre> 328 * 329 * <code>optional string prefix_match = 257898968;</code> 330 * 331 * @return Whether the prefixMatch field is set. 332 */ 333 @java.lang.Override hasPrefixMatch()334 public boolean hasPrefixMatch() { 335 return ((bitField0_ & 0x00000004) != 0); 336 } 337 /** 338 * 339 * 340 * <pre> 341 * For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 342 * </pre> 343 * 344 * <code>optional string prefix_match = 257898968;</code> 345 * 346 * @return The prefixMatch. 347 */ 348 @java.lang.Override getPrefixMatch()349 public java.lang.String getPrefixMatch() { 350 java.lang.Object ref = prefixMatch_; 351 if (ref instanceof java.lang.String) { 352 return (java.lang.String) ref; 353 } else { 354 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 355 java.lang.String s = bs.toStringUtf8(); 356 prefixMatch_ = s; 357 return s; 358 } 359 } 360 /** 361 * 362 * 363 * <pre> 364 * For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 365 * </pre> 366 * 367 * <code>optional string prefix_match = 257898968;</code> 368 * 369 * @return The bytes for prefixMatch. 370 */ 371 @java.lang.Override getPrefixMatchBytes()372 public com.google.protobuf.ByteString getPrefixMatchBytes() { 373 java.lang.Object ref = prefixMatch_; 374 if (ref instanceof java.lang.String) { 375 com.google.protobuf.ByteString b = 376 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 377 prefixMatch_ = b; 378 return b; 379 } else { 380 return (com.google.protobuf.ByteString) ref; 381 } 382 } 383 384 public static final int QUERY_PARAMETER_MATCHES_FIELD_NUMBER = 286231270; 385 386 @SuppressWarnings("serial") 387 private java.util.List<com.google.cloud.compute.v1.HttpQueryParameterMatch> 388 queryParameterMatches_; 389 /** 390 * 391 * 392 * <pre> 393 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 394 * </pre> 395 * 396 * <code> 397 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 398 * </code> 399 */ 400 @java.lang.Override 401 public java.util.List<com.google.cloud.compute.v1.HttpQueryParameterMatch> getQueryParameterMatchesList()402 getQueryParameterMatchesList() { 403 return queryParameterMatches_; 404 } 405 /** 406 * 407 * 408 * <pre> 409 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 410 * </pre> 411 * 412 * <code> 413 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 414 * </code> 415 */ 416 @java.lang.Override 417 public java.util.List<? extends com.google.cloud.compute.v1.HttpQueryParameterMatchOrBuilder> getQueryParameterMatchesOrBuilderList()418 getQueryParameterMatchesOrBuilderList() { 419 return queryParameterMatches_; 420 } 421 /** 422 * 423 * 424 * <pre> 425 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 426 * </pre> 427 * 428 * <code> 429 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 430 * </code> 431 */ 432 @java.lang.Override getQueryParameterMatchesCount()433 public int getQueryParameterMatchesCount() { 434 return queryParameterMatches_.size(); 435 } 436 /** 437 * 438 * 439 * <pre> 440 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 441 * </pre> 442 * 443 * <code> 444 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 445 * </code> 446 */ 447 @java.lang.Override getQueryParameterMatches(int index)448 public com.google.cloud.compute.v1.HttpQueryParameterMatch getQueryParameterMatches(int index) { 449 return queryParameterMatches_.get(index); 450 } 451 /** 452 * 453 * 454 * <pre> 455 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 456 * </pre> 457 * 458 * <code> 459 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 460 * </code> 461 */ 462 @java.lang.Override 463 public com.google.cloud.compute.v1.HttpQueryParameterMatchOrBuilder getQueryParameterMatchesOrBuilder(int index)464 getQueryParameterMatchesOrBuilder(int index) { 465 return queryParameterMatches_.get(index); 466 } 467 468 public static final int REGEX_MATCH_FIELD_NUMBER = 107387853; 469 470 @SuppressWarnings("serial") 471 private volatile java.lang.Object regexMatch_ = ""; 472 /** 473 * 474 * 475 * <pre> 476 * For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. 477 * </pre> 478 * 479 * <code>optional string regex_match = 107387853;</code> 480 * 481 * @return Whether the regexMatch field is set. 482 */ 483 @java.lang.Override hasRegexMatch()484 public boolean hasRegexMatch() { 485 return ((bitField0_ & 0x00000008) != 0); 486 } 487 /** 488 * 489 * 490 * <pre> 491 * For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. 492 * </pre> 493 * 494 * <code>optional string regex_match = 107387853;</code> 495 * 496 * @return The regexMatch. 497 */ 498 @java.lang.Override getRegexMatch()499 public java.lang.String getRegexMatch() { 500 java.lang.Object ref = regexMatch_; 501 if (ref instanceof java.lang.String) { 502 return (java.lang.String) ref; 503 } else { 504 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 505 java.lang.String s = bs.toStringUtf8(); 506 regexMatch_ = s; 507 return s; 508 } 509 } 510 /** 511 * 512 * 513 * <pre> 514 * For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. 515 * </pre> 516 * 517 * <code>optional string regex_match = 107387853;</code> 518 * 519 * @return The bytes for regexMatch. 520 */ 521 @java.lang.Override getRegexMatchBytes()522 public com.google.protobuf.ByteString getRegexMatchBytes() { 523 java.lang.Object ref = regexMatch_; 524 if (ref instanceof java.lang.String) { 525 com.google.protobuf.ByteString b = 526 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 527 regexMatch_ = b; 528 return b; 529 } else { 530 return (com.google.protobuf.ByteString) ref; 531 } 532 } 533 534 private byte memoizedIsInitialized = -1; 535 536 @java.lang.Override isInitialized()537 public final boolean isInitialized() { 538 byte isInitialized = memoizedIsInitialized; 539 if (isInitialized == 1) return true; 540 if (isInitialized == 0) return false; 541 542 memoizedIsInitialized = 1; 543 return true; 544 } 545 546 @java.lang.Override writeTo(com.google.protobuf.CodedOutputStream output)547 public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { 548 if (((bitField0_ & 0x00000008) != 0)) { 549 com.google.protobuf.GeneratedMessageV3.writeString(output, 107387853, regexMatch_); 550 } 551 if (((bitField0_ & 0x00000001) != 0)) { 552 com.google.protobuf.GeneratedMessageV3.writeString(output, 214598875, fullPathMatch_); 553 } 554 if (((bitField0_ & 0x00000004) != 0)) { 555 com.google.protobuf.GeneratedMessageV3.writeString(output, 257898968, prefixMatch_); 556 } 557 for (int i = 0; i < queryParameterMatches_.size(); i++) { 558 output.writeMessage(286231270, queryParameterMatches_.get(i)); 559 } 560 for (int i = 0; i < headerMatches_.size(); i++) { 561 output.writeMessage(361903489, headerMatches_.get(i)); 562 } 563 if (((bitField0_ & 0x00000002) != 0)) { 564 output.writeBool(464324989, ignoreCase_); 565 } 566 for (int i = 0; i < metadataFilters_.size(); i++) { 567 output.writeMessage(464725739, metadataFilters_.get(i)); 568 } 569 getUnknownFields().writeTo(output); 570 } 571 572 @java.lang.Override getSerializedSize()573 public int getSerializedSize() { 574 int size = memoizedSize; 575 if (size != -1) return size; 576 577 size = 0; 578 if (((bitField0_ & 0x00000008) != 0)) { 579 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(107387853, regexMatch_); 580 } 581 if (((bitField0_ & 0x00000001) != 0)) { 582 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(214598875, fullPathMatch_); 583 } 584 if (((bitField0_ & 0x00000004) != 0)) { 585 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(257898968, prefixMatch_); 586 } 587 for (int i = 0; i < queryParameterMatches_.size(); i++) { 588 size += 589 com.google.protobuf.CodedOutputStream.computeMessageSize( 590 286231270, queryParameterMatches_.get(i)); 591 } 592 for (int i = 0; i < headerMatches_.size(); i++) { 593 size += 594 com.google.protobuf.CodedOutputStream.computeMessageSize( 595 361903489, headerMatches_.get(i)); 596 } 597 if (((bitField0_ & 0x00000002) != 0)) { 598 size += com.google.protobuf.CodedOutputStream.computeBoolSize(464324989, ignoreCase_); 599 } 600 for (int i = 0; i < metadataFilters_.size(); i++) { 601 size += 602 com.google.protobuf.CodedOutputStream.computeMessageSize( 603 464725739, metadataFilters_.get(i)); 604 } 605 size += getUnknownFields().getSerializedSize(); 606 memoizedSize = size; 607 return size; 608 } 609 610 @java.lang.Override equals(final java.lang.Object obj)611 public boolean equals(final java.lang.Object obj) { 612 if (obj == this) { 613 return true; 614 } 615 if (!(obj instanceof com.google.cloud.compute.v1.HttpRouteRuleMatch)) { 616 return super.equals(obj); 617 } 618 com.google.cloud.compute.v1.HttpRouteRuleMatch other = 619 (com.google.cloud.compute.v1.HttpRouteRuleMatch) obj; 620 621 if (hasFullPathMatch() != other.hasFullPathMatch()) return false; 622 if (hasFullPathMatch()) { 623 if (!getFullPathMatch().equals(other.getFullPathMatch())) return false; 624 } 625 if (!getHeaderMatchesList().equals(other.getHeaderMatchesList())) return false; 626 if (hasIgnoreCase() != other.hasIgnoreCase()) return false; 627 if (hasIgnoreCase()) { 628 if (getIgnoreCase() != other.getIgnoreCase()) return false; 629 } 630 if (!getMetadataFiltersList().equals(other.getMetadataFiltersList())) return false; 631 if (hasPrefixMatch() != other.hasPrefixMatch()) return false; 632 if (hasPrefixMatch()) { 633 if (!getPrefixMatch().equals(other.getPrefixMatch())) return false; 634 } 635 if (!getQueryParameterMatchesList().equals(other.getQueryParameterMatchesList())) return false; 636 if (hasRegexMatch() != other.hasRegexMatch()) return false; 637 if (hasRegexMatch()) { 638 if (!getRegexMatch().equals(other.getRegexMatch())) return false; 639 } 640 if (!getUnknownFields().equals(other.getUnknownFields())) return false; 641 return true; 642 } 643 644 @java.lang.Override hashCode()645 public int hashCode() { 646 if (memoizedHashCode != 0) { 647 return memoizedHashCode; 648 } 649 int hash = 41; 650 hash = (19 * hash) + getDescriptor().hashCode(); 651 if (hasFullPathMatch()) { 652 hash = (37 * hash) + FULL_PATH_MATCH_FIELD_NUMBER; 653 hash = (53 * hash) + getFullPathMatch().hashCode(); 654 } 655 if (getHeaderMatchesCount() > 0) { 656 hash = (37 * hash) + HEADER_MATCHES_FIELD_NUMBER; 657 hash = (53 * hash) + getHeaderMatchesList().hashCode(); 658 } 659 if (hasIgnoreCase()) { 660 hash = (37 * hash) + IGNORE_CASE_FIELD_NUMBER; 661 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIgnoreCase()); 662 } 663 if (getMetadataFiltersCount() > 0) { 664 hash = (37 * hash) + METADATA_FILTERS_FIELD_NUMBER; 665 hash = (53 * hash) + getMetadataFiltersList().hashCode(); 666 } 667 if (hasPrefixMatch()) { 668 hash = (37 * hash) + PREFIX_MATCH_FIELD_NUMBER; 669 hash = (53 * hash) + getPrefixMatch().hashCode(); 670 } 671 if (getQueryParameterMatchesCount() > 0) { 672 hash = (37 * hash) + QUERY_PARAMETER_MATCHES_FIELD_NUMBER; 673 hash = (53 * hash) + getQueryParameterMatchesList().hashCode(); 674 } 675 if (hasRegexMatch()) { 676 hash = (37 * hash) + REGEX_MATCH_FIELD_NUMBER; 677 hash = (53 * hash) + getRegexMatch().hashCode(); 678 } 679 hash = (29 * hash) + getUnknownFields().hashCode(); 680 memoizedHashCode = hash; 681 return hash; 682 } 683 parseFrom(java.nio.ByteBuffer data)684 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom(java.nio.ByteBuffer data) 685 throws com.google.protobuf.InvalidProtocolBufferException { 686 return PARSER.parseFrom(data); 687 } 688 parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)689 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom( 690 java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 691 throws com.google.protobuf.InvalidProtocolBufferException { 692 return PARSER.parseFrom(data, extensionRegistry); 693 } 694 parseFrom( com.google.protobuf.ByteString data)695 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom( 696 com.google.protobuf.ByteString data) 697 throws com.google.protobuf.InvalidProtocolBufferException { 698 return PARSER.parseFrom(data); 699 } 700 parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)701 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom( 702 com.google.protobuf.ByteString data, 703 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 704 throws com.google.protobuf.InvalidProtocolBufferException { 705 return PARSER.parseFrom(data, extensionRegistry); 706 } 707 parseFrom(byte[] data)708 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom(byte[] data) 709 throws com.google.protobuf.InvalidProtocolBufferException { 710 return PARSER.parseFrom(data); 711 } 712 parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)713 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom( 714 byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 715 throws com.google.protobuf.InvalidProtocolBufferException { 716 return PARSER.parseFrom(data, extensionRegistry); 717 } 718 parseFrom(java.io.InputStream input)719 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom(java.io.InputStream input) 720 throws java.io.IOException { 721 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 722 } 723 parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)724 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom( 725 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 726 throws java.io.IOException { 727 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 728 PARSER, input, extensionRegistry); 729 } 730 parseDelimitedFrom( java.io.InputStream input)731 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseDelimitedFrom( 732 java.io.InputStream input) throws java.io.IOException { 733 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); 734 } 735 parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)736 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseDelimitedFrom( 737 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 738 throws java.io.IOException { 739 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( 740 PARSER, input, extensionRegistry); 741 } 742 parseFrom( com.google.protobuf.CodedInputStream input)743 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom( 744 com.google.protobuf.CodedInputStream input) throws java.io.IOException { 745 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 746 } 747 parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)748 public static com.google.cloud.compute.v1.HttpRouteRuleMatch parseFrom( 749 com.google.protobuf.CodedInputStream input, 750 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 751 throws java.io.IOException { 752 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 753 PARSER, input, extensionRegistry); 754 } 755 756 @java.lang.Override newBuilderForType()757 public Builder newBuilderForType() { 758 return newBuilder(); 759 } 760 newBuilder()761 public static Builder newBuilder() { 762 return DEFAULT_INSTANCE.toBuilder(); 763 } 764 newBuilder(com.google.cloud.compute.v1.HttpRouteRuleMatch prototype)765 public static Builder newBuilder(com.google.cloud.compute.v1.HttpRouteRuleMatch prototype) { 766 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); 767 } 768 769 @java.lang.Override toBuilder()770 public Builder toBuilder() { 771 return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); 772 } 773 774 @java.lang.Override newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)775 protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 776 Builder builder = new Builder(parent); 777 return builder; 778 } 779 /** 780 * 781 * 782 * <pre> 783 * HttpRouteRuleMatch specifies a set of criteria for matching requests to an HttpRouteRule. All specified criteria must be satisfied for a match to occur. 784 * </pre> 785 * 786 * Protobuf type {@code google.cloud.compute.v1.HttpRouteRuleMatch} 787 */ 788 public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> 789 implements 790 // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.HttpRouteRuleMatch) 791 com.google.cloud.compute.v1.HttpRouteRuleMatchOrBuilder { getDescriptor()792 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 793 return com.google.cloud.compute.v1.Compute 794 .internal_static_google_cloud_compute_v1_HttpRouteRuleMatch_descriptor; 795 } 796 797 @java.lang.Override 798 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()799 internalGetFieldAccessorTable() { 800 return com.google.cloud.compute.v1.Compute 801 .internal_static_google_cloud_compute_v1_HttpRouteRuleMatch_fieldAccessorTable 802 .ensureFieldAccessorsInitialized( 803 com.google.cloud.compute.v1.HttpRouteRuleMatch.class, 804 com.google.cloud.compute.v1.HttpRouteRuleMatch.Builder.class); 805 } 806 807 // Construct using com.google.cloud.compute.v1.HttpRouteRuleMatch.newBuilder() Builder()808 private Builder() {} 809 Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)810 private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 811 super(parent); 812 } 813 814 @java.lang.Override clear()815 public Builder clear() { 816 super.clear(); 817 bitField0_ = 0; 818 fullPathMatch_ = ""; 819 if (headerMatchesBuilder_ == null) { 820 headerMatches_ = java.util.Collections.emptyList(); 821 } else { 822 headerMatches_ = null; 823 headerMatchesBuilder_.clear(); 824 } 825 bitField0_ = (bitField0_ & ~0x00000002); 826 ignoreCase_ = false; 827 if (metadataFiltersBuilder_ == null) { 828 metadataFilters_ = java.util.Collections.emptyList(); 829 } else { 830 metadataFilters_ = null; 831 metadataFiltersBuilder_.clear(); 832 } 833 bitField0_ = (bitField0_ & ~0x00000008); 834 prefixMatch_ = ""; 835 if (queryParameterMatchesBuilder_ == null) { 836 queryParameterMatches_ = java.util.Collections.emptyList(); 837 } else { 838 queryParameterMatches_ = null; 839 queryParameterMatchesBuilder_.clear(); 840 } 841 bitField0_ = (bitField0_ & ~0x00000020); 842 regexMatch_ = ""; 843 return this; 844 } 845 846 @java.lang.Override getDescriptorForType()847 public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { 848 return com.google.cloud.compute.v1.Compute 849 .internal_static_google_cloud_compute_v1_HttpRouteRuleMatch_descriptor; 850 } 851 852 @java.lang.Override getDefaultInstanceForType()853 public com.google.cloud.compute.v1.HttpRouteRuleMatch getDefaultInstanceForType() { 854 return com.google.cloud.compute.v1.HttpRouteRuleMatch.getDefaultInstance(); 855 } 856 857 @java.lang.Override build()858 public com.google.cloud.compute.v1.HttpRouteRuleMatch build() { 859 com.google.cloud.compute.v1.HttpRouteRuleMatch result = buildPartial(); 860 if (!result.isInitialized()) { 861 throw newUninitializedMessageException(result); 862 } 863 return result; 864 } 865 866 @java.lang.Override buildPartial()867 public com.google.cloud.compute.v1.HttpRouteRuleMatch buildPartial() { 868 com.google.cloud.compute.v1.HttpRouteRuleMatch result = 869 new com.google.cloud.compute.v1.HttpRouteRuleMatch(this); 870 buildPartialRepeatedFields(result); 871 if (bitField0_ != 0) { 872 buildPartial0(result); 873 } 874 onBuilt(); 875 return result; 876 } 877 buildPartialRepeatedFields(com.google.cloud.compute.v1.HttpRouteRuleMatch result)878 private void buildPartialRepeatedFields(com.google.cloud.compute.v1.HttpRouteRuleMatch result) { 879 if (headerMatchesBuilder_ == null) { 880 if (((bitField0_ & 0x00000002) != 0)) { 881 headerMatches_ = java.util.Collections.unmodifiableList(headerMatches_); 882 bitField0_ = (bitField0_ & ~0x00000002); 883 } 884 result.headerMatches_ = headerMatches_; 885 } else { 886 result.headerMatches_ = headerMatchesBuilder_.build(); 887 } 888 if (metadataFiltersBuilder_ == null) { 889 if (((bitField0_ & 0x00000008) != 0)) { 890 metadataFilters_ = java.util.Collections.unmodifiableList(metadataFilters_); 891 bitField0_ = (bitField0_ & ~0x00000008); 892 } 893 result.metadataFilters_ = metadataFilters_; 894 } else { 895 result.metadataFilters_ = metadataFiltersBuilder_.build(); 896 } 897 if (queryParameterMatchesBuilder_ == null) { 898 if (((bitField0_ & 0x00000020) != 0)) { 899 queryParameterMatches_ = java.util.Collections.unmodifiableList(queryParameterMatches_); 900 bitField0_ = (bitField0_ & ~0x00000020); 901 } 902 result.queryParameterMatches_ = queryParameterMatches_; 903 } else { 904 result.queryParameterMatches_ = queryParameterMatchesBuilder_.build(); 905 } 906 } 907 buildPartial0(com.google.cloud.compute.v1.HttpRouteRuleMatch result)908 private void buildPartial0(com.google.cloud.compute.v1.HttpRouteRuleMatch result) { 909 int from_bitField0_ = bitField0_; 910 int to_bitField0_ = 0; 911 if (((from_bitField0_ & 0x00000001) != 0)) { 912 result.fullPathMatch_ = fullPathMatch_; 913 to_bitField0_ |= 0x00000001; 914 } 915 if (((from_bitField0_ & 0x00000004) != 0)) { 916 result.ignoreCase_ = ignoreCase_; 917 to_bitField0_ |= 0x00000002; 918 } 919 if (((from_bitField0_ & 0x00000010) != 0)) { 920 result.prefixMatch_ = prefixMatch_; 921 to_bitField0_ |= 0x00000004; 922 } 923 if (((from_bitField0_ & 0x00000040) != 0)) { 924 result.regexMatch_ = regexMatch_; 925 to_bitField0_ |= 0x00000008; 926 } 927 result.bitField0_ |= to_bitField0_; 928 } 929 930 @java.lang.Override clone()931 public Builder clone() { 932 return super.clone(); 933 } 934 935 @java.lang.Override setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)936 public Builder setField( 937 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 938 return super.setField(field, value); 939 } 940 941 @java.lang.Override clearField(com.google.protobuf.Descriptors.FieldDescriptor field)942 public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { 943 return super.clearField(field); 944 } 945 946 @java.lang.Override clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)947 public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { 948 return super.clearOneof(oneof); 949 } 950 951 @java.lang.Override setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)952 public Builder setRepeatedField( 953 com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { 954 return super.setRepeatedField(field, index, value); 955 } 956 957 @java.lang.Override addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)958 public Builder addRepeatedField( 959 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 960 return super.addRepeatedField(field, value); 961 } 962 963 @java.lang.Override mergeFrom(com.google.protobuf.Message other)964 public Builder mergeFrom(com.google.protobuf.Message other) { 965 if (other instanceof com.google.cloud.compute.v1.HttpRouteRuleMatch) { 966 return mergeFrom((com.google.cloud.compute.v1.HttpRouteRuleMatch) other); 967 } else { 968 super.mergeFrom(other); 969 return this; 970 } 971 } 972 mergeFrom(com.google.cloud.compute.v1.HttpRouteRuleMatch other)973 public Builder mergeFrom(com.google.cloud.compute.v1.HttpRouteRuleMatch other) { 974 if (other == com.google.cloud.compute.v1.HttpRouteRuleMatch.getDefaultInstance()) return this; 975 if (other.hasFullPathMatch()) { 976 fullPathMatch_ = other.fullPathMatch_; 977 bitField0_ |= 0x00000001; 978 onChanged(); 979 } 980 if (headerMatchesBuilder_ == null) { 981 if (!other.headerMatches_.isEmpty()) { 982 if (headerMatches_.isEmpty()) { 983 headerMatches_ = other.headerMatches_; 984 bitField0_ = (bitField0_ & ~0x00000002); 985 } else { 986 ensureHeaderMatchesIsMutable(); 987 headerMatches_.addAll(other.headerMatches_); 988 } 989 onChanged(); 990 } 991 } else { 992 if (!other.headerMatches_.isEmpty()) { 993 if (headerMatchesBuilder_.isEmpty()) { 994 headerMatchesBuilder_.dispose(); 995 headerMatchesBuilder_ = null; 996 headerMatches_ = other.headerMatches_; 997 bitField0_ = (bitField0_ & ~0x00000002); 998 headerMatchesBuilder_ = 999 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders 1000 ? getHeaderMatchesFieldBuilder() 1001 : null; 1002 } else { 1003 headerMatchesBuilder_.addAllMessages(other.headerMatches_); 1004 } 1005 } 1006 } 1007 if (other.hasIgnoreCase()) { 1008 setIgnoreCase(other.getIgnoreCase()); 1009 } 1010 if (metadataFiltersBuilder_ == null) { 1011 if (!other.metadataFilters_.isEmpty()) { 1012 if (metadataFilters_.isEmpty()) { 1013 metadataFilters_ = other.metadataFilters_; 1014 bitField0_ = (bitField0_ & ~0x00000008); 1015 } else { 1016 ensureMetadataFiltersIsMutable(); 1017 metadataFilters_.addAll(other.metadataFilters_); 1018 } 1019 onChanged(); 1020 } 1021 } else { 1022 if (!other.metadataFilters_.isEmpty()) { 1023 if (metadataFiltersBuilder_.isEmpty()) { 1024 metadataFiltersBuilder_.dispose(); 1025 metadataFiltersBuilder_ = null; 1026 metadataFilters_ = other.metadataFilters_; 1027 bitField0_ = (bitField0_ & ~0x00000008); 1028 metadataFiltersBuilder_ = 1029 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders 1030 ? getMetadataFiltersFieldBuilder() 1031 : null; 1032 } else { 1033 metadataFiltersBuilder_.addAllMessages(other.metadataFilters_); 1034 } 1035 } 1036 } 1037 if (other.hasPrefixMatch()) { 1038 prefixMatch_ = other.prefixMatch_; 1039 bitField0_ |= 0x00000010; 1040 onChanged(); 1041 } 1042 if (queryParameterMatchesBuilder_ == null) { 1043 if (!other.queryParameterMatches_.isEmpty()) { 1044 if (queryParameterMatches_.isEmpty()) { 1045 queryParameterMatches_ = other.queryParameterMatches_; 1046 bitField0_ = (bitField0_ & ~0x00000020); 1047 } else { 1048 ensureQueryParameterMatchesIsMutable(); 1049 queryParameterMatches_.addAll(other.queryParameterMatches_); 1050 } 1051 onChanged(); 1052 } 1053 } else { 1054 if (!other.queryParameterMatches_.isEmpty()) { 1055 if (queryParameterMatchesBuilder_.isEmpty()) { 1056 queryParameterMatchesBuilder_.dispose(); 1057 queryParameterMatchesBuilder_ = null; 1058 queryParameterMatches_ = other.queryParameterMatches_; 1059 bitField0_ = (bitField0_ & ~0x00000020); 1060 queryParameterMatchesBuilder_ = 1061 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders 1062 ? getQueryParameterMatchesFieldBuilder() 1063 : null; 1064 } else { 1065 queryParameterMatchesBuilder_.addAllMessages(other.queryParameterMatches_); 1066 } 1067 } 1068 } 1069 if (other.hasRegexMatch()) { 1070 regexMatch_ = other.regexMatch_; 1071 bitField0_ |= 0x00000040; 1072 onChanged(); 1073 } 1074 this.mergeUnknownFields(other.getUnknownFields()); 1075 onChanged(); 1076 return this; 1077 } 1078 1079 @java.lang.Override isInitialized()1080 public final boolean isInitialized() { 1081 return true; 1082 } 1083 1084 @java.lang.Override mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1085 public Builder mergeFrom( 1086 com.google.protobuf.CodedInputStream input, 1087 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1088 throws java.io.IOException { 1089 if (extensionRegistry == null) { 1090 throw new java.lang.NullPointerException(); 1091 } 1092 try { 1093 boolean done = false; 1094 while (!done) { 1095 int tag = input.readTag(); 1096 switch (tag) { 1097 case 0: 1098 done = true; 1099 break; 1100 case 859102826: 1101 { 1102 regexMatch_ = input.readStringRequireUtf8(); 1103 bitField0_ |= 0x00000040; 1104 break; 1105 } // case 859102826 1106 case 1716791002: 1107 { 1108 fullPathMatch_ = input.readStringRequireUtf8(); 1109 bitField0_ |= 0x00000001; 1110 break; 1111 } // case 1716791002 1112 case 2063191746: 1113 { 1114 prefixMatch_ = input.readStringRequireUtf8(); 1115 bitField0_ |= 0x00000010; 1116 break; 1117 } // case 2063191746 1118 case -2005117134: 1119 { 1120 com.google.cloud.compute.v1.HttpQueryParameterMatch m = 1121 input.readMessage( 1122 com.google.cloud.compute.v1.HttpQueryParameterMatch.parser(), 1123 extensionRegistry); 1124 if (queryParameterMatchesBuilder_ == null) { 1125 ensureQueryParameterMatchesIsMutable(); 1126 queryParameterMatches_.add(m); 1127 } else { 1128 queryParameterMatchesBuilder_.addMessage(m); 1129 } 1130 break; 1131 } // case -2005117134 1132 case -1399739382: 1133 { 1134 com.google.cloud.compute.v1.HttpHeaderMatch m = 1135 input.readMessage( 1136 com.google.cloud.compute.v1.HttpHeaderMatch.parser(), extensionRegistry); 1137 if (headerMatchesBuilder_ == null) { 1138 ensureHeaderMatchesIsMutable(); 1139 headerMatches_.add(m); 1140 } else { 1141 headerMatchesBuilder_.addMessage(m); 1142 } 1143 break; 1144 } // case -1399739382 1145 case -580367384: 1146 { 1147 ignoreCase_ = input.readBool(); 1148 bitField0_ |= 0x00000004; 1149 break; 1150 } // case -580367384 1151 case -577161382: 1152 { 1153 com.google.cloud.compute.v1.MetadataFilter m = 1154 input.readMessage( 1155 com.google.cloud.compute.v1.MetadataFilter.parser(), extensionRegistry); 1156 if (metadataFiltersBuilder_ == null) { 1157 ensureMetadataFiltersIsMutable(); 1158 metadataFilters_.add(m); 1159 } else { 1160 metadataFiltersBuilder_.addMessage(m); 1161 } 1162 break; 1163 } // case -577161382 1164 default: 1165 { 1166 if (!super.parseUnknownField(input, extensionRegistry, tag)) { 1167 done = true; // was an endgroup tag 1168 } 1169 break; 1170 } // default: 1171 } // switch (tag) 1172 } // while (!done) 1173 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 1174 throw e.unwrapIOException(); 1175 } finally { 1176 onChanged(); 1177 } // finally 1178 return this; 1179 } 1180 1181 private int bitField0_; 1182 1183 private java.lang.Object fullPathMatch_ = ""; 1184 /** 1185 * 1186 * 1187 * <pre> 1188 * For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 1189 * </pre> 1190 * 1191 * <code>optional string full_path_match = 214598875;</code> 1192 * 1193 * @return Whether the fullPathMatch field is set. 1194 */ hasFullPathMatch()1195 public boolean hasFullPathMatch() { 1196 return ((bitField0_ & 0x00000001) != 0); 1197 } 1198 /** 1199 * 1200 * 1201 * <pre> 1202 * For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 1203 * </pre> 1204 * 1205 * <code>optional string full_path_match = 214598875;</code> 1206 * 1207 * @return The fullPathMatch. 1208 */ getFullPathMatch()1209 public java.lang.String getFullPathMatch() { 1210 java.lang.Object ref = fullPathMatch_; 1211 if (!(ref instanceof java.lang.String)) { 1212 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 1213 java.lang.String s = bs.toStringUtf8(); 1214 fullPathMatch_ = s; 1215 return s; 1216 } else { 1217 return (java.lang.String) ref; 1218 } 1219 } 1220 /** 1221 * 1222 * 1223 * <pre> 1224 * For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 1225 * </pre> 1226 * 1227 * <code>optional string full_path_match = 214598875;</code> 1228 * 1229 * @return The bytes for fullPathMatch. 1230 */ getFullPathMatchBytes()1231 public com.google.protobuf.ByteString getFullPathMatchBytes() { 1232 java.lang.Object ref = fullPathMatch_; 1233 if (ref instanceof String) { 1234 com.google.protobuf.ByteString b = 1235 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 1236 fullPathMatch_ = b; 1237 return b; 1238 } else { 1239 return (com.google.protobuf.ByteString) ref; 1240 } 1241 } 1242 /** 1243 * 1244 * 1245 * <pre> 1246 * For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 1247 * </pre> 1248 * 1249 * <code>optional string full_path_match = 214598875;</code> 1250 * 1251 * @param value The fullPathMatch to set. 1252 * @return This builder for chaining. 1253 */ setFullPathMatch(java.lang.String value)1254 public Builder setFullPathMatch(java.lang.String value) { 1255 if (value == null) { 1256 throw new NullPointerException(); 1257 } 1258 fullPathMatch_ = value; 1259 bitField0_ |= 0x00000001; 1260 onChanged(); 1261 return this; 1262 } 1263 /** 1264 * 1265 * 1266 * <pre> 1267 * For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 1268 * </pre> 1269 * 1270 * <code>optional string full_path_match = 214598875;</code> 1271 * 1272 * @return This builder for chaining. 1273 */ clearFullPathMatch()1274 public Builder clearFullPathMatch() { 1275 fullPathMatch_ = getDefaultInstance().getFullPathMatch(); 1276 bitField0_ = (bitField0_ & ~0x00000001); 1277 onChanged(); 1278 return this; 1279 } 1280 /** 1281 * 1282 * 1283 * <pre> 1284 * For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 1285 * </pre> 1286 * 1287 * <code>optional string full_path_match = 214598875;</code> 1288 * 1289 * @param value The bytes for fullPathMatch to set. 1290 * @return This builder for chaining. 1291 */ setFullPathMatchBytes(com.google.protobuf.ByteString value)1292 public Builder setFullPathMatchBytes(com.google.protobuf.ByteString value) { 1293 if (value == null) { 1294 throw new NullPointerException(); 1295 } 1296 checkByteStringIsUtf8(value); 1297 fullPathMatch_ = value; 1298 bitField0_ |= 0x00000001; 1299 onChanged(); 1300 return this; 1301 } 1302 1303 private java.util.List<com.google.cloud.compute.v1.HttpHeaderMatch> headerMatches_ = 1304 java.util.Collections.emptyList(); 1305 ensureHeaderMatchesIsMutable()1306 private void ensureHeaderMatchesIsMutable() { 1307 if (!((bitField0_ & 0x00000002) != 0)) { 1308 headerMatches_ = 1309 new java.util.ArrayList<com.google.cloud.compute.v1.HttpHeaderMatch>(headerMatches_); 1310 bitField0_ |= 0x00000002; 1311 } 1312 } 1313 1314 private com.google.protobuf.RepeatedFieldBuilderV3< 1315 com.google.cloud.compute.v1.HttpHeaderMatch, 1316 com.google.cloud.compute.v1.HttpHeaderMatch.Builder, 1317 com.google.cloud.compute.v1.HttpHeaderMatchOrBuilder> 1318 headerMatchesBuilder_; 1319 1320 /** 1321 * 1322 * 1323 * <pre> 1324 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1325 * </pre> 1326 * 1327 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1328 */ getHeaderMatchesList()1329 public java.util.List<com.google.cloud.compute.v1.HttpHeaderMatch> getHeaderMatchesList() { 1330 if (headerMatchesBuilder_ == null) { 1331 return java.util.Collections.unmodifiableList(headerMatches_); 1332 } else { 1333 return headerMatchesBuilder_.getMessageList(); 1334 } 1335 } 1336 /** 1337 * 1338 * 1339 * <pre> 1340 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1341 * </pre> 1342 * 1343 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1344 */ getHeaderMatchesCount()1345 public int getHeaderMatchesCount() { 1346 if (headerMatchesBuilder_ == null) { 1347 return headerMatches_.size(); 1348 } else { 1349 return headerMatchesBuilder_.getCount(); 1350 } 1351 } 1352 /** 1353 * 1354 * 1355 * <pre> 1356 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1357 * </pre> 1358 * 1359 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1360 */ getHeaderMatches(int index)1361 public com.google.cloud.compute.v1.HttpHeaderMatch getHeaderMatches(int index) { 1362 if (headerMatchesBuilder_ == null) { 1363 return headerMatches_.get(index); 1364 } else { 1365 return headerMatchesBuilder_.getMessage(index); 1366 } 1367 } 1368 /** 1369 * 1370 * 1371 * <pre> 1372 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1373 * </pre> 1374 * 1375 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1376 */ setHeaderMatches(int index, com.google.cloud.compute.v1.HttpHeaderMatch value)1377 public Builder setHeaderMatches(int index, com.google.cloud.compute.v1.HttpHeaderMatch value) { 1378 if (headerMatchesBuilder_ == null) { 1379 if (value == null) { 1380 throw new NullPointerException(); 1381 } 1382 ensureHeaderMatchesIsMutable(); 1383 headerMatches_.set(index, value); 1384 onChanged(); 1385 } else { 1386 headerMatchesBuilder_.setMessage(index, value); 1387 } 1388 return this; 1389 } 1390 /** 1391 * 1392 * 1393 * <pre> 1394 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1395 * </pre> 1396 * 1397 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1398 */ setHeaderMatches( int index, com.google.cloud.compute.v1.HttpHeaderMatch.Builder builderForValue)1399 public Builder setHeaderMatches( 1400 int index, com.google.cloud.compute.v1.HttpHeaderMatch.Builder builderForValue) { 1401 if (headerMatchesBuilder_ == null) { 1402 ensureHeaderMatchesIsMutable(); 1403 headerMatches_.set(index, builderForValue.build()); 1404 onChanged(); 1405 } else { 1406 headerMatchesBuilder_.setMessage(index, builderForValue.build()); 1407 } 1408 return this; 1409 } 1410 /** 1411 * 1412 * 1413 * <pre> 1414 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1415 * </pre> 1416 * 1417 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1418 */ addHeaderMatches(com.google.cloud.compute.v1.HttpHeaderMatch value)1419 public Builder addHeaderMatches(com.google.cloud.compute.v1.HttpHeaderMatch value) { 1420 if (headerMatchesBuilder_ == null) { 1421 if (value == null) { 1422 throw new NullPointerException(); 1423 } 1424 ensureHeaderMatchesIsMutable(); 1425 headerMatches_.add(value); 1426 onChanged(); 1427 } else { 1428 headerMatchesBuilder_.addMessage(value); 1429 } 1430 return this; 1431 } 1432 /** 1433 * 1434 * 1435 * <pre> 1436 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1437 * </pre> 1438 * 1439 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1440 */ addHeaderMatches(int index, com.google.cloud.compute.v1.HttpHeaderMatch value)1441 public Builder addHeaderMatches(int index, com.google.cloud.compute.v1.HttpHeaderMatch value) { 1442 if (headerMatchesBuilder_ == null) { 1443 if (value == null) { 1444 throw new NullPointerException(); 1445 } 1446 ensureHeaderMatchesIsMutable(); 1447 headerMatches_.add(index, value); 1448 onChanged(); 1449 } else { 1450 headerMatchesBuilder_.addMessage(index, value); 1451 } 1452 return this; 1453 } 1454 /** 1455 * 1456 * 1457 * <pre> 1458 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1459 * </pre> 1460 * 1461 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1462 */ addHeaderMatches( com.google.cloud.compute.v1.HttpHeaderMatch.Builder builderForValue)1463 public Builder addHeaderMatches( 1464 com.google.cloud.compute.v1.HttpHeaderMatch.Builder builderForValue) { 1465 if (headerMatchesBuilder_ == null) { 1466 ensureHeaderMatchesIsMutable(); 1467 headerMatches_.add(builderForValue.build()); 1468 onChanged(); 1469 } else { 1470 headerMatchesBuilder_.addMessage(builderForValue.build()); 1471 } 1472 return this; 1473 } 1474 /** 1475 * 1476 * 1477 * <pre> 1478 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1479 * </pre> 1480 * 1481 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1482 */ addHeaderMatches( int index, com.google.cloud.compute.v1.HttpHeaderMatch.Builder builderForValue)1483 public Builder addHeaderMatches( 1484 int index, com.google.cloud.compute.v1.HttpHeaderMatch.Builder builderForValue) { 1485 if (headerMatchesBuilder_ == null) { 1486 ensureHeaderMatchesIsMutable(); 1487 headerMatches_.add(index, builderForValue.build()); 1488 onChanged(); 1489 } else { 1490 headerMatchesBuilder_.addMessage(index, builderForValue.build()); 1491 } 1492 return this; 1493 } 1494 /** 1495 * 1496 * 1497 * <pre> 1498 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1499 * </pre> 1500 * 1501 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1502 */ addAllHeaderMatches( java.lang.Iterable<? extends com.google.cloud.compute.v1.HttpHeaderMatch> values)1503 public Builder addAllHeaderMatches( 1504 java.lang.Iterable<? extends com.google.cloud.compute.v1.HttpHeaderMatch> values) { 1505 if (headerMatchesBuilder_ == null) { 1506 ensureHeaderMatchesIsMutable(); 1507 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, headerMatches_); 1508 onChanged(); 1509 } else { 1510 headerMatchesBuilder_.addAllMessages(values); 1511 } 1512 return this; 1513 } 1514 /** 1515 * 1516 * 1517 * <pre> 1518 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1519 * </pre> 1520 * 1521 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1522 */ clearHeaderMatches()1523 public Builder clearHeaderMatches() { 1524 if (headerMatchesBuilder_ == null) { 1525 headerMatches_ = java.util.Collections.emptyList(); 1526 bitField0_ = (bitField0_ & ~0x00000002); 1527 onChanged(); 1528 } else { 1529 headerMatchesBuilder_.clear(); 1530 } 1531 return this; 1532 } 1533 /** 1534 * 1535 * 1536 * <pre> 1537 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1538 * </pre> 1539 * 1540 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1541 */ removeHeaderMatches(int index)1542 public Builder removeHeaderMatches(int index) { 1543 if (headerMatchesBuilder_ == null) { 1544 ensureHeaderMatchesIsMutable(); 1545 headerMatches_.remove(index); 1546 onChanged(); 1547 } else { 1548 headerMatchesBuilder_.remove(index); 1549 } 1550 return this; 1551 } 1552 /** 1553 * 1554 * 1555 * <pre> 1556 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1557 * </pre> 1558 * 1559 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1560 */ getHeaderMatchesBuilder(int index)1561 public com.google.cloud.compute.v1.HttpHeaderMatch.Builder getHeaderMatchesBuilder(int index) { 1562 return getHeaderMatchesFieldBuilder().getBuilder(index); 1563 } 1564 /** 1565 * 1566 * 1567 * <pre> 1568 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1569 * </pre> 1570 * 1571 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1572 */ getHeaderMatchesOrBuilder( int index)1573 public com.google.cloud.compute.v1.HttpHeaderMatchOrBuilder getHeaderMatchesOrBuilder( 1574 int index) { 1575 if (headerMatchesBuilder_ == null) { 1576 return headerMatches_.get(index); 1577 } else { 1578 return headerMatchesBuilder_.getMessageOrBuilder(index); 1579 } 1580 } 1581 /** 1582 * 1583 * 1584 * <pre> 1585 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1586 * </pre> 1587 * 1588 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1589 */ 1590 public java.util.List<? extends com.google.cloud.compute.v1.HttpHeaderMatchOrBuilder> getHeaderMatchesOrBuilderList()1591 getHeaderMatchesOrBuilderList() { 1592 if (headerMatchesBuilder_ != null) { 1593 return headerMatchesBuilder_.getMessageOrBuilderList(); 1594 } else { 1595 return java.util.Collections.unmodifiableList(headerMatches_); 1596 } 1597 } 1598 /** 1599 * 1600 * 1601 * <pre> 1602 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1603 * </pre> 1604 * 1605 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1606 */ addHeaderMatchesBuilder()1607 public com.google.cloud.compute.v1.HttpHeaderMatch.Builder addHeaderMatchesBuilder() { 1608 return getHeaderMatchesFieldBuilder() 1609 .addBuilder(com.google.cloud.compute.v1.HttpHeaderMatch.getDefaultInstance()); 1610 } 1611 /** 1612 * 1613 * 1614 * <pre> 1615 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1616 * </pre> 1617 * 1618 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1619 */ addHeaderMatchesBuilder(int index)1620 public com.google.cloud.compute.v1.HttpHeaderMatch.Builder addHeaderMatchesBuilder(int index) { 1621 return getHeaderMatchesFieldBuilder() 1622 .addBuilder(index, com.google.cloud.compute.v1.HttpHeaderMatch.getDefaultInstance()); 1623 } 1624 /** 1625 * 1626 * 1627 * <pre> 1628 * Specifies a list of header match criteria, all of which must match corresponding headers in the request. 1629 * </pre> 1630 * 1631 * <code>repeated .google.cloud.compute.v1.HttpHeaderMatch header_matches = 361903489;</code> 1632 */ 1633 public java.util.List<com.google.cloud.compute.v1.HttpHeaderMatch.Builder> getHeaderMatchesBuilderList()1634 getHeaderMatchesBuilderList() { 1635 return getHeaderMatchesFieldBuilder().getBuilderList(); 1636 } 1637 1638 private com.google.protobuf.RepeatedFieldBuilderV3< 1639 com.google.cloud.compute.v1.HttpHeaderMatch, 1640 com.google.cloud.compute.v1.HttpHeaderMatch.Builder, 1641 com.google.cloud.compute.v1.HttpHeaderMatchOrBuilder> getHeaderMatchesFieldBuilder()1642 getHeaderMatchesFieldBuilder() { 1643 if (headerMatchesBuilder_ == null) { 1644 headerMatchesBuilder_ = 1645 new com.google.protobuf.RepeatedFieldBuilderV3< 1646 com.google.cloud.compute.v1.HttpHeaderMatch, 1647 com.google.cloud.compute.v1.HttpHeaderMatch.Builder, 1648 com.google.cloud.compute.v1.HttpHeaderMatchOrBuilder>( 1649 headerMatches_, 1650 ((bitField0_ & 0x00000002) != 0), 1651 getParentForChildren(), 1652 isClean()); 1653 headerMatches_ = null; 1654 } 1655 return headerMatchesBuilder_; 1656 } 1657 1658 private boolean ignoreCase_; 1659 /** 1660 * 1661 * 1662 * <pre> 1663 * Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy. 1664 * </pre> 1665 * 1666 * <code>optional bool ignore_case = 464324989;</code> 1667 * 1668 * @return Whether the ignoreCase field is set. 1669 */ 1670 @java.lang.Override hasIgnoreCase()1671 public boolean hasIgnoreCase() { 1672 return ((bitField0_ & 0x00000004) != 0); 1673 } 1674 /** 1675 * 1676 * 1677 * <pre> 1678 * Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy. 1679 * </pre> 1680 * 1681 * <code>optional bool ignore_case = 464324989;</code> 1682 * 1683 * @return The ignoreCase. 1684 */ 1685 @java.lang.Override getIgnoreCase()1686 public boolean getIgnoreCase() { 1687 return ignoreCase_; 1688 } 1689 /** 1690 * 1691 * 1692 * <pre> 1693 * Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy. 1694 * </pre> 1695 * 1696 * <code>optional bool ignore_case = 464324989;</code> 1697 * 1698 * @param value The ignoreCase to set. 1699 * @return This builder for chaining. 1700 */ setIgnoreCase(boolean value)1701 public Builder setIgnoreCase(boolean value) { 1702 1703 ignoreCase_ = value; 1704 bitField0_ |= 0x00000004; 1705 onChanged(); 1706 return this; 1707 } 1708 /** 1709 * 1710 * 1711 * <pre> 1712 * Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy. 1713 * </pre> 1714 * 1715 * <code>optional bool ignore_case = 464324989;</code> 1716 * 1717 * @return This builder for chaining. 1718 */ clearIgnoreCase()1719 public Builder clearIgnoreCase() { 1720 bitField0_ = (bitField0_ & ~0x00000004); 1721 ignoreCase_ = false; 1722 onChanged(); 1723 return this; 1724 } 1725 1726 private java.util.List<com.google.cloud.compute.v1.MetadataFilter> metadataFilters_ = 1727 java.util.Collections.emptyList(); 1728 ensureMetadataFiltersIsMutable()1729 private void ensureMetadataFiltersIsMutable() { 1730 if (!((bitField0_ & 0x00000008) != 0)) { 1731 metadataFilters_ = 1732 new java.util.ArrayList<com.google.cloud.compute.v1.MetadataFilter>(metadataFilters_); 1733 bitField0_ |= 0x00000008; 1734 } 1735 } 1736 1737 private com.google.protobuf.RepeatedFieldBuilderV3< 1738 com.google.cloud.compute.v1.MetadataFilter, 1739 com.google.cloud.compute.v1.MetadataFilter.Builder, 1740 com.google.cloud.compute.v1.MetadataFilterOrBuilder> 1741 metadataFiltersBuilder_; 1742 1743 /** 1744 * 1745 * 1746 * <pre> 1747 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1748 * </pre> 1749 * 1750 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1751 */ getMetadataFiltersList()1752 public java.util.List<com.google.cloud.compute.v1.MetadataFilter> getMetadataFiltersList() { 1753 if (metadataFiltersBuilder_ == null) { 1754 return java.util.Collections.unmodifiableList(metadataFilters_); 1755 } else { 1756 return metadataFiltersBuilder_.getMessageList(); 1757 } 1758 } 1759 /** 1760 * 1761 * 1762 * <pre> 1763 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1764 * </pre> 1765 * 1766 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1767 */ getMetadataFiltersCount()1768 public int getMetadataFiltersCount() { 1769 if (metadataFiltersBuilder_ == null) { 1770 return metadataFilters_.size(); 1771 } else { 1772 return metadataFiltersBuilder_.getCount(); 1773 } 1774 } 1775 /** 1776 * 1777 * 1778 * <pre> 1779 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1780 * </pre> 1781 * 1782 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1783 */ getMetadataFilters(int index)1784 public com.google.cloud.compute.v1.MetadataFilter getMetadataFilters(int index) { 1785 if (metadataFiltersBuilder_ == null) { 1786 return metadataFilters_.get(index); 1787 } else { 1788 return metadataFiltersBuilder_.getMessage(index); 1789 } 1790 } 1791 /** 1792 * 1793 * 1794 * <pre> 1795 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1796 * </pre> 1797 * 1798 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1799 */ setMetadataFilters(int index, com.google.cloud.compute.v1.MetadataFilter value)1800 public Builder setMetadataFilters(int index, com.google.cloud.compute.v1.MetadataFilter value) { 1801 if (metadataFiltersBuilder_ == null) { 1802 if (value == null) { 1803 throw new NullPointerException(); 1804 } 1805 ensureMetadataFiltersIsMutable(); 1806 metadataFilters_.set(index, value); 1807 onChanged(); 1808 } else { 1809 metadataFiltersBuilder_.setMessage(index, value); 1810 } 1811 return this; 1812 } 1813 /** 1814 * 1815 * 1816 * <pre> 1817 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1818 * </pre> 1819 * 1820 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1821 */ setMetadataFilters( int index, com.google.cloud.compute.v1.MetadataFilter.Builder builderForValue)1822 public Builder setMetadataFilters( 1823 int index, com.google.cloud.compute.v1.MetadataFilter.Builder builderForValue) { 1824 if (metadataFiltersBuilder_ == null) { 1825 ensureMetadataFiltersIsMutable(); 1826 metadataFilters_.set(index, builderForValue.build()); 1827 onChanged(); 1828 } else { 1829 metadataFiltersBuilder_.setMessage(index, builderForValue.build()); 1830 } 1831 return this; 1832 } 1833 /** 1834 * 1835 * 1836 * <pre> 1837 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1838 * </pre> 1839 * 1840 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1841 */ addMetadataFilters(com.google.cloud.compute.v1.MetadataFilter value)1842 public Builder addMetadataFilters(com.google.cloud.compute.v1.MetadataFilter value) { 1843 if (metadataFiltersBuilder_ == null) { 1844 if (value == null) { 1845 throw new NullPointerException(); 1846 } 1847 ensureMetadataFiltersIsMutable(); 1848 metadataFilters_.add(value); 1849 onChanged(); 1850 } else { 1851 metadataFiltersBuilder_.addMessage(value); 1852 } 1853 return this; 1854 } 1855 /** 1856 * 1857 * 1858 * <pre> 1859 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1860 * </pre> 1861 * 1862 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1863 */ addMetadataFilters(int index, com.google.cloud.compute.v1.MetadataFilter value)1864 public Builder addMetadataFilters(int index, com.google.cloud.compute.v1.MetadataFilter value) { 1865 if (metadataFiltersBuilder_ == null) { 1866 if (value == null) { 1867 throw new NullPointerException(); 1868 } 1869 ensureMetadataFiltersIsMutable(); 1870 metadataFilters_.add(index, value); 1871 onChanged(); 1872 } else { 1873 metadataFiltersBuilder_.addMessage(index, value); 1874 } 1875 return this; 1876 } 1877 /** 1878 * 1879 * 1880 * <pre> 1881 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1882 * </pre> 1883 * 1884 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1885 */ addMetadataFilters( com.google.cloud.compute.v1.MetadataFilter.Builder builderForValue)1886 public Builder addMetadataFilters( 1887 com.google.cloud.compute.v1.MetadataFilter.Builder builderForValue) { 1888 if (metadataFiltersBuilder_ == null) { 1889 ensureMetadataFiltersIsMutable(); 1890 metadataFilters_.add(builderForValue.build()); 1891 onChanged(); 1892 } else { 1893 metadataFiltersBuilder_.addMessage(builderForValue.build()); 1894 } 1895 return this; 1896 } 1897 /** 1898 * 1899 * 1900 * <pre> 1901 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1902 * </pre> 1903 * 1904 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1905 */ addMetadataFilters( int index, com.google.cloud.compute.v1.MetadataFilter.Builder builderForValue)1906 public Builder addMetadataFilters( 1907 int index, com.google.cloud.compute.v1.MetadataFilter.Builder builderForValue) { 1908 if (metadataFiltersBuilder_ == null) { 1909 ensureMetadataFiltersIsMutable(); 1910 metadataFilters_.add(index, builderForValue.build()); 1911 onChanged(); 1912 } else { 1913 metadataFiltersBuilder_.addMessage(index, builderForValue.build()); 1914 } 1915 return this; 1916 } 1917 /** 1918 * 1919 * 1920 * <pre> 1921 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1922 * </pre> 1923 * 1924 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1925 */ addAllMetadataFilters( java.lang.Iterable<? extends com.google.cloud.compute.v1.MetadataFilter> values)1926 public Builder addAllMetadataFilters( 1927 java.lang.Iterable<? extends com.google.cloud.compute.v1.MetadataFilter> values) { 1928 if (metadataFiltersBuilder_ == null) { 1929 ensureMetadataFiltersIsMutable(); 1930 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, metadataFilters_); 1931 onChanged(); 1932 } else { 1933 metadataFiltersBuilder_.addAllMessages(values); 1934 } 1935 return this; 1936 } 1937 /** 1938 * 1939 * 1940 * <pre> 1941 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1942 * </pre> 1943 * 1944 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1945 */ clearMetadataFilters()1946 public Builder clearMetadataFilters() { 1947 if (metadataFiltersBuilder_ == null) { 1948 metadataFilters_ = java.util.Collections.emptyList(); 1949 bitField0_ = (bitField0_ & ~0x00000008); 1950 onChanged(); 1951 } else { 1952 metadataFiltersBuilder_.clear(); 1953 } 1954 return this; 1955 } 1956 /** 1957 * 1958 * 1959 * <pre> 1960 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1961 * </pre> 1962 * 1963 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1964 */ removeMetadataFilters(int index)1965 public Builder removeMetadataFilters(int index) { 1966 if (metadataFiltersBuilder_ == null) { 1967 ensureMetadataFiltersIsMutable(); 1968 metadataFilters_.remove(index); 1969 onChanged(); 1970 } else { 1971 metadataFiltersBuilder_.remove(index); 1972 } 1973 return this; 1974 } 1975 /** 1976 * 1977 * 1978 * <pre> 1979 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1980 * </pre> 1981 * 1982 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1983 */ getMetadataFiltersBuilder(int index)1984 public com.google.cloud.compute.v1.MetadataFilter.Builder getMetadataFiltersBuilder(int index) { 1985 return getMetadataFiltersFieldBuilder().getBuilder(index); 1986 } 1987 /** 1988 * 1989 * 1990 * <pre> 1991 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 1992 * </pre> 1993 * 1994 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 1995 */ getMetadataFiltersOrBuilder( int index)1996 public com.google.cloud.compute.v1.MetadataFilterOrBuilder getMetadataFiltersOrBuilder( 1997 int index) { 1998 if (metadataFiltersBuilder_ == null) { 1999 return metadataFilters_.get(index); 2000 } else { 2001 return metadataFiltersBuilder_.getMessageOrBuilder(index); 2002 } 2003 } 2004 /** 2005 * 2006 * 2007 * <pre> 2008 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 2009 * </pre> 2010 * 2011 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 2012 */ 2013 public java.util.List<? extends com.google.cloud.compute.v1.MetadataFilterOrBuilder> getMetadataFiltersOrBuilderList()2014 getMetadataFiltersOrBuilderList() { 2015 if (metadataFiltersBuilder_ != null) { 2016 return metadataFiltersBuilder_.getMessageOrBuilderList(); 2017 } else { 2018 return java.util.Collections.unmodifiableList(metadataFilters_); 2019 } 2020 } 2021 /** 2022 * 2023 * 2024 * <pre> 2025 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 2026 * </pre> 2027 * 2028 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 2029 */ addMetadataFiltersBuilder()2030 public com.google.cloud.compute.v1.MetadataFilter.Builder addMetadataFiltersBuilder() { 2031 return getMetadataFiltersFieldBuilder() 2032 .addBuilder(com.google.cloud.compute.v1.MetadataFilter.getDefaultInstance()); 2033 } 2034 /** 2035 * 2036 * 2037 * <pre> 2038 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 2039 * </pre> 2040 * 2041 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 2042 */ addMetadataFiltersBuilder(int index)2043 public com.google.cloud.compute.v1.MetadataFilter.Builder addMetadataFiltersBuilder(int index) { 2044 return getMetadataFiltersFieldBuilder() 2045 .addBuilder(index, com.google.cloud.compute.v1.MetadataFilter.getDefaultInstance()); 2046 } 2047 /** 2048 * 2049 * 2050 * <pre> 2051 * Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. 2052 * </pre> 2053 * 2054 * <code>repeated .google.cloud.compute.v1.MetadataFilter metadata_filters = 464725739;</code> 2055 */ 2056 public java.util.List<com.google.cloud.compute.v1.MetadataFilter.Builder> getMetadataFiltersBuilderList()2057 getMetadataFiltersBuilderList() { 2058 return getMetadataFiltersFieldBuilder().getBuilderList(); 2059 } 2060 2061 private com.google.protobuf.RepeatedFieldBuilderV3< 2062 com.google.cloud.compute.v1.MetadataFilter, 2063 com.google.cloud.compute.v1.MetadataFilter.Builder, 2064 com.google.cloud.compute.v1.MetadataFilterOrBuilder> getMetadataFiltersFieldBuilder()2065 getMetadataFiltersFieldBuilder() { 2066 if (metadataFiltersBuilder_ == null) { 2067 metadataFiltersBuilder_ = 2068 new com.google.protobuf.RepeatedFieldBuilderV3< 2069 com.google.cloud.compute.v1.MetadataFilter, 2070 com.google.cloud.compute.v1.MetadataFilter.Builder, 2071 com.google.cloud.compute.v1.MetadataFilterOrBuilder>( 2072 metadataFilters_, 2073 ((bitField0_ & 0x00000008) != 0), 2074 getParentForChildren(), 2075 isClean()); 2076 metadataFilters_ = null; 2077 } 2078 return metadataFiltersBuilder_; 2079 } 2080 2081 private java.lang.Object prefixMatch_ = ""; 2082 /** 2083 * 2084 * 2085 * <pre> 2086 * For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 2087 * </pre> 2088 * 2089 * <code>optional string prefix_match = 257898968;</code> 2090 * 2091 * @return Whether the prefixMatch field is set. 2092 */ hasPrefixMatch()2093 public boolean hasPrefixMatch() { 2094 return ((bitField0_ & 0x00000010) != 0); 2095 } 2096 /** 2097 * 2098 * 2099 * <pre> 2100 * For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 2101 * </pre> 2102 * 2103 * <code>optional string prefix_match = 257898968;</code> 2104 * 2105 * @return The prefixMatch. 2106 */ getPrefixMatch()2107 public java.lang.String getPrefixMatch() { 2108 java.lang.Object ref = prefixMatch_; 2109 if (!(ref instanceof java.lang.String)) { 2110 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 2111 java.lang.String s = bs.toStringUtf8(); 2112 prefixMatch_ = s; 2113 return s; 2114 } else { 2115 return (java.lang.String) ref; 2116 } 2117 } 2118 /** 2119 * 2120 * 2121 * <pre> 2122 * For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 2123 * </pre> 2124 * 2125 * <code>optional string prefix_match = 257898968;</code> 2126 * 2127 * @return The bytes for prefixMatch. 2128 */ getPrefixMatchBytes()2129 public com.google.protobuf.ByteString getPrefixMatchBytes() { 2130 java.lang.Object ref = prefixMatch_; 2131 if (ref instanceof String) { 2132 com.google.protobuf.ByteString b = 2133 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 2134 prefixMatch_ = b; 2135 return b; 2136 } else { 2137 return (com.google.protobuf.ByteString) ref; 2138 } 2139 } 2140 /** 2141 * 2142 * 2143 * <pre> 2144 * For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 2145 * </pre> 2146 * 2147 * <code>optional string prefix_match = 257898968;</code> 2148 * 2149 * @param value The prefixMatch to set. 2150 * @return This builder for chaining. 2151 */ setPrefixMatch(java.lang.String value)2152 public Builder setPrefixMatch(java.lang.String value) { 2153 if (value == null) { 2154 throw new NullPointerException(); 2155 } 2156 prefixMatch_ = value; 2157 bitField0_ |= 0x00000010; 2158 onChanged(); 2159 return this; 2160 } 2161 /** 2162 * 2163 * 2164 * <pre> 2165 * For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 2166 * </pre> 2167 * 2168 * <code>optional string prefix_match = 257898968;</code> 2169 * 2170 * @return This builder for chaining. 2171 */ clearPrefixMatch()2172 public Builder clearPrefixMatch() { 2173 prefixMatch_ = getDefaultInstance().getPrefixMatch(); 2174 bitField0_ = (bitField0_ & ~0x00000010); 2175 onChanged(); 2176 return this; 2177 } 2178 /** 2179 * 2180 * 2181 * <pre> 2182 * For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. 2183 * </pre> 2184 * 2185 * <code>optional string prefix_match = 257898968;</code> 2186 * 2187 * @param value The bytes for prefixMatch to set. 2188 * @return This builder for chaining. 2189 */ setPrefixMatchBytes(com.google.protobuf.ByteString value)2190 public Builder setPrefixMatchBytes(com.google.protobuf.ByteString value) { 2191 if (value == null) { 2192 throw new NullPointerException(); 2193 } 2194 checkByteStringIsUtf8(value); 2195 prefixMatch_ = value; 2196 bitField0_ |= 0x00000010; 2197 onChanged(); 2198 return this; 2199 } 2200 2201 private java.util.List<com.google.cloud.compute.v1.HttpQueryParameterMatch> 2202 queryParameterMatches_ = java.util.Collections.emptyList(); 2203 ensureQueryParameterMatchesIsMutable()2204 private void ensureQueryParameterMatchesIsMutable() { 2205 if (!((bitField0_ & 0x00000020) != 0)) { 2206 queryParameterMatches_ = 2207 new java.util.ArrayList<com.google.cloud.compute.v1.HttpQueryParameterMatch>( 2208 queryParameterMatches_); 2209 bitField0_ |= 0x00000020; 2210 } 2211 } 2212 2213 private com.google.protobuf.RepeatedFieldBuilderV3< 2214 com.google.cloud.compute.v1.HttpQueryParameterMatch, 2215 com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder, 2216 com.google.cloud.compute.v1.HttpQueryParameterMatchOrBuilder> 2217 queryParameterMatchesBuilder_; 2218 2219 /** 2220 * 2221 * 2222 * <pre> 2223 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2224 * </pre> 2225 * 2226 * <code> 2227 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2228 * </code> 2229 */ 2230 public java.util.List<com.google.cloud.compute.v1.HttpQueryParameterMatch> getQueryParameterMatchesList()2231 getQueryParameterMatchesList() { 2232 if (queryParameterMatchesBuilder_ == null) { 2233 return java.util.Collections.unmodifiableList(queryParameterMatches_); 2234 } else { 2235 return queryParameterMatchesBuilder_.getMessageList(); 2236 } 2237 } 2238 /** 2239 * 2240 * 2241 * <pre> 2242 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2243 * </pre> 2244 * 2245 * <code> 2246 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2247 * </code> 2248 */ getQueryParameterMatchesCount()2249 public int getQueryParameterMatchesCount() { 2250 if (queryParameterMatchesBuilder_ == null) { 2251 return queryParameterMatches_.size(); 2252 } else { 2253 return queryParameterMatchesBuilder_.getCount(); 2254 } 2255 } 2256 /** 2257 * 2258 * 2259 * <pre> 2260 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2261 * </pre> 2262 * 2263 * <code> 2264 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2265 * </code> 2266 */ getQueryParameterMatches(int index)2267 public com.google.cloud.compute.v1.HttpQueryParameterMatch getQueryParameterMatches(int index) { 2268 if (queryParameterMatchesBuilder_ == null) { 2269 return queryParameterMatches_.get(index); 2270 } else { 2271 return queryParameterMatchesBuilder_.getMessage(index); 2272 } 2273 } 2274 /** 2275 * 2276 * 2277 * <pre> 2278 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2279 * </pre> 2280 * 2281 * <code> 2282 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2283 * </code> 2284 */ setQueryParameterMatches( int index, com.google.cloud.compute.v1.HttpQueryParameterMatch value)2285 public Builder setQueryParameterMatches( 2286 int index, com.google.cloud.compute.v1.HttpQueryParameterMatch value) { 2287 if (queryParameterMatchesBuilder_ == null) { 2288 if (value == null) { 2289 throw new NullPointerException(); 2290 } 2291 ensureQueryParameterMatchesIsMutable(); 2292 queryParameterMatches_.set(index, value); 2293 onChanged(); 2294 } else { 2295 queryParameterMatchesBuilder_.setMessage(index, value); 2296 } 2297 return this; 2298 } 2299 /** 2300 * 2301 * 2302 * <pre> 2303 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2304 * </pre> 2305 * 2306 * <code> 2307 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2308 * </code> 2309 */ setQueryParameterMatches( int index, com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder builderForValue)2310 public Builder setQueryParameterMatches( 2311 int index, com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder builderForValue) { 2312 if (queryParameterMatchesBuilder_ == null) { 2313 ensureQueryParameterMatchesIsMutable(); 2314 queryParameterMatches_.set(index, builderForValue.build()); 2315 onChanged(); 2316 } else { 2317 queryParameterMatchesBuilder_.setMessage(index, builderForValue.build()); 2318 } 2319 return this; 2320 } 2321 /** 2322 * 2323 * 2324 * <pre> 2325 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2326 * </pre> 2327 * 2328 * <code> 2329 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2330 * </code> 2331 */ addQueryParameterMatches( com.google.cloud.compute.v1.HttpQueryParameterMatch value)2332 public Builder addQueryParameterMatches( 2333 com.google.cloud.compute.v1.HttpQueryParameterMatch value) { 2334 if (queryParameterMatchesBuilder_ == null) { 2335 if (value == null) { 2336 throw new NullPointerException(); 2337 } 2338 ensureQueryParameterMatchesIsMutable(); 2339 queryParameterMatches_.add(value); 2340 onChanged(); 2341 } else { 2342 queryParameterMatchesBuilder_.addMessage(value); 2343 } 2344 return this; 2345 } 2346 /** 2347 * 2348 * 2349 * <pre> 2350 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2351 * </pre> 2352 * 2353 * <code> 2354 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2355 * </code> 2356 */ addQueryParameterMatches( int index, com.google.cloud.compute.v1.HttpQueryParameterMatch value)2357 public Builder addQueryParameterMatches( 2358 int index, com.google.cloud.compute.v1.HttpQueryParameterMatch value) { 2359 if (queryParameterMatchesBuilder_ == null) { 2360 if (value == null) { 2361 throw new NullPointerException(); 2362 } 2363 ensureQueryParameterMatchesIsMutable(); 2364 queryParameterMatches_.add(index, value); 2365 onChanged(); 2366 } else { 2367 queryParameterMatchesBuilder_.addMessage(index, value); 2368 } 2369 return this; 2370 } 2371 /** 2372 * 2373 * 2374 * <pre> 2375 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2376 * </pre> 2377 * 2378 * <code> 2379 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2380 * </code> 2381 */ addQueryParameterMatches( com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder builderForValue)2382 public Builder addQueryParameterMatches( 2383 com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder builderForValue) { 2384 if (queryParameterMatchesBuilder_ == null) { 2385 ensureQueryParameterMatchesIsMutable(); 2386 queryParameterMatches_.add(builderForValue.build()); 2387 onChanged(); 2388 } else { 2389 queryParameterMatchesBuilder_.addMessage(builderForValue.build()); 2390 } 2391 return this; 2392 } 2393 /** 2394 * 2395 * 2396 * <pre> 2397 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2398 * </pre> 2399 * 2400 * <code> 2401 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2402 * </code> 2403 */ addQueryParameterMatches( int index, com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder builderForValue)2404 public Builder addQueryParameterMatches( 2405 int index, com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder builderForValue) { 2406 if (queryParameterMatchesBuilder_ == null) { 2407 ensureQueryParameterMatchesIsMutable(); 2408 queryParameterMatches_.add(index, builderForValue.build()); 2409 onChanged(); 2410 } else { 2411 queryParameterMatchesBuilder_.addMessage(index, builderForValue.build()); 2412 } 2413 return this; 2414 } 2415 /** 2416 * 2417 * 2418 * <pre> 2419 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2420 * </pre> 2421 * 2422 * <code> 2423 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2424 * </code> 2425 */ addAllQueryParameterMatches( java.lang.Iterable<? extends com.google.cloud.compute.v1.HttpQueryParameterMatch> values)2426 public Builder addAllQueryParameterMatches( 2427 java.lang.Iterable<? extends com.google.cloud.compute.v1.HttpQueryParameterMatch> values) { 2428 if (queryParameterMatchesBuilder_ == null) { 2429 ensureQueryParameterMatchesIsMutable(); 2430 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, queryParameterMatches_); 2431 onChanged(); 2432 } else { 2433 queryParameterMatchesBuilder_.addAllMessages(values); 2434 } 2435 return this; 2436 } 2437 /** 2438 * 2439 * 2440 * <pre> 2441 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2442 * </pre> 2443 * 2444 * <code> 2445 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2446 * </code> 2447 */ clearQueryParameterMatches()2448 public Builder clearQueryParameterMatches() { 2449 if (queryParameterMatchesBuilder_ == null) { 2450 queryParameterMatches_ = java.util.Collections.emptyList(); 2451 bitField0_ = (bitField0_ & ~0x00000020); 2452 onChanged(); 2453 } else { 2454 queryParameterMatchesBuilder_.clear(); 2455 } 2456 return this; 2457 } 2458 /** 2459 * 2460 * 2461 * <pre> 2462 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2463 * </pre> 2464 * 2465 * <code> 2466 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2467 * </code> 2468 */ removeQueryParameterMatches(int index)2469 public Builder removeQueryParameterMatches(int index) { 2470 if (queryParameterMatchesBuilder_ == null) { 2471 ensureQueryParameterMatchesIsMutable(); 2472 queryParameterMatches_.remove(index); 2473 onChanged(); 2474 } else { 2475 queryParameterMatchesBuilder_.remove(index); 2476 } 2477 return this; 2478 } 2479 /** 2480 * 2481 * 2482 * <pre> 2483 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2484 * </pre> 2485 * 2486 * <code> 2487 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2488 * </code> 2489 */ 2490 public com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder getQueryParameterMatchesBuilder(int index)2491 getQueryParameterMatchesBuilder(int index) { 2492 return getQueryParameterMatchesFieldBuilder().getBuilder(index); 2493 } 2494 /** 2495 * 2496 * 2497 * <pre> 2498 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2499 * </pre> 2500 * 2501 * <code> 2502 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2503 * </code> 2504 */ 2505 public com.google.cloud.compute.v1.HttpQueryParameterMatchOrBuilder getQueryParameterMatchesOrBuilder(int index)2506 getQueryParameterMatchesOrBuilder(int index) { 2507 if (queryParameterMatchesBuilder_ == null) { 2508 return queryParameterMatches_.get(index); 2509 } else { 2510 return queryParameterMatchesBuilder_.getMessageOrBuilder(index); 2511 } 2512 } 2513 /** 2514 * 2515 * 2516 * <pre> 2517 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2518 * </pre> 2519 * 2520 * <code> 2521 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2522 * </code> 2523 */ 2524 public java.util.List<? extends com.google.cloud.compute.v1.HttpQueryParameterMatchOrBuilder> getQueryParameterMatchesOrBuilderList()2525 getQueryParameterMatchesOrBuilderList() { 2526 if (queryParameterMatchesBuilder_ != null) { 2527 return queryParameterMatchesBuilder_.getMessageOrBuilderList(); 2528 } else { 2529 return java.util.Collections.unmodifiableList(queryParameterMatches_); 2530 } 2531 } 2532 /** 2533 * 2534 * 2535 * <pre> 2536 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2537 * </pre> 2538 * 2539 * <code> 2540 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2541 * </code> 2542 */ 2543 public com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder addQueryParameterMatchesBuilder()2544 addQueryParameterMatchesBuilder() { 2545 return getQueryParameterMatchesFieldBuilder() 2546 .addBuilder(com.google.cloud.compute.v1.HttpQueryParameterMatch.getDefaultInstance()); 2547 } 2548 /** 2549 * 2550 * 2551 * <pre> 2552 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2553 * </pre> 2554 * 2555 * <code> 2556 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2557 * </code> 2558 */ 2559 public com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder addQueryParameterMatchesBuilder(int index)2560 addQueryParameterMatchesBuilder(int index) { 2561 return getQueryParameterMatchesFieldBuilder() 2562 .addBuilder( 2563 index, com.google.cloud.compute.v1.HttpQueryParameterMatch.getDefaultInstance()); 2564 } 2565 /** 2566 * 2567 * 2568 * <pre> 2569 * Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. 2570 * </pre> 2571 * 2572 * <code> 2573 * repeated .google.cloud.compute.v1.HttpQueryParameterMatch query_parameter_matches = 286231270; 2574 * </code> 2575 */ 2576 public java.util.List<com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder> getQueryParameterMatchesBuilderList()2577 getQueryParameterMatchesBuilderList() { 2578 return getQueryParameterMatchesFieldBuilder().getBuilderList(); 2579 } 2580 2581 private com.google.protobuf.RepeatedFieldBuilderV3< 2582 com.google.cloud.compute.v1.HttpQueryParameterMatch, 2583 com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder, 2584 com.google.cloud.compute.v1.HttpQueryParameterMatchOrBuilder> getQueryParameterMatchesFieldBuilder()2585 getQueryParameterMatchesFieldBuilder() { 2586 if (queryParameterMatchesBuilder_ == null) { 2587 queryParameterMatchesBuilder_ = 2588 new com.google.protobuf.RepeatedFieldBuilderV3< 2589 com.google.cloud.compute.v1.HttpQueryParameterMatch, 2590 com.google.cloud.compute.v1.HttpQueryParameterMatch.Builder, 2591 com.google.cloud.compute.v1.HttpQueryParameterMatchOrBuilder>( 2592 queryParameterMatches_, 2593 ((bitField0_ & 0x00000020) != 0), 2594 getParentForChildren(), 2595 isClean()); 2596 queryParameterMatches_ = null; 2597 } 2598 return queryParameterMatchesBuilder_; 2599 } 2600 2601 private java.lang.Object regexMatch_ = ""; 2602 /** 2603 * 2604 * 2605 * <pre> 2606 * For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. 2607 * </pre> 2608 * 2609 * <code>optional string regex_match = 107387853;</code> 2610 * 2611 * @return Whether the regexMatch field is set. 2612 */ hasRegexMatch()2613 public boolean hasRegexMatch() { 2614 return ((bitField0_ & 0x00000040) != 0); 2615 } 2616 /** 2617 * 2618 * 2619 * <pre> 2620 * For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. 2621 * </pre> 2622 * 2623 * <code>optional string regex_match = 107387853;</code> 2624 * 2625 * @return The regexMatch. 2626 */ getRegexMatch()2627 public java.lang.String getRegexMatch() { 2628 java.lang.Object ref = regexMatch_; 2629 if (!(ref instanceof java.lang.String)) { 2630 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 2631 java.lang.String s = bs.toStringUtf8(); 2632 regexMatch_ = s; 2633 return s; 2634 } else { 2635 return (java.lang.String) ref; 2636 } 2637 } 2638 /** 2639 * 2640 * 2641 * <pre> 2642 * For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. 2643 * </pre> 2644 * 2645 * <code>optional string regex_match = 107387853;</code> 2646 * 2647 * @return The bytes for regexMatch. 2648 */ getRegexMatchBytes()2649 public com.google.protobuf.ByteString getRegexMatchBytes() { 2650 java.lang.Object ref = regexMatch_; 2651 if (ref instanceof String) { 2652 com.google.protobuf.ByteString b = 2653 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 2654 regexMatch_ = b; 2655 return b; 2656 } else { 2657 return (com.google.protobuf.ByteString) ref; 2658 } 2659 } 2660 /** 2661 * 2662 * 2663 * <pre> 2664 * For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. 2665 * </pre> 2666 * 2667 * <code>optional string regex_match = 107387853;</code> 2668 * 2669 * @param value The regexMatch to set. 2670 * @return This builder for chaining. 2671 */ setRegexMatch(java.lang.String value)2672 public Builder setRegexMatch(java.lang.String value) { 2673 if (value == null) { 2674 throw new NullPointerException(); 2675 } 2676 regexMatch_ = value; 2677 bitField0_ |= 0x00000040; 2678 onChanged(); 2679 return this; 2680 } 2681 /** 2682 * 2683 * 2684 * <pre> 2685 * For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. 2686 * </pre> 2687 * 2688 * <code>optional string regex_match = 107387853;</code> 2689 * 2690 * @return This builder for chaining. 2691 */ clearRegexMatch()2692 public Builder clearRegexMatch() { 2693 regexMatch_ = getDefaultInstance().getRegexMatch(); 2694 bitField0_ = (bitField0_ & ~0x00000040); 2695 onChanged(); 2696 return this; 2697 } 2698 /** 2699 * 2700 * 2701 * <pre> 2702 * For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. 2703 * </pre> 2704 * 2705 * <code>optional string regex_match = 107387853;</code> 2706 * 2707 * @param value The bytes for regexMatch to set. 2708 * @return This builder for chaining. 2709 */ setRegexMatchBytes(com.google.protobuf.ByteString value)2710 public Builder setRegexMatchBytes(com.google.protobuf.ByteString value) { 2711 if (value == null) { 2712 throw new NullPointerException(); 2713 } 2714 checkByteStringIsUtf8(value); 2715 regexMatch_ = value; 2716 bitField0_ |= 0x00000040; 2717 onChanged(); 2718 return this; 2719 } 2720 2721 @java.lang.Override setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)2722 public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { 2723 return super.setUnknownFields(unknownFields); 2724 } 2725 2726 @java.lang.Override mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2727 public final Builder mergeUnknownFields( 2728 final com.google.protobuf.UnknownFieldSet unknownFields) { 2729 return super.mergeUnknownFields(unknownFields); 2730 } 2731 2732 // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.HttpRouteRuleMatch) 2733 } 2734 2735 // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.HttpRouteRuleMatch) 2736 private static final com.google.cloud.compute.v1.HttpRouteRuleMatch DEFAULT_INSTANCE; 2737 2738 static { 2739 DEFAULT_INSTANCE = new com.google.cloud.compute.v1.HttpRouteRuleMatch(); 2740 } 2741 getDefaultInstance()2742 public static com.google.cloud.compute.v1.HttpRouteRuleMatch getDefaultInstance() { 2743 return DEFAULT_INSTANCE; 2744 } 2745 2746 private static final com.google.protobuf.Parser<HttpRouteRuleMatch> PARSER = 2747 new com.google.protobuf.AbstractParser<HttpRouteRuleMatch>() { 2748 @java.lang.Override 2749 public HttpRouteRuleMatch parsePartialFrom( 2750 com.google.protobuf.CodedInputStream input, 2751 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 2752 throws com.google.protobuf.InvalidProtocolBufferException { 2753 Builder builder = newBuilder(); 2754 try { 2755 builder.mergeFrom(input, extensionRegistry); 2756 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 2757 throw e.setUnfinishedMessage(builder.buildPartial()); 2758 } catch (com.google.protobuf.UninitializedMessageException e) { 2759 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); 2760 } catch (java.io.IOException e) { 2761 throw new com.google.protobuf.InvalidProtocolBufferException(e) 2762 .setUnfinishedMessage(builder.buildPartial()); 2763 } 2764 return builder.buildPartial(); 2765 } 2766 }; 2767 parser()2768 public static com.google.protobuf.Parser<HttpRouteRuleMatch> parser() { 2769 return PARSER; 2770 } 2771 2772 @java.lang.Override getParserForType()2773 public com.google.protobuf.Parser<HttpRouteRuleMatch> getParserForType() { 2774 return PARSER; 2775 } 2776 2777 @java.lang.Override getDefaultInstanceForType()2778 public com.google.cloud.compute.v1.HttpRouteRuleMatch getDefaultInstanceForType() { 2779 return DEFAULT_INSTANCE; 2780 } 2781 } 2782