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

istio.networking.v1alpha3.VirtualServiceOuterClass Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: networking/v1alpha3/virtual_service.proto

package istio.networking.v1alpha3;

public final class VirtualServiceOuterClass {
  private VirtualServiceOuterClass() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface VirtualServiceOrBuilder extends
      // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.VirtualService)
      com.google.protobuf.MessageOrBuilder {

    /**
     * 
     * The destination hosts to which traffic is being sent. Could
     * be a DNS name with wildcard prefix or an IP address.  Depending on the
     * platform, short-names can also be used instead of a FQDN (i.e. has no
     * dots in the name). In such a scenario, the FQDN of the host would be
     * derived based on the underlying platform.
     * A single VirtualService can be used to describe all the traffic
     * properties of the corresponding hosts, including those for multiple
     * HTTP and TCP ports. Alternatively, the traffic properties of a host
     * can be defined using more than one VirtualService, with certain
     * caveats. Refer to the
     * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
     * for details.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews" will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. _To avoid
     * potential misconfigurations, it is recommended to always use fully
     * qualified domain names over short names._
     * The hosts field applies to both HTTP and TCP services. Service inside
     * the mesh, i.e., those found in the service registry, must always be
     * referred to using their alphanumeric names. IP addresses are allowed
     * only for services defined via the Gateway.
     * *Note*: It must be empty for a delegate VirtualService.
     * 
* * repeated string hosts = 1; * @return A list containing the hosts. */ java.util.List getHostsList(); /** *
     * The destination hosts to which traffic is being sent. Could
     * be a DNS name with wildcard prefix or an IP address.  Depending on the
     * platform, short-names can also be used instead of a FQDN (i.e. has no
     * dots in the name). In such a scenario, the FQDN of the host would be
     * derived based on the underlying platform.
     * A single VirtualService can be used to describe all the traffic
     * properties of the corresponding hosts, including those for multiple
     * HTTP and TCP ports. Alternatively, the traffic properties of a host
     * can be defined using more than one VirtualService, with certain
     * caveats. Refer to the
     * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
     * for details.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews" will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. _To avoid
     * potential misconfigurations, it is recommended to always use fully
     * qualified domain names over short names._
     * The hosts field applies to both HTTP and TCP services. Service inside
     * the mesh, i.e., those found in the service registry, must always be
     * referred to using their alphanumeric names. IP addresses are allowed
     * only for services defined via the Gateway.
     * *Note*: It must be empty for a delegate VirtualService.
     * 
* * repeated string hosts = 1; * @return The count of hosts. */ int getHostsCount(); /** *
     * The destination hosts to which traffic is being sent. Could
     * be a DNS name with wildcard prefix or an IP address.  Depending on the
     * platform, short-names can also be used instead of a FQDN (i.e. has no
     * dots in the name). In such a scenario, the FQDN of the host would be
     * derived based on the underlying platform.
     * A single VirtualService can be used to describe all the traffic
     * properties of the corresponding hosts, including those for multiple
     * HTTP and TCP ports. Alternatively, the traffic properties of a host
     * can be defined using more than one VirtualService, with certain
     * caveats. Refer to the
     * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
     * for details.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews" will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. _To avoid
     * potential misconfigurations, it is recommended to always use fully
     * qualified domain names over short names._
     * The hosts field applies to both HTTP and TCP services. Service inside
     * the mesh, i.e., those found in the service registry, must always be
     * referred to using their alphanumeric names. IP addresses are allowed
     * only for services defined via the Gateway.
     * *Note*: It must be empty for a delegate VirtualService.
     * 
* * repeated string hosts = 1; * @param index The index of the element to return. * @return The hosts at the given index. */ java.lang.String getHosts(int index); /** *
     * The destination hosts to which traffic is being sent. Could
     * be a DNS name with wildcard prefix or an IP address.  Depending on the
     * platform, short-names can also be used instead of a FQDN (i.e. has no
     * dots in the name). In such a scenario, the FQDN of the host would be
     * derived based on the underlying platform.
     * A single VirtualService can be used to describe all the traffic
     * properties of the corresponding hosts, including those for multiple
     * HTTP and TCP ports. Alternatively, the traffic properties of a host
     * can be defined using more than one VirtualService, with certain
     * caveats. Refer to the
     * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
     * for details.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews" will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. _To avoid
     * potential misconfigurations, it is recommended to always use fully
     * qualified domain names over short names._
     * The hosts field applies to both HTTP and TCP services. Service inside
     * the mesh, i.e., those found in the service registry, must always be
     * referred to using their alphanumeric names. IP addresses are allowed
     * only for services defined via the Gateway.
     * *Note*: It must be empty for a delegate VirtualService.
     * 
* * repeated string hosts = 1; * @param index The index of the value to return. * @return The bytes of the hosts at the given index. */ com.google.protobuf.ByteString getHostsBytes(int index); /** *
     * The names of gateways and sidecars that should apply these routes.
     * Gateways in other namespaces may be referred to by
     * `<gateway namespace>/<gateway name>`; specifying a gateway with no
     * namespace qualifier is the same as specifying the VirtualService's
     * namespace. A single VirtualService is used for sidecars inside the mesh as
     * well as for one or more gateways. The selection condition imposed by this
     * field can be overridden using the source field in the match conditions
     * of protocol-specific routes. The reserved word `mesh` is used to imply
     * all the sidecars in the mesh. When this field is omitted, the default
     * gateway (`mesh`) will be used, which would apply the rule to all
     * sidecars in the mesh. If a list of gateway names is provided, the
     * rules will apply only to the gateways. To apply the rules to both
     * gateways and sidecars, specify `mesh` as one of the gateway names.
     * 
* * repeated string gateways = 2; * @return A list containing the gateways. */ java.util.List getGatewaysList(); /** *
     * The names of gateways and sidecars that should apply these routes.
     * Gateways in other namespaces may be referred to by
     * `<gateway namespace>/<gateway name>`; specifying a gateway with no
     * namespace qualifier is the same as specifying the VirtualService's
     * namespace. A single VirtualService is used for sidecars inside the mesh as
     * well as for one or more gateways. The selection condition imposed by this
     * field can be overridden using the source field in the match conditions
     * of protocol-specific routes. The reserved word `mesh` is used to imply
     * all the sidecars in the mesh. When this field is omitted, the default
     * gateway (`mesh`) will be used, which would apply the rule to all
     * sidecars in the mesh. If a list of gateway names is provided, the
     * rules will apply only to the gateways. To apply the rules to both
     * gateways and sidecars, specify `mesh` as one of the gateway names.
     * 
* * repeated string gateways = 2; * @return The count of gateways. */ int getGatewaysCount(); /** *
     * The names of gateways and sidecars that should apply these routes.
     * Gateways in other namespaces may be referred to by
     * `<gateway namespace>/<gateway name>`; specifying a gateway with no
     * namespace qualifier is the same as specifying the VirtualService's
     * namespace. A single VirtualService is used for sidecars inside the mesh as
     * well as for one or more gateways. The selection condition imposed by this
     * field can be overridden using the source field in the match conditions
     * of protocol-specific routes. The reserved word `mesh` is used to imply
     * all the sidecars in the mesh. When this field is omitted, the default
     * gateway (`mesh`) will be used, which would apply the rule to all
     * sidecars in the mesh. If a list of gateway names is provided, the
     * rules will apply only to the gateways. To apply the rules to both
     * gateways and sidecars, specify `mesh` as one of the gateway names.
     * 
* * repeated string gateways = 2; * @param index The index of the element to return. * @return The gateways at the given index. */ java.lang.String getGateways(int index); /** *
     * The names of gateways and sidecars that should apply these routes.
     * Gateways in other namespaces may be referred to by
     * `<gateway namespace>/<gateway name>`; specifying a gateway with no
     * namespace qualifier is the same as specifying the VirtualService's
     * namespace. A single VirtualService is used for sidecars inside the mesh as
     * well as for one or more gateways. The selection condition imposed by this
     * field can be overridden using the source field in the match conditions
     * of protocol-specific routes. The reserved word `mesh` is used to imply
     * all the sidecars in the mesh. When this field is omitted, the default
     * gateway (`mesh`) will be used, which would apply the rule to all
     * sidecars in the mesh. If a list of gateway names is provided, the
     * rules will apply only to the gateways. To apply the rules to both
     * gateways and sidecars, specify `mesh` as one of the gateway names.
     * 
* * repeated string gateways = 2; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ com.google.protobuf.ByteString getGatewaysBytes(int index); /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ java.util.List getHttpList(); /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute getHttp(int index); /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ int getHttpCount(); /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ java.util.List getHttpOrBuilderList(); /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteOrBuilder getHttpOrBuilder( int index); /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ java.util.List getTlsList(); /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute getTls(int index); /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ int getTlsCount(); /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ java.util.List getTlsOrBuilderList(); /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRouteOrBuilder getTlsOrBuilder( int index); /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ java.util.List getTcpList(); /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute getTcp(int index); /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ int getTcpCount(); /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ java.util.List getTcpOrBuilderList(); /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRouteOrBuilder getTcpOrBuilder( int index); /** *
     * A list of namespaces to which this virtual service is exported. Exporting a
     * virtual service allows it to be used by sidecars and gateways defined in
     * other namespaces. This feature provides a mechanism for service owners
     * and mesh administrators to control the visibility of virtual services
     * across namespace boundaries.
     * If no namespaces are specified then the virtual service is exported to all
     * namespaces by default.
     * The value "." is reserved and defines an export to the same namespace that
     * the virtual service is declared in. Similarly the value "*" is reserved and
     * defines an export to all namespaces.
     * NOTE: in the current release, the `exportTo` value is restricted to
     * "." or "*" (i.e., the current namespace or all namespaces).
     * 
* * repeated string export_to = 6; * @return A list containing the exportTo. */ java.util.List getExportToList(); /** *
     * A list of namespaces to which this virtual service is exported. Exporting a
     * virtual service allows it to be used by sidecars and gateways defined in
     * other namespaces. This feature provides a mechanism for service owners
     * and mesh administrators to control the visibility of virtual services
     * across namespace boundaries.
     * If no namespaces are specified then the virtual service is exported to all
     * namespaces by default.
     * The value "." is reserved and defines an export to the same namespace that
     * the virtual service is declared in. Similarly the value "*" is reserved and
     * defines an export to all namespaces.
     * NOTE: in the current release, the `exportTo` value is restricted to
     * "." or "*" (i.e., the current namespace or all namespaces).
     * 
* * repeated string export_to = 6; * @return The count of exportTo. */ int getExportToCount(); /** *
     * A list of namespaces to which this virtual service is exported. Exporting a
     * virtual service allows it to be used by sidecars and gateways defined in
     * other namespaces. This feature provides a mechanism for service owners
     * and mesh administrators to control the visibility of virtual services
     * across namespace boundaries.
     * If no namespaces are specified then the virtual service is exported to all
     * namespaces by default.
     * The value "." is reserved and defines an export to the same namespace that
     * the virtual service is declared in. Similarly the value "*" is reserved and
     * defines an export to all namespaces.
     * NOTE: in the current release, the `exportTo` value is restricted to
     * "." or "*" (i.e., the current namespace or all namespaces).
     * 
* * repeated string export_to = 6; * @param index The index of the element to return. * @return The exportTo at the given index. */ java.lang.String getExportTo(int index); /** *
     * A list of namespaces to which this virtual service is exported. Exporting a
     * virtual service allows it to be used by sidecars and gateways defined in
     * other namespaces. This feature provides a mechanism for service owners
     * and mesh administrators to control the visibility of virtual services
     * across namespace boundaries.
     * If no namespaces are specified then the virtual service is exported to all
     * namespaces by default.
     * The value "." is reserved and defines an export to the same namespace that
     * the virtual service is declared in. Similarly the value "*" is reserved and
     * defines an export to all namespaces.
     * NOTE: in the current release, the `exportTo` value is restricted to
     * "." or "*" (i.e., the current namespace or all namespaces).
     * 
* * repeated string export_to = 6; * @param index The index of the value to return. * @return The bytes of the exportTo at the given index. */ com.google.protobuf.ByteString getExportToBytes(int index); } /** *
   * Configuration affecting traffic routing.
   * <!-- crd generation tags
   * +cue-gen:VirtualService:groupName:networking.istio.io
   * +cue-gen:VirtualService:version:v1alpha3
   * +cue-gen:VirtualService:storageVersion
   * +cue-gen:VirtualService:annotations:helm.sh/resource-policy=keep
   * +cue-gen:VirtualService:labels:app=istio-pilot,chart=istio,heritage=Tiller,release=istio
   * +cue-gen:VirtualService:subresource:status
   * +cue-gen:VirtualService:scope:Namespaced
   * +cue-gen:VirtualService:resource:categories=istio-io,networking-istio-io,shortNames=vs
   * +cue-gen:VirtualService:printerColumn:name=Gateways,type=string,JSONPath=.spec.gateways,description="The names of gateways and sidecars 
   * that should apply these routes"
   * +cue-gen:VirtualService:printerColumn:name=Hosts,type=string,JSONPath=.spec.hosts,description="The destination hosts to which traffic is being sent"
   * +cue-gen:VirtualService:printerColumn:name=Age,type=date,JSONPath=.metadata.creationTimestamp,description="CreationTimestamp is a timestamp 
   * representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. 
   * Clients may not set this value. It is represented in RFC3339 form and is in UTC.
   * Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata"
   * +cue-gen:VirtualService:preserveUnknownFields:false
   * -->
   * <!-- go code generation tags
   * +kubetype-gen
   * +kubetype-gen:groupVersion=networking.istio.io/v1alpha3
   * +genclient
   * +k8s:deepcopy-gen=true
   * -->
   * 
* * Protobuf type {@code istio.networking.v1alpha3.VirtualService} */ public static final class VirtualService extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.VirtualService) VirtualServiceOrBuilder { private static final long serialVersionUID = 0L; // Use VirtualService.newBuilder() to construct. private VirtualService(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private VirtualService() { hosts_ = com.google.protobuf.LazyStringArrayList.EMPTY; gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; http_ = java.util.Collections.emptyList(); tls_ = java.util.Collections.emptyList(); tcp_ = java.util.Collections.emptyList(); exportTo_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new VirtualService(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private VirtualService( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { hosts_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000001; } hosts_.add(s); break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000002) != 0)) { gateways_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000002; } gateways_.add(s); break; } case 26: { if (!((mutable_bitField0_ & 0x00000004) != 0)) { http_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000004; } http_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.parser(), extensionRegistry)); break; } case 34: { if (!((mutable_bitField0_ & 0x00000010) != 0)) { tcp_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000010; } tcp_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.parser(), extensionRegistry)); break; } case 42: { if (!((mutable_bitField0_ & 0x00000008) != 0)) { tls_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000008; } tls_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.parser(), extensionRegistry)); break; } case 50: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000020) != 0)) { exportTo_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000020; } exportTo_.add(s); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { hosts_ = hosts_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000002) != 0)) { gateways_ = gateways_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000004) != 0)) { http_ = java.util.Collections.unmodifiableList(http_); } if (((mutable_bitField0_ & 0x00000010) != 0)) { tcp_ = java.util.Collections.unmodifiableList(tcp_); } if (((mutable_bitField0_ & 0x00000008) != 0)) { tls_ = java.util.Collections.unmodifiableList(tls_); } if (((mutable_bitField0_ & 0x00000020) != 0)) { exportTo_ = exportTo_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_VirtualService_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_VirtualService_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService.class, istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService.Builder.class); } public static final int HOSTS_FIELD_NUMBER = 1; private com.google.protobuf.LazyStringList hosts_; /** *
     * The destination hosts to which traffic is being sent. Could
     * be a DNS name with wildcard prefix or an IP address.  Depending on the
     * platform, short-names can also be used instead of a FQDN (i.e. has no
     * dots in the name). In such a scenario, the FQDN of the host would be
     * derived based on the underlying platform.
     * A single VirtualService can be used to describe all the traffic
     * properties of the corresponding hosts, including those for multiple
     * HTTP and TCP ports. Alternatively, the traffic properties of a host
     * can be defined using more than one VirtualService, with certain
     * caveats. Refer to the
     * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
     * for details.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews" will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. _To avoid
     * potential misconfigurations, it is recommended to always use fully
     * qualified domain names over short names._
     * The hosts field applies to both HTTP and TCP services. Service inside
     * the mesh, i.e., those found in the service registry, must always be
     * referred to using their alphanumeric names. IP addresses are allowed
     * only for services defined via the Gateway.
     * *Note*: It must be empty for a delegate VirtualService.
     * 
* * repeated string hosts = 1; * @return A list containing the hosts. */ public com.google.protobuf.ProtocolStringList getHostsList() { return hosts_; } /** *
     * The destination hosts to which traffic is being sent. Could
     * be a DNS name with wildcard prefix or an IP address.  Depending on the
     * platform, short-names can also be used instead of a FQDN (i.e. has no
     * dots in the name). In such a scenario, the FQDN of the host would be
     * derived based on the underlying platform.
     * A single VirtualService can be used to describe all the traffic
     * properties of the corresponding hosts, including those for multiple
     * HTTP and TCP ports. Alternatively, the traffic properties of a host
     * can be defined using more than one VirtualService, with certain
     * caveats. Refer to the
     * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
     * for details.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews" will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. _To avoid
     * potential misconfigurations, it is recommended to always use fully
     * qualified domain names over short names._
     * The hosts field applies to both HTTP and TCP services. Service inside
     * the mesh, i.e., those found in the service registry, must always be
     * referred to using their alphanumeric names. IP addresses are allowed
     * only for services defined via the Gateway.
     * *Note*: It must be empty for a delegate VirtualService.
     * 
* * repeated string hosts = 1; * @return The count of hosts. */ public int getHostsCount() { return hosts_.size(); } /** *
     * The destination hosts to which traffic is being sent. Could
     * be a DNS name with wildcard prefix or an IP address.  Depending on the
     * platform, short-names can also be used instead of a FQDN (i.e. has no
     * dots in the name). In such a scenario, the FQDN of the host would be
     * derived based on the underlying platform.
     * A single VirtualService can be used to describe all the traffic
     * properties of the corresponding hosts, including those for multiple
     * HTTP and TCP ports. Alternatively, the traffic properties of a host
     * can be defined using more than one VirtualService, with certain
     * caveats. Refer to the
     * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
     * for details.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews" will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. _To avoid
     * potential misconfigurations, it is recommended to always use fully
     * qualified domain names over short names._
     * The hosts field applies to both HTTP and TCP services. Service inside
     * the mesh, i.e., those found in the service registry, must always be
     * referred to using their alphanumeric names. IP addresses are allowed
     * only for services defined via the Gateway.
     * *Note*: It must be empty for a delegate VirtualService.
     * 
* * repeated string hosts = 1; * @param index The index of the element to return. * @return The hosts at the given index. */ public java.lang.String getHosts(int index) { return hosts_.get(index); } /** *
     * The destination hosts to which traffic is being sent. Could
     * be a DNS name with wildcard prefix or an IP address.  Depending on the
     * platform, short-names can also be used instead of a FQDN (i.e. has no
     * dots in the name). In such a scenario, the FQDN of the host would be
     * derived based on the underlying platform.
     * A single VirtualService can be used to describe all the traffic
     * properties of the corresponding hosts, including those for multiple
     * HTTP and TCP ports. Alternatively, the traffic properties of a host
     * can be defined using more than one VirtualService, with certain
     * caveats. Refer to the
     * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
     * for details.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews" will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. _To avoid
     * potential misconfigurations, it is recommended to always use fully
     * qualified domain names over short names._
     * The hosts field applies to both HTTP and TCP services. Service inside
     * the mesh, i.e., those found in the service registry, must always be
     * referred to using their alphanumeric names. IP addresses are allowed
     * only for services defined via the Gateway.
     * *Note*: It must be empty for a delegate VirtualService.
     * 
* * repeated string hosts = 1; * @param index The index of the value to return. * @return The bytes of the hosts at the given index. */ public com.google.protobuf.ByteString getHostsBytes(int index) { return hosts_.getByteString(index); } public static final int GATEWAYS_FIELD_NUMBER = 2; private com.google.protobuf.LazyStringList gateways_; /** *
     * The names of gateways and sidecars that should apply these routes.
     * Gateways in other namespaces may be referred to by
     * `<gateway namespace>/<gateway name>`; specifying a gateway with no
     * namespace qualifier is the same as specifying the VirtualService's
     * namespace. A single VirtualService is used for sidecars inside the mesh as
     * well as for one or more gateways. The selection condition imposed by this
     * field can be overridden using the source field in the match conditions
     * of protocol-specific routes. The reserved word `mesh` is used to imply
     * all the sidecars in the mesh. When this field is omitted, the default
     * gateway (`mesh`) will be used, which would apply the rule to all
     * sidecars in the mesh. If a list of gateway names is provided, the
     * rules will apply only to the gateways. To apply the rules to both
     * gateways and sidecars, specify `mesh` as one of the gateway names.
     * 
* * repeated string gateways = 2; * @return A list containing the gateways. */ public com.google.protobuf.ProtocolStringList getGatewaysList() { return gateways_; } /** *
     * The names of gateways and sidecars that should apply these routes.
     * Gateways in other namespaces may be referred to by
     * `<gateway namespace>/<gateway name>`; specifying a gateway with no
     * namespace qualifier is the same as specifying the VirtualService's
     * namespace. A single VirtualService is used for sidecars inside the mesh as
     * well as for one or more gateways. The selection condition imposed by this
     * field can be overridden using the source field in the match conditions
     * of protocol-specific routes. The reserved word `mesh` is used to imply
     * all the sidecars in the mesh. When this field is omitted, the default
     * gateway (`mesh`) will be used, which would apply the rule to all
     * sidecars in the mesh. If a list of gateway names is provided, the
     * rules will apply only to the gateways. To apply the rules to both
     * gateways and sidecars, specify `mesh` as one of the gateway names.
     * 
* * repeated string gateways = 2; * @return The count of gateways. */ public int getGatewaysCount() { return gateways_.size(); } /** *
     * The names of gateways and sidecars that should apply these routes.
     * Gateways in other namespaces may be referred to by
     * `<gateway namespace>/<gateway name>`; specifying a gateway with no
     * namespace qualifier is the same as specifying the VirtualService's
     * namespace. A single VirtualService is used for sidecars inside the mesh as
     * well as for one or more gateways. The selection condition imposed by this
     * field can be overridden using the source field in the match conditions
     * of protocol-specific routes. The reserved word `mesh` is used to imply
     * all the sidecars in the mesh. When this field is omitted, the default
     * gateway (`mesh`) will be used, which would apply the rule to all
     * sidecars in the mesh. If a list of gateway names is provided, the
     * rules will apply only to the gateways. To apply the rules to both
     * gateways and sidecars, specify `mesh` as one of the gateway names.
     * 
* * repeated string gateways = 2; * @param index The index of the element to return. * @return The gateways at the given index. */ public java.lang.String getGateways(int index) { return gateways_.get(index); } /** *
     * The names of gateways and sidecars that should apply these routes.
     * Gateways in other namespaces may be referred to by
     * `<gateway namespace>/<gateway name>`; specifying a gateway with no
     * namespace qualifier is the same as specifying the VirtualService's
     * namespace. A single VirtualService is used for sidecars inside the mesh as
     * well as for one or more gateways. The selection condition imposed by this
     * field can be overridden using the source field in the match conditions
     * of protocol-specific routes. The reserved word `mesh` is used to imply
     * all the sidecars in the mesh. When this field is omitted, the default
     * gateway (`mesh`) will be used, which would apply the rule to all
     * sidecars in the mesh. If a list of gateway names is provided, the
     * rules will apply only to the gateways. To apply the rules to both
     * gateways and sidecars, specify `mesh` as one of the gateway names.
     * 
* * repeated string gateways = 2; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ public com.google.protobuf.ByteString getGatewaysBytes(int index) { return gateways_.getByteString(index); } public static final int HTTP_FIELD_NUMBER = 3; private java.util.List http_; /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ @java.lang.Override public java.util.List getHttpList() { return http_; } /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ @java.lang.Override public java.util.List getHttpOrBuilderList() { return http_; } /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ @java.lang.Override public int getHttpCount() { return http_.size(); } /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute getHttp(int index) { return http_.get(index); } /** *
     * An ordered list of route rules for HTTP traffic. HTTP routes will be
     * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
     * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
     * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
     * an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteOrBuilder getHttpOrBuilder( int index) { return http_.get(index); } public static final int TLS_FIELD_NUMBER = 5; private java.util.List tls_; /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ @java.lang.Override public java.util.List getTlsList() { return tls_; } /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ @java.lang.Override public java.util.List getTlsOrBuilderList() { return tls_; } /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ @java.lang.Override public int getTlsCount() { return tls_.size(); } /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute getTls(int index) { return tls_.get(index); } /** *
     * An ordered list of route rule for non-terminated TLS & HTTPS
     * traffic. Routing is typically performed using the SNI value presented
     * by the ClientHello message. TLS routes will be applied to platform
     * service ports named 'https-*', 'tls-*', unterminated gateway ports using
     * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
     * entry ports using HTTPS/TLS protocols.  The first rule matching an
     * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
     * without associated virtual service will be treated as opaque TCP
     * traffic.
     * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRouteOrBuilder getTlsOrBuilder( int index) { return tls_.get(index); } public static final int TCP_FIELD_NUMBER = 4; private java.util.List tcp_; /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ @java.lang.Override public java.util.List getTcpList() { return tcp_; } /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ @java.lang.Override public java.util.List getTcpOrBuilderList() { return tcp_; } /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ @java.lang.Override public int getTcpCount() { return tcp_.size(); } /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute getTcp(int index) { return tcp_.get(index); } /** *
     * An ordered list of route rules for opaque TCP traffic. TCP routes will
     * be applied to any port that is not a HTTP or TLS port. The first rule
     * matching an incoming request is used.
     * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRouteOrBuilder getTcpOrBuilder( int index) { return tcp_.get(index); } public static final int EXPORT_TO_FIELD_NUMBER = 6; private com.google.protobuf.LazyStringList exportTo_; /** *
     * A list of namespaces to which this virtual service is exported. Exporting a
     * virtual service allows it to be used by sidecars and gateways defined in
     * other namespaces. This feature provides a mechanism for service owners
     * and mesh administrators to control the visibility of virtual services
     * across namespace boundaries.
     * If no namespaces are specified then the virtual service is exported to all
     * namespaces by default.
     * The value "." is reserved and defines an export to the same namespace that
     * the virtual service is declared in. Similarly the value "*" is reserved and
     * defines an export to all namespaces.
     * NOTE: in the current release, the `exportTo` value is restricted to
     * "." or "*" (i.e., the current namespace or all namespaces).
     * 
* * repeated string export_to = 6; * @return A list containing the exportTo. */ public com.google.protobuf.ProtocolStringList getExportToList() { return exportTo_; } /** *
     * A list of namespaces to which this virtual service is exported. Exporting a
     * virtual service allows it to be used by sidecars and gateways defined in
     * other namespaces. This feature provides a mechanism for service owners
     * and mesh administrators to control the visibility of virtual services
     * across namespace boundaries.
     * If no namespaces are specified then the virtual service is exported to all
     * namespaces by default.
     * The value "." is reserved and defines an export to the same namespace that
     * the virtual service is declared in. Similarly the value "*" is reserved and
     * defines an export to all namespaces.
     * NOTE: in the current release, the `exportTo` value is restricted to
     * "." or "*" (i.e., the current namespace or all namespaces).
     * 
* * repeated string export_to = 6; * @return The count of exportTo. */ public int getExportToCount() { return exportTo_.size(); } /** *
     * A list of namespaces to which this virtual service is exported. Exporting a
     * virtual service allows it to be used by sidecars and gateways defined in
     * other namespaces. This feature provides a mechanism for service owners
     * and mesh administrators to control the visibility of virtual services
     * across namespace boundaries.
     * If no namespaces are specified then the virtual service is exported to all
     * namespaces by default.
     * The value "." is reserved and defines an export to the same namespace that
     * the virtual service is declared in. Similarly the value "*" is reserved and
     * defines an export to all namespaces.
     * NOTE: in the current release, the `exportTo` value is restricted to
     * "." or "*" (i.e., the current namespace or all namespaces).
     * 
* * repeated string export_to = 6; * @param index The index of the element to return. * @return The exportTo at the given index. */ public java.lang.String getExportTo(int index) { return exportTo_.get(index); } /** *
     * A list of namespaces to which this virtual service is exported. Exporting a
     * virtual service allows it to be used by sidecars and gateways defined in
     * other namespaces. This feature provides a mechanism for service owners
     * and mesh administrators to control the visibility of virtual services
     * across namespace boundaries.
     * If no namespaces are specified then the virtual service is exported to all
     * namespaces by default.
     * The value "." is reserved and defines an export to the same namespace that
     * the virtual service is declared in. Similarly the value "*" is reserved and
     * defines an export to all namespaces.
     * NOTE: in the current release, the `exportTo` value is restricted to
     * "." or "*" (i.e., the current namespace or all namespaces).
     * 
* * repeated string export_to = 6; * @param index The index of the value to return. * @return The bytes of the exportTo at the given index. */ public com.google.protobuf.ByteString getExportToBytes(int index) { return exportTo_.getByteString(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < hosts_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, hosts_.getRaw(i)); } for (int i = 0; i < gateways_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, gateways_.getRaw(i)); } for (int i = 0; i < http_.size(); i++) { output.writeMessage(3, http_.get(i)); } for (int i = 0; i < tcp_.size(); i++) { output.writeMessage(4, tcp_.get(i)); } for (int i = 0; i < tls_.size(); i++) { output.writeMessage(5, tls_.get(i)); } for (int i = 0; i < exportTo_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 6, exportTo_.getRaw(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; { int dataSize = 0; for (int i = 0; i < hosts_.size(); i++) { dataSize += computeStringSizeNoTag(hosts_.getRaw(i)); } size += dataSize; size += 1 * getHostsList().size(); } { int dataSize = 0; for (int i = 0; i < gateways_.size(); i++) { dataSize += computeStringSizeNoTag(gateways_.getRaw(i)); } size += dataSize; size += 1 * getGatewaysList().size(); } for (int i = 0; i < http_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, http_.get(i)); } for (int i = 0; i < tcp_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, tcp_.get(i)); } for (int i = 0; i < tls_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, tls_.get(i)); } { int dataSize = 0; for (int i = 0; i < exportTo_.size(); i++) { dataSize += computeStringSizeNoTag(exportTo_.getRaw(i)); } size += dataSize; size += 1 * getExportToList().size(); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService other = (istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService) obj; if (!getHostsList() .equals(other.getHostsList())) return false; if (!getGatewaysList() .equals(other.getGatewaysList())) return false; if (!getHttpList() .equals(other.getHttpList())) return false; if (!getTlsList() .equals(other.getTlsList())) return false; if (!getTcpList() .equals(other.getTcpList())) return false; if (!getExportToList() .equals(other.getExportToList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getHostsCount() > 0) { hash = (37 * hash) + HOSTS_FIELD_NUMBER; hash = (53 * hash) + getHostsList().hashCode(); } if (getGatewaysCount() > 0) { hash = (37 * hash) + GATEWAYS_FIELD_NUMBER; hash = (53 * hash) + getGatewaysList().hashCode(); } if (getHttpCount() > 0) { hash = (37 * hash) + HTTP_FIELD_NUMBER; hash = (53 * hash) + getHttpList().hashCode(); } if (getTlsCount() > 0) { hash = (37 * hash) + TLS_FIELD_NUMBER; hash = (53 * hash) + getTlsList().hashCode(); } if (getTcpCount() > 0) { hash = (37 * hash) + TCP_FIELD_NUMBER; hash = (53 * hash) + getTcpList().hashCode(); } if (getExportToCount() > 0) { hash = (37 * hash) + EXPORT_TO_FIELD_NUMBER; hash = (53 * hash) + getExportToList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Configuration affecting traffic routing.
     * <!-- crd generation tags
     * +cue-gen:VirtualService:groupName:networking.istio.io
     * +cue-gen:VirtualService:version:v1alpha3
     * +cue-gen:VirtualService:storageVersion
     * +cue-gen:VirtualService:annotations:helm.sh/resource-policy=keep
     * +cue-gen:VirtualService:labels:app=istio-pilot,chart=istio,heritage=Tiller,release=istio
     * +cue-gen:VirtualService:subresource:status
     * +cue-gen:VirtualService:scope:Namespaced
     * +cue-gen:VirtualService:resource:categories=istio-io,networking-istio-io,shortNames=vs
     * +cue-gen:VirtualService:printerColumn:name=Gateways,type=string,JSONPath=.spec.gateways,description="The names of gateways and sidecars 
     * that should apply these routes"
     * +cue-gen:VirtualService:printerColumn:name=Hosts,type=string,JSONPath=.spec.hosts,description="The destination hosts to which traffic is being sent"
     * +cue-gen:VirtualService:printerColumn:name=Age,type=date,JSONPath=.metadata.creationTimestamp,description="CreationTimestamp is a timestamp 
     * representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. 
     * Clients may not set this value. It is represented in RFC3339 form and is in UTC.
     * Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata"
     * +cue-gen:VirtualService:preserveUnknownFields:false
     * -->
     * <!-- go code generation tags
     * +kubetype-gen
     * +kubetype-gen:groupVersion=networking.istio.io/v1alpha3
     * +genclient
     * +k8s:deepcopy-gen=true
     * -->
     * 
* * Protobuf type {@code istio.networking.v1alpha3.VirtualService} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.VirtualService) istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualServiceOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_VirtualService_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_VirtualService_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService.class, istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getHttpFieldBuilder(); getTlsFieldBuilder(); getTcpFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); hosts_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000002); if (httpBuilder_ == null) { http_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); } else { httpBuilder_.clear(); } if (tlsBuilder_ == null) { tls_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); } else { tlsBuilder_.clear(); } if (tcpBuilder_ == null) { tcp_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); } else { tcpBuilder_.clear(); } exportTo_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000020); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_VirtualService_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService build() { istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService result = new istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService(this); int from_bitField0_ = bitField0_; if (((bitField0_ & 0x00000001) != 0)) { hosts_ = hosts_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000001); } result.hosts_ = hosts_; if (((bitField0_ & 0x00000002) != 0)) { gateways_ = gateways_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000002); } result.gateways_ = gateways_; if (httpBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0)) { http_ = java.util.Collections.unmodifiableList(http_); bitField0_ = (bitField0_ & ~0x00000004); } result.http_ = http_; } else { result.http_ = httpBuilder_.build(); } if (tlsBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0)) { tls_ = java.util.Collections.unmodifiableList(tls_); bitField0_ = (bitField0_ & ~0x00000008); } result.tls_ = tls_; } else { result.tls_ = tlsBuilder_.build(); } if (tcpBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0)) { tcp_ = java.util.Collections.unmodifiableList(tcp_); bitField0_ = (bitField0_ & ~0x00000010); } result.tcp_ = tcp_; } else { result.tcp_ = tcpBuilder_.build(); } if (((bitField0_ & 0x00000020) != 0)) { exportTo_ = exportTo_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000020); } result.exportTo_ = exportTo_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService.getDefaultInstance()) return this; if (!other.hosts_.isEmpty()) { if (hosts_.isEmpty()) { hosts_ = other.hosts_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureHostsIsMutable(); hosts_.addAll(other.hosts_); } onChanged(); } if (!other.gateways_.isEmpty()) { if (gateways_.isEmpty()) { gateways_ = other.gateways_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureGatewaysIsMutable(); gateways_.addAll(other.gateways_); } onChanged(); } if (httpBuilder_ == null) { if (!other.http_.isEmpty()) { if (http_.isEmpty()) { http_ = other.http_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureHttpIsMutable(); http_.addAll(other.http_); } onChanged(); } } else { if (!other.http_.isEmpty()) { if (httpBuilder_.isEmpty()) { httpBuilder_.dispose(); httpBuilder_ = null; http_ = other.http_; bitField0_ = (bitField0_ & ~0x00000004); httpBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getHttpFieldBuilder() : null; } else { httpBuilder_.addAllMessages(other.http_); } } } if (tlsBuilder_ == null) { if (!other.tls_.isEmpty()) { if (tls_.isEmpty()) { tls_ = other.tls_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureTlsIsMutable(); tls_.addAll(other.tls_); } onChanged(); } } else { if (!other.tls_.isEmpty()) { if (tlsBuilder_.isEmpty()) { tlsBuilder_.dispose(); tlsBuilder_ = null; tls_ = other.tls_; bitField0_ = (bitField0_ & ~0x00000008); tlsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getTlsFieldBuilder() : null; } else { tlsBuilder_.addAllMessages(other.tls_); } } } if (tcpBuilder_ == null) { if (!other.tcp_.isEmpty()) { if (tcp_.isEmpty()) { tcp_ = other.tcp_; bitField0_ = (bitField0_ & ~0x00000010); } else { ensureTcpIsMutable(); tcp_.addAll(other.tcp_); } onChanged(); } } else { if (!other.tcp_.isEmpty()) { if (tcpBuilder_.isEmpty()) { tcpBuilder_.dispose(); tcpBuilder_ = null; tcp_ = other.tcp_; bitField0_ = (bitField0_ & ~0x00000010); tcpBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getTcpFieldBuilder() : null; } else { tcpBuilder_.addAllMessages(other.tcp_); } } } if (!other.exportTo_.isEmpty()) { if (exportTo_.isEmpty()) { exportTo_ = other.exportTo_; bitField0_ = (bitField0_ & ~0x00000020); } else { ensureExportToIsMutable(); exportTo_.addAll(other.exportTo_); } onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private com.google.protobuf.LazyStringList hosts_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureHostsIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { hosts_ = new com.google.protobuf.LazyStringArrayList(hosts_); bitField0_ |= 0x00000001; } } /** *
       * The destination hosts to which traffic is being sent. Could
       * be a DNS name with wildcard prefix or an IP address.  Depending on the
       * platform, short-names can also be used instead of a FQDN (i.e. has no
       * dots in the name). In such a scenario, the FQDN of the host would be
       * derived based on the underlying platform.
       * A single VirtualService can be used to describe all the traffic
       * properties of the corresponding hosts, including those for multiple
       * HTTP and TCP ports. Alternatively, the traffic properties of a host
       * can be defined using more than one VirtualService, with certain
       * caveats. Refer to the
       * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
       * for details.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews" will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. _To avoid
       * potential misconfigurations, it is recommended to always use fully
       * qualified domain names over short names._
       * The hosts field applies to both HTTP and TCP services. Service inside
       * the mesh, i.e., those found in the service registry, must always be
       * referred to using their alphanumeric names. IP addresses are allowed
       * only for services defined via the Gateway.
       * *Note*: It must be empty for a delegate VirtualService.
       * 
* * repeated string hosts = 1; * @return A list containing the hosts. */ public com.google.protobuf.ProtocolStringList getHostsList() { return hosts_.getUnmodifiableView(); } /** *
       * The destination hosts to which traffic is being sent. Could
       * be a DNS name with wildcard prefix or an IP address.  Depending on the
       * platform, short-names can also be used instead of a FQDN (i.e. has no
       * dots in the name). In such a scenario, the FQDN of the host would be
       * derived based on the underlying platform.
       * A single VirtualService can be used to describe all the traffic
       * properties of the corresponding hosts, including those for multiple
       * HTTP and TCP ports. Alternatively, the traffic properties of a host
       * can be defined using more than one VirtualService, with certain
       * caveats. Refer to the
       * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
       * for details.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews" will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. _To avoid
       * potential misconfigurations, it is recommended to always use fully
       * qualified domain names over short names._
       * The hosts field applies to both HTTP and TCP services. Service inside
       * the mesh, i.e., those found in the service registry, must always be
       * referred to using their alphanumeric names. IP addresses are allowed
       * only for services defined via the Gateway.
       * *Note*: It must be empty for a delegate VirtualService.
       * 
* * repeated string hosts = 1; * @return The count of hosts. */ public int getHostsCount() { return hosts_.size(); } /** *
       * The destination hosts to which traffic is being sent. Could
       * be a DNS name with wildcard prefix or an IP address.  Depending on the
       * platform, short-names can also be used instead of a FQDN (i.e. has no
       * dots in the name). In such a scenario, the FQDN of the host would be
       * derived based on the underlying platform.
       * A single VirtualService can be used to describe all the traffic
       * properties of the corresponding hosts, including those for multiple
       * HTTP and TCP ports. Alternatively, the traffic properties of a host
       * can be defined using more than one VirtualService, with certain
       * caveats. Refer to the
       * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
       * for details.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews" will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. _To avoid
       * potential misconfigurations, it is recommended to always use fully
       * qualified domain names over short names._
       * The hosts field applies to both HTTP and TCP services. Service inside
       * the mesh, i.e., those found in the service registry, must always be
       * referred to using their alphanumeric names. IP addresses are allowed
       * only for services defined via the Gateway.
       * *Note*: It must be empty for a delegate VirtualService.
       * 
* * repeated string hosts = 1; * @param index The index of the element to return. * @return The hosts at the given index. */ public java.lang.String getHosts(int index) { return hosts_.get(index); } /** *
       * The destination hosts to which traffic is being sent. Could
       * be a DNS name with wildcard prefix or an IP address.  Depending on the
       * platform, short-names can also be used instead of a FQDN (i.e. has no
       * dots in the name). In such a scenario, the FQDN of the host would be
       * derived based on the underlying platform.
       * A single VirtualService can be used to describe all the traffic
       * properties of the corresponding hosts, including those for multiple
       * HTTP and TCP ports. Alternatively, the traffic properties of a host
       * can be defined using more than one VirtualService, with certain
       * caveats. Refer to the
       * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
       * for details.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews" will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. _To avoid
       * potential misconfigurations, it is recommended to always use fully
       * qualified domain names over short names._
       * The hosts field applies to both HTTP and TCP services. Service inside
       * the mesh, i.e., those found in the service registry, must always be
       * referred to using their alphanumeric names. IP addresses are allowed
       * only for services defined via the Gateway.
       * *Note*: It must be empty for a delegate VirtualService.
       * 
* * repeated string hosts = 1; * @param index The index of the value to return. * @return The bytes of the hosts at the given index. */ public com.google.protobuf.ByteString getHostsBytes(int index) { return hosts_.getByteString(index); } /** *
       * The destination hosts to which traffic is being sent. Could
       * be a DNS name with wildcard prefix or an IP address.  Depending on the
       * platform, short-names can also be used instead of a FQDN (i.e. has no
       * dots in the name). In such a scenario, the FQDN of the host would be
       * derived based on the underlying platform.
       * A single VirtualService can be used to describe all the traffic
       * properties of the corresponding hosts, including those for multiple
       * HTTP and TCP ports. Alternatively, the traffic properties of a host
       * can be defined using more than one VirtualService, with certain
       * caveats. Refer to the
       * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
       * for details.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews" will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. _To avoid
       * potential misconfigurations, it is recommended to always use fully
       * qualified domain names over short names._
       * The hosts field applies to both HTTP and TCP services. Service inside
       * the mesh, i.e., those found in the service registry, must always be
       * referred to using their alphanumeric names. IP addresses are allowed
       * only for services defined via the Gateway.
       * *Note*: It must be empty for a delegate VirtualService.
       * 
* * repeated string hosts = 1; * @param index The index to set the value at. * @param value The hosts to set. * @return This builder for chaining. */ public Builder setHosts( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureHostsIsMutable(); hosts_.set(index, value); onChanged(); return this; } /** *
       * The destination hosts to which traffic is being sent. Could
       * be a DNS name with wildcard prefix or an IP address.  Depending on the
       * platform, short-names can also be used instead of a FQDN (i.e. has no
       * dots in the name). In such a scenario, the FQDN of the host would be
       * derived based on the underlying platform.
       * A single VirtualService can be used to describe all the traffic
       * properties of the corresponding hosts, including those for multiple
       * HTTP and TCP ports. Alternatively, the traffic properties of a host
       * can be defined using more than one VirtualService, with certain
       * caveats. Refer to the
       * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
       * for details.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews" will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. _To avoid
       * potential misconfigurations, it is recommended to always use fully
       * qualified domain names over short names._
       * The hosts field applies to both HTTP and TCP services. Service inside
       * the mesh, i.e., those found in the service registry, must always be
       * referred to using their alphanumeric names. IP addresses are allowed
       * only for services defined via the Gateway.
       * *Note*: It must be empty for a delegate VirtualService.
       * 
* * repeated string hosts = 1; * @param value The hosts to add. * @return This builder for chaining. */ public Builder addHosts( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureHostsIsMutable(); hosts_.add(value); onChanged(); return this; } /** *
       * The destination hosts to which traffic is being sent. Could
       * be a DNS name with wildcard prefix or an IP address.  Depending on the
       * platform, short-names can also be used instead of a FQDN (i.e. has no
       * dots in the name). In such a scenario, the FQDN of the host would be
       * derived based on the underlying platform.
       * A single VirtualService can be used to describe all the traffic
       * properties of the corresponding hosts, including those for multiple
       * HTTP and TCP ports. Alternatively, the traffic properties of a host
       * can be defined using more than one VirtualService, with certain
       * caveats. Refer to the
       * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
       * for details.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews" will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. _To avoid
       * potential misconfigurations, it is recommended to always use fully
       * qualified domain names over short names._
       * The hosts field applies to both HTTP and TCP services. Service inside
       * the mesh, i.e., those found in the service registry, must always be
       * referred to using their alphanumeric names. IP addresses are allowed
       * only for services defined via the Gateway.
       * *Note*: It must be empty for a delegate VirtualService.
       * 
* * repeated string hosts = 1; * @param values The hosts to add. * @return This builder for chaining. */ public Builder addAllHosts( java.lang.Iterable values) { ensureHostsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, hosts_); onChanged(); return this; } /** *
       * The destination hosts to which traffic is being sent. Could
       * be a DNS name with wildcard prefix or an IP address.  Depending on the
       * platform, short-names can also be used instead of a FQDN (i.e. has no
       * dots in the name). In such a scenario, the FQDN of the host would be
       * derived based on the underlying platform.
       * A single VirtualService can be used to describe all the traffic
       * properties of the corresponding hosts, including those for multiple
       * HTTP and TCP ports. Alternatively, the traffic properties of a host
       * can be defined using more than one VirtualService, with certain
       * caveats. Refer to the
       * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
       * for details.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews" will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. _To avoid
       * potential misconfigurations, it is recommended to always use fully
       * qualified domain names over short names._
       * The hosts field applies to both HTTP and TCP services. Service inside
       * the mesh, i.e., those found in the service registry, must always be
       * referred to using their alphanumeric names. IP addresses are allowed
       * only for services defined via the Gateway.
       * *Note*: It must be empty for a delegate VirtualService.
       * 
* * repeated string hosts = 1; * @return This builder for chaining. */ public Builder clearHosts() { hosts_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
       * The destination hosts to which traffic is being sent. Could
       * be a DNS name with wildcard prefix or an IP address.  Depending on the
       * platform, short-names can also be used instead of a FQDN (i.e. has no
       * dots in the name). In such a scenario, the FQDN of the host would be
       * derived based on the underlying platform.
       * A single VirtualService can be used to describe all the traffic
       * properties of the corresponding hosts, including those for multiple
       * HTTP and TCP ports. Alternatively, the traffic properties of a host
       * can be defined using more than one VirtualService, with certain
       * caveats. Refer to the
       * [Operations Guide](https://istio.io/docs/ops/best-practices/traffic-management/#split-virtual-services)
       * for details.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews" will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. _To avoid
       * potential misconfigurations, it is recommended to always use fully
       * qualified domain names over short names._
       * The hosts field applies to both HTTP and TCP services. Service inside
       * the mesh, i.e., those found in the service registry, must always be
       * referred to using their alphanumeric names. IP addresses are allowed
       * only for services defined via the Gateway.
       * *Note*: It must be empty for a delegate VirtualService.
       * 
* * repeated string hosts = 1; * @param value The bytes of the hosts to add. * @return This builder for chaining. */ public Builder addHostsBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureHostsIsMutable(); hosts_.add(value); onChanged(); return this; } private com.google.protobuf.LazyStringList gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureGatewaysIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { gateways_ = new com.google.protobuf.LazyStringArrayList(gateways_); bitField0_ |= 0x00000002; } } /** *
       * The names of gateways and sidecars that should apply these routes.
       * Gateways in other namespaces may be referred to by
       * `<gateway namespace>/<gateway name>`; specifying a gateway with no
       * namespace qualifier is the same as specifying the VirtualService's
       * namespace. A single VirtualService is used for sidecars inside the mesh as
       * well as for one or more gateways. The selection condition imposed by this
       * field can be overridden using the source field in the match conditions
       * of protocol-specific routes. The reserved word `mesh` is used to imply
       * all the sidecars in the mesh. When this field is omitted, the default
       * gateway (`mesh`) will be used, which would apply the rule to all
       * sidecars in the mesh. If a list of gateway names is provided, the
       * rules will apply only to the gateways. To apply the rules to both
       * gateways and sidecars, specify `mesh` as one of the gateway names.
       * 
* * repeated string gateways = 2; * @return A list containing the gateways. */ public com.google.protobuf.ProtocolStringList getGatewaysList() { return gateways_.getUnmodifiableView(); } /** *
       * The names of gateways and sidecars that should apply these routes.
       * Gateways in other namespaces may be referred to by
       * `<gateway namespace>/<gateway name>`; specifying a gateway with no
       * namespace qualifier is the same as specifying the VirtualService's
       * namespace. A single VirtualService is used for sidecars inside the mesh as
       * well as for one or more gateways. The selection condition imposed by this
       * field can be overridden using the source field in the match conditions
       * of protocol-specific routes. The reserved word `mesh` is used to imply
       * all the sidecars in the mesh. When this field is omitted, the default
       * gateway (`mesh`) will be used, which would apply the rule to all
       * sidecars in the mesh. If a list of gateway names is provided, the
       * rules will apply only to the gateways. To apply the rules to both
       * gateways and sidecars, specify `mesh` as one of the gateway names.
       * 
* * repeated string gateways = 2; * @return The count of gateways. */ public int getGatewaysCount() { return gateways_.size(); } /** *
       * The names of gateways and sidecars that should apply these routes.
       * Gateways in other namespaces may be referred to by
       * `<gateway namespace>/<gateway name>`; specifying a gateway with no
       * namespace qualifier is the same as specifying the VirtualService's
       * namespace. A single VirtualService is used for sidecars inside the mesh as
       * well as for one or more gateways. The selection condition imposed by this
       * field can be overridden using the source field in the match conditions
       * of protocol-specific routes. The reserved word `mesh` is used to imply
       * all the sidecars in the mesh. When this field is omitted, the default
       * gateway (`mesh`) will be used, which would apply the rule to all
       * sidecars in the mesh. If a list of gateway names is provided, the
       * rules will apply only to the gateways. To apply the rules to both
       * gateways and sidecars, specify `mesh` as one of the gateway names.
       * 
* * repeated string gateways = 2; * @param index The index of the element to return. * @return The gateways at the given index. */ public java.lang.String getGateways(int index) { return gateways_.get(index); } /** *
       * The names of gateways and sidecars that should apply these routes.
       * Gateways in other namespaces may be referred to by
       * `<gateway namespace>/<gateway name>`; specifying a gateway with no
       * namespace qualifier is the same as specifying the VirtualService's
       * namespace. A single VirtualService is used for sidecars inside the mesh as
       * well as for one or more gateways. The selection condition imposed by this
       * field can be overridden using the source field in the match conditions
       * of protocol-specific routes. The reserved word `mesh` is used to imply
       * all the sidecars in the mesh. When this field is omitted, the default
       * gateway (`mesh`) will be used, which would apply the rule to all
       * sidecars in the mesh. If a list of gateway names is provided, the
       * rules will apply only to the gateways. To apply the rules to both
       * gateways and sidecars, specify `mesh` as one of the gateway names.
       * 
* * repeated string gateways = 2; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ public com.google.protobuf.ByteString getGatewaysBytes(int index) { return gateways_.getByteString(index); } /** *
       * The names of gateways and sidecars that should apply these routes.
       * Gateways in other namespaces may be referred to by
       * `<gateway namespace>/<gateway name>`; specifying a gateway with no
       * namespace qualifier is the same as specifying the VirtualService's
       * namespace. A single VirtualService is used for sidecars inside the mesh as
       * well as for one or more gateways. The selection condition imposed by this
       * field can be overridden using the source field in the match conditions
       * of protocol-specific routes. The reserved word `mesh` is used to imply
       * all the sidecars in the mesh. When this field is omitted, the default
       * gateway (`mesh`) will be used, which would apply the rule to all
       * sidecars in the mesh. If a list of gateway names is provided, the
       * rules will apply only to the gateways. To apply the rules to both
       * gateways and sidecars, specify `mesh` as one of the gateway names.
       * 
* * repeated string gateways = 2; * @param index The index to set the value at. * @param value The gateways to set. * @return This builder for chaining. */ public Builder setGateways( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureGatewaysIsMutable(); gateways_.set(index, value); onChanged(); return this; } /** *
       * The names of gateways and sidecars that should apply these routes.
       * Gateways in other namespaces may be referred to by
       * `<gateway namespace>/<gateway name>`; specifying a gateway with no
       * namespace qualifier is the same as specifying the VirtualService's
       * namespace. A single VirtualService is used for sidecars inside the mesh as
       * well as for one or more gateways. The selection condition imposed by this
       * field can be overridden using the source field in the match conditions
       * of protocol-specific routes. The reserved word `mesh` is used to imply
       * all the sidecars in the mesh. When this field is omitted, the default
       * gateway (`mesh`) will be used, which would apply the rule to all
       * sidecars in the mesh. If a list of gateway names is provided, the
       * rules will apply only to the gateways. To apply the rules to both
       * gateways and sidecars, specify `mesh` as one of the gateway names.
       * 
* * repeated string gateways = 2; * @param value The gateways to add. * @return This builder for chaining. */ public Builder addGateways( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureGatewaysIsMutable(); gateways_.add(value); onChanged(); return this; } /** *
       * The names of gateways and sidecars that should apply these routes.
       * Gateways in other namespaces may be referred to by
       * `<gateway namespace>/<gateway name>`; specifying a gateway with no
       * namespace qualifier is the same as specifying the VirtualService's
       * namespace. A single VirtualService is used for sidecars inside the mesh as
       * well as for one or more gateways. The selection condition imposed by this
       * field can be overridden using the source field in the match conditions
       * of protocol-specific routes. The reserved word `mesh` is used to imply
       * all the sidecars in the mesh. When this field is omitted, the default
       * gateway (`mesh`) will be used, which would apply the rule to all
       * sidecars in the mesh. If a list of gateway names is provided, the
       * rules will apply only to the gateways. To apply the rules to both
       * gateways and sidecars, specify `mesh` as one of the gateway names.
       * 
* * repeated string gateways = 2; * @param values The gateways to add. * @return This builder for chaining. */ public Builder addAllGateways( java.lang.Iterable values) { ensureGatewaysIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, gateways_); onChanged(); return this; } /** *
       * The names of gateways and sidecars that should apply these routes.
       * Gateways in other namespaces may be referred to by
       * `<gateway namespace>/<gateway name>`; specifying a gateway with no
       * namespace qualifier is the same as specifying the VirtualService's
       * namespace. A single VirtualService is used for sidecars inside the mesh as
       * well as for one or more gateways. The selection condition imposed by this
       * field can be overridden using the source field in the match conditions
       * of protocol-specific routes. The reserved word `mesh` is used to imply
       * all the sidecars in the mesh. When this field is omitted, the default
       * gateway (`mesh`) will be used, which would apply the rule to all
       * sidecars in the mesh. If a list of gateway names is provided, the
       * rules will apply only to the gateways. To apply the rules to both
       * gateways and sidecars, specify `mesh` as one of the gateway names.
       * 
* * repeated string gateways = 2; * @return This builder for chaining. */ public Builder clearGateways() { gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** *
       * The names of gateways and sidecars that should apply these routes.
       * Gateways in other namespaces may be referred to by
       * `<gateway namespace>/<gateway name>`; specifying a gateway with no
       * namespace qualifier is the same as specifying the VirtualService's
       * namespace. A single VirtualService is used for sidecars inside the mesh as
       * well as for one or more gateways. The selection condition imposed by this
       * field can be overridden using the source field in the match conditions
       * of protocol-specific routes. The reserved word `mesh` is used to imply
       * all the sidecars in the mesh. When this field is omitted, the default
       * gateway (`mesh`) will be used, which would apply the rule to all
       * sidecars in the mesh. If a list of gateway names is provided, the
       * rules will apply only to the gateways. To apply the rules to both
       * gateways and sidecars, specify `mesh` as one of the gateway names.
       * 
* * repeated string gateways = 2; * @param value The bytes of the gateways to add. * @return This builder for chaining. */ public Builder addGatewaysBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureGatewaysIsMutable(); gateways_.add(value); onChanged(); return this; } private java.util.List http_ = java.util.Collections.emptyList(); private void ensureHttpIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { http_ = new java.util.ArrayList(http_); bitField0_ |= 0x00000004; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteOrBuilder> httpBuilder_; /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public java.util.List getHttpList() { if (httpBuilder_ == null) { return java.util.Collections.unmodifiableList(http_); } else { return httpBuilder_.getMessageList(); } } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public int getHttpCount() { if (httpBuilder_ == null) { return http_.size(); } else { return httpBuilder_.getCount(); } } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute getHttp(int index) { if (httpBuilder_ == null) { return http_.get(index); } else { return httpBuilder_.getMessage(index); } } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public Builder setHttp( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute value) { if (httpBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHttpIsMutable(); http_.set(index, value); onChanged(); } else { httpBuilder_.setMessage(index, value); } return this; } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public Builder setHttp( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder builderForValue) { if (httpBuilder_ == null) { ensureHttpIsMutable(); http_.set(index, builderForValue.build()); onChanged(); } else { httpBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public Builder addHttp(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute value) { if (httpBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHttpIsMutable(); http_.add(value); onChanged(); } else { httpBuilder_.addMessage(value); } return this; } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public Builder addHttp( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute value) { if (httpBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHttpIsMutable(); http_.add(index, value); onChanged(); } else { httpBuilder_.addMessage(index, value); } return this; } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public Builder addHttp( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder builderForValue) { if (httpBuilder_ == null) { ensureHttpIsMutable(); http_.add(builderForValue.build()); onChanged(); } else { httpBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public Builder addHttp( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder builderForValue) { if (httpBuilder_ == null) { ensureHttpIsMutable(); http_.add(index, builderForValue.build()); onChanged(); } else { httpBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public Builder addAllHttp( java.lang.Iterable values) { if (httpBuilder_ == null) { ensureHttpIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, http_); onChanged(); } else { httpBuilder_.addAllMessages(values); } return this; } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public Builder clearHttp() { if (httpBuilder_ == null) { http_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); } else { httpBuilder_.clear(); } return this; } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public Builder removeHttp(int index) { if (httpBuilder_ == null) { ensureHttpIsMutable(); http_.remove(index); onChanged(); } else { httpBuilder_.remove(index); } return this; } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder getHttpBuilder( int index) { return getHttpFieldBuilder().getBuilder(index); } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteOrBuilder getHttpOrBuilder( int index) { if (httpBuilder_ == null) { return http_.get(index); } else { return httpBuilder_.getMessageOrBuilder(index); } } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public java.util.List getHttpOrBuilderList() { if (httpBuilder_ != null) { return httpBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(http_); } } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder addHttpBuilder() { return getHttpFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.getDefaultInstance()); } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder addHttpBuilder( int index) { return getHttpFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.getDefaultInstance()); } /** *
       * An ordered list of route rules for HTTP traffic. HTTP routes will be
       * applied to platform service ports named 'http-*'/'http2-*'/'grpc-*', gateway
       * ports with protocol HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS and service
       * entry ports using HTTP/HTTP2/GRPC protocols.  The first rule matching
       * an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRoute http = 3; */ public java.util.List getHttpBuilderList() { return getHttpFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteOrBuilder> getHttpFieldBuilder() { if (httpBuilder_ == null) { httpBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteOrBuilder>( http_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); http_ = null; } return httpBuilder_; } private java.util.List tls_ = java.util.Collections.emptyList(); private void ensureTlsIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { tls_ = new java.util.ArrayList(tls_); bitField0_ |= 0x00000008; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRouteOrBuilder> tlsBuilder_; /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public java.util.List getTlsList() { if (tlsBuilder_ == null) { return java.util.Collections.unmodifiableList(tls_); } else { return tlsBuilder_.getMessageList(); } } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public int getTlsCount() { if (tlsBuilder_ == null) { return tls_.size(); } else { return tlsBuilder_.getCount(); } } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute getTls(int index) { if (tlsBuilder_ == null) { return tls_.get(index); } else { return tlsBuilder_.getMessage(index); } } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public Builder setTls( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute value) { if (tlsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureTlsIsMutable(); tls_.set(index, value); onChanged(); } else { tlsBuilder_.setMessage(index, value); } return this; } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public Builder setTls( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder builderForValue) { if (tlsBuilder_ == null) { ensureTlsIsMutable(); tls_.set(index, builderForValue.build()); onChanged(); } else { tlsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public Builder addTls(istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute value) { if (tlsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureTlsIsMutable(); tls_.add(value); onChanged(); } else { tlsBuilder_.addMessage(value); } return this; } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public Builder addTls( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute value) { if (tlsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureTlsIsMutable(); tls_.add(index, value); onChanged(); } else { tlsBuilder_.addMessage(index, value); } return this; } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public Builder addTls( istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder builderForValue) { if (tlsBuilder_ == null) { ensureTlsIsMutable(); tls_.add(builderForValue.build()); onChanged(); } else { tlsBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public Builder addTls( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder builderForValue) { if (tlsBuilder_ == null) { ensureTlsIsMutable(); tls_.add(index, builderForValue.build()); onChanged(); } else { tlsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public Builder addAllTls( java.lang.Iterable values) { if (tlsBuilder_ == null) { ensureTlsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, tls_); onChanged(); } else { tlsBuilder_.addAllMessages(values); } return this; } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public Builder clearTls() { if (tlsBuilder_ == null) { tls_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); } else { tlsBuilder_.clear(); } return this; } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public Builder removeTls(int index) { if (tlsBuilder_ == null) { ensureTlsIsMutable(); tls_.remove(index); onChanged(); } else { tlsBuilder_.remove(index); } return this; } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder getTlsBuilder( int index) { return getTlsFieldBuilder().getBuilder(index); } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRouteOrBuilder getTlsOrBuilder( int index) { if (tlsBuilder_ == null) { return tls_.get(index); } else { return tlsBuilder_.getMessageOrBuilder(index); } } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public java.util.List getTlsOrBuilderList() { if (tlsBuilder_ != null) { return tlsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(tls_); } } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder addTlsBuilder() { return getTlsFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.getDefaultInstance()); } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder addTlsBuilder( int index) { return getTlsFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.getDefaultInstance()); } /** *
       * An ordered list of route rule for non-terminated TLS & HTTPS
       * traffic. Routing is typically performed using the SNI value presented
       * by the ClientHello message. TLS routes will be applied to platform
       * service ports named 'https-*', 'tls-*', unterminated gateway ports using
       * HTTPS/TLS protocols (i.e. with "passthrough" TLS mode) and service
       * entry ports using HTTPS/TLS protocols.  The first rule matching an
       * incoming request is used.  NOTE: Traffic 'https-*' or 'tls-*' ports
       * without associated virtual service will be treated as opaque TCP
       * traffic.
       * 
* * repeated .istio.networking.v1alpha3.TLSRoute tls = 5; */ public java.util.List getTlsBuilderList() { return getTlsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRouteOrBuilder> getTlsFieldBuilder() { if (tlsBuilder_ == null) { tlsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRouteOrBuilder>( tls_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); tls_ = null; } return tlsBuilder_; } private java.util.List tcp_ = java.util.Collections.emptyList(); private void ensureTcpIsMutable() { if (!((bitField0_ & 0x00000010) != 0)) { tcp_ = new java.util.ArrayList(tcp_); bitField0_ |= 0x00000010; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRouteOrBuilder> tcpBuilder_; /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public java.util.List getTcpList() { if (tcpBuilder_ == null) { return java.util.Collections.unmodifiableList(tcp_); } else { return tcpBuilder_.getMessageList(); } } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public int getTcpCount() { if (tcpBuilder_ == null) { return tcp_.size(); } else { return tcpBuilder_.getCount(); } } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute getTcp(int index) { if (tcpBuilder_ == null) { return tcp_.get(index); } else { return tcpBuilder_.getMessage(index); } } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public Builder setTcp( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute value) { if (tcpBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureTcpIsMutable(); tcp_.set(index, value); onChanged(); } else { tcpBuilder_.setMessage(index, value); } return this; } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public Builder setTcp( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder builderForValue) { if (tcpBuilder_ == null) { ensureTcpIsMutable(); tcp_.set(index, builderForValue.build()); onChanged(); } else { tcpBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public Builder addTcp(istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute value) { if (tcpBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureTcpIsMutable(); tcp_.add(value); onChanged(); } else { tcpBuilder_.addMessage(value); } return this; } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public Builder addTcp( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute value) { if (tcpBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureTcpIsMutable(); tcp_.add(index, value); onChanged(); } else { tcpBuilder_.addMessage(index, value); } return this; } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public Builder addTcp( istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder builderForValue) { if (tcpBuilder_ == null) { ensureTcpIsMutable(); tcp_.add(builderForValue.build()); onChanged(); } else { tcpBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public Builder addTcp( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder builderForValue) { if (tcpBuilder_ == null) { ensureTcpIsMutable(); tcp_.add(index, builderForValue.build()); onChanged(); } else { tcpBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public Builder addAllTcp( java.lang.Iterable values) { if (tcpBuilder_ == null) { ensureTcpIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, tcp_); onChanged(); } else { tcpBuilder_.addAllMessages(values); } return this; } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public Builder clearTcp() { if (tcpBuilder_ == null) { tcp_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); onChanged(); } else { tcpBuilder_.clear(); } return this; } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public Builder removeTcp(int index) { if (tcpBuilder_ == null) { ensureTcpIsMutable(); tcp_.remove(index); onChanged(); } else { tcpBuilder_.remove(index); } return this; } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder getTcpBuilder( int index) { return getTcpFieldBuilder().getBuilder(index); } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRouteOrBuilder getTcpOrBuilder( int index) { if (tcpBuilder_ == null) { return tcp_.get(index); } else { return tcpBuilder_.getMessageOrBuilder(index); } } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public java.util.List getTcpOrBuilderList() { if (tcpBuilder_ != null) { return tcpBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(tcp_); } } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder addTcpBuilder() { return getTcpFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.getDefaultInstance()); } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder addTcpBuilder( int index) { return getTcpFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.getDefaultInstance()); } /** *
       * An ordered list of route rules for opaque TCP traffic. TCP routes will
       * be applied to any port that is not a HTTP or TLS port. The first rule
       * matching an incoming request is used.
       * 
* * repeated .istio.networking.v1alpha3.TCPRoute tcp = 4; */ public java.util.List getTcpBuilderList() { return getTcpFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRouteOrBuilder> getTcpFieldBuilder() { if (tcpBuilder_ == null) { tcpBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRouteOrBuilder>( tcp_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); tcp_ = null; } return tcpBuilder_; } private com.google.protobuf.LazyStringList exportTo_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureExportToIsMutable() { if (!((bitField0_ & 0x00000020) != 0)) { exportTo_ = new com.google.protobuf.LazyStringArrayList(exportTo_); bitField0_ |= 0x00000020; } } /** *
       * A list of namespaces to which this virtual service is exported. Exporting a
       * virtual service allows it to be used by sidecars and gateways defined in
       * other namespaces. This feature provides a mechanism for service owners
       * and mesh administrators to control the visibility of virtual services
       * across namespace boundaries.
       * If no namespaces are specified then the virtual service is exported to all
       * namespaces by default.
       * The value "." is reserved and defines an export to the same namespace that
       * the virtual service is declared in. Similarly the value "*" is reserved and
       * defines an export to all namespaces.
       * NOTE: in the current release, the `exportTo` value is restricted to
       * "." or "*" (i.e., the current namespace or all namespaces).
       * 
* * repeated string export_to = 6; * @return A list containing the exportTo. */ public com.google.protobuf.ProtocolStringList getExportToList() { return exportTo_.getUnmodifiableView(); } /** *
       * A list of namespaces to which this virtual service is exported. Exporting a
       * virtual service allows it to be used by sidecars and gateways defined in
       * other namespaces. This feature provides a mechanism for service owners
       * and mesh administrators to control the visibility of virtual services
       * across namespace boundaries.
       * If no namespaces are specified then the virtual service is exported to all
       * namespaces by default.
       * The value "." is reserved and defines an export to the same namespace that
       * the virtual service is declared in. Similarly the value "*" is reserved and
       * defines an export to all namespaces.
       * NOTE: in the current release, the `exportTo` value is restricted to
       * "." or "*" (i.e., the current namespace or all namespaces).
       * 
* * repeated string export_to = 6; * @return The count of exportTo. */ public int getExportToCount() { return exportTo_.size(); } /** *
       * A list of namespaces to which this virtual service is exported. Exporting a
       * virtual service allows it to be used by sidecars and gateways defined in
       * other namespaces. This feature provides a mechanism for service owners
       * and mesh administrators to control the visibility of virtual services
       * across namespace boundaries.
       * If no namespaces are specified then the virtual service is exported to all
       * namespaces by default.
       * The value "." is reserved and defines an export to the same namespace that
       * the virtual service is declared in. Similarly the value "*" is reserved and
       * defines an export to all namespaces.
       * NOTE: in the current release, the `exportTo` value is restricted to
       * "." or "*" (i.e., the current namespace or all namespaces).
       * 
* * repeated string export_to = 6; * @param index The index of the element to return. * @return The exportTo at the given index. */ public java.lang.String getExportTo(int index) { return exportTo_.get(index); } /** *
       * A list of namespaces to which this virtual service is exported. Exporting a
       * virtual service allows it to be used by sidecars and gateways defined in
       * other namespaces. This feature provides a mechanism for service owners
       * and mesh administrators to control the visibility of virtual services
       * across namespace boundaries.
       * If no namespaces are specified then the virtual service is exported to all
       * namespaces by default.
       * The value "." is reserved and defines an export to the same namespace that
       * the virtual service is declared in. Similarly the value "*" is reserved and
       * defines an export to all namespaces.
       * NOTE: in the current release, the `exportTo` value is restricted to
       * "." or "*" (i.e., the current namespace or all namespaces).
       * 
* * repeated string export_to = 6; * @param index The index of the value to return. * @return The bytes of the exportTo at the given index. */ public com.google.protobuf.ByteString getExportToBytes(int index) { return exportTo_.getByteString(index); } /** *
       * A list of namespaces to which this virtual service is exported. Exporting a
       * virtual service allows it to be used by sidecars and gateways defined in
       * other namespaces. This feature provides a mechanism for service owners
       * and mesh administrators to control the visibility of virtual services
       * across namespace boundaries.
       * If no namespaces are specified then the virtual service is exported to all
       * namespaces by default.
       * The value "." is reserved and defines an export to the same namespace that
       * the virtual service is declared in. Similarly the value "*" is reserved and
       * defines an export to all namespaces.
       * NOTE: in the current release, the `exportTo` value is restricted to
       * "." or "*" (i.e., the current namespace or all namespaces).
       * 
* * repeated string export_to = 6; * @param index The index to set the value at. * @param value The exportTo to set. * @return This builder for chaining. */ public Builder setExportTo( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureExportToIsMutable(); exportTo_.set(index, value); onChanged(); return this; } /** *
       * A list of namespaces to which this virtual service is exported. Exporting a
       * virtual service allows it to be used by sidecars and gateways defined in
       * other namespaces. This feature provides a mechanism for service owners
       * and mesh administrators to control the visibility of virtual services
       * across namespace boundaries.
       * If no namespaces are specified then the virtual service is exported to all
       * namespaces by default.
       * The value "." is reserved and defines an export to the same namespace that
       * the virtual service is declared in. Similarly the value "*" is reserved and
       * defines an export to all namespaces.
       * NOTE: in the current release, the `exportTo` value is restricted to
       * "." or "*" (i.e., the current namespace or all namespaces).
       * 
* * repeated string export_to = 6; * @param value The exportTo to add. * @return This builder for chaining. */ public Builder addExportTo( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureExportToIsMutable(); exportTo_.add(value); onChanged(); return this; } /** *
       * A list of namespaces to which this virtual service is exported. Exporting a
       * virtual service allows it to be used by sidecars and gateways defined in
       * other namespaces. This feature provides a mechanism for service owners
       * and mesh administrators to control the visibility of virtual services
       * across namespace boundaries.
       * If no namespaces are specified then the virtual service is exported to all
       * namespaces by default.
       * The value "." is reserved and defines an export to the same namespace that
       * the virtual service is declared in. Similarly the value "*" is reserved and
       * defines an export to all namespaces.
       * NOTE: in the current release, the `exportTo` value is restricted to
       * "." or "*" (i.e., the current namespace or all namespaces).
       * 
* * repeated string export_to = 6; * @param values The exportTo to add. * @return This builder for chaining. */ public Builder addAllExportTo( java.lang.Iterable values) { ensureExportToIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, exportTo_); onChanged(); return this; } /** *
       * A list of namespaces to which this virtual service is exported. Exporting a
       * virtual service allows it to be used by sidecars and gateways defined in
       * other namespaces. This feature provides a mechanism for service owners
       * and mesh administrators to control the visibility of virtual services
       * across namespace boundaries.
       * If no namespaces are specified then the virtual service is exported to all
       * namespaces by default.
       * The value "." is reserved and defines an export to the same namespace that
       * the virtual service is declared in. Similarly the value "*" is reserved and
       * defines an export to all namespaces.
       * NOTE: in the current release, the `exportTo` value is restricted to
       * "." or "*" (i.e., the current namespace or all namespaces).
       * 
* * repeated string export_to = 6; * @return This builder for chaining. */ public Builder clearExportTo() { exportTo_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000020); onChanged(); return this; } /** *
       * A list of namespaces to which this virtual service is exported. Exporting a
       * virtual service allows it to be used by sidecars and gateways defined in
       * other namespaces. This feature provides a mechanism for service owners
       * and mesh administrators to control the visibility of virtual services
       * across namespace boundaries.
       * If no namespaces are specified then the virtual service is exported to all
       * namespaces by default.
       * The value "." is reserved and defines an export to the same namespace that
       * the virtual service is declared in. Similarly the value "*" is reserved and
       * defines an export to all namespaces.
       * NOTE: in the current release, the `exportTo` value is restricted to
       * "." or "*" (i.e., the current namespace or all namespaces).
       * 
* * repeated string export_to = 6; * @param value The bytes of the exportTo to add. * @return This builder for chaining. */ public Builder addExportToBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureExportToIsMutable(); exportTo_.add(value); onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.VirtualService) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.VirtualService) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public VirtualService parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new VirtualService(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.VirtualService getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface DestinationOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.Destination) com.google.protobuf.MessageOrBuilder { /** *
     * The name of a service from the service registry. Service
     * names are looked up from the platform's service registry (e.g.,
     * Kubernetes services, Consul services, etc.) and from the hosts
     * declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
     * destinations that are not found in either of the two, will be dropped.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. To avoid
     * potential misconfiguration, it is recommended to always use fully
     * qualified domain names over short names.
     * 
* * string host = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The host. */ java.lang.String getHost(); /** *
     * The name of a service from the service registry. Service
     * names are looked up from the platform's service registry (e.g.,
     * Kubernetes services, Consul services, etc.) and from the hosts
     * declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
     * destinations that are not found in either of the two, will be dropped.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. To avoid
     * potential misconfiguration, it is recommended to always use fully
     * qualified domain names over short names.
     * 
* * string host = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The bytes for host. */ com.google.protobuf.ByteString getHostBytes(); /** *
     * The name of a subset within the service. Applicable only to services
     * within the mesh. The subset must be defined in a corresponding
     * DestinationRule.
     * 
* * string subset = 2; * @return The subset. */ java.lang.String getSubset(); /** *
     * The name of a subset within the service. Applicable only to services
     * within the mesh. The subset must be defined in a corresponding
     * DestinationRule.
     * 
* * string subset = 2; * @return The bytes for subset. */ com.google.protobuf.ByteString getSubsetBytes(); /** *
     * Specifies the port on the host that is being addressed. If a service
     * exposes only a single port it is not required to explicitly select the
     * port.
     * 
* * .istio.networking.v1alpha3.PortSelector port = 3; * @return Whether the port field is set. */ boolean hasPort(); /** *
     * Specifies the port on the host that is being addressed. If a service
     * exposes only a single port it is not required to explicitly select the
     * port.
     * 
* * .istio.networking.v1alpha3.PortSelector port = 3; * @return The port. */ istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector getPort(); /** *
     * Specifies the port on the host that is being addressed. If a service
     * exposes only a single port it is not required to explicitly select the
     * port.
     * 
* * .istio.networking.v1alpha3.PortSelector port = 3; */ istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelectorOrBuilder getPortOrBuilder(); } /** *
   * Destination indicates the network addressable service to which the
   * request/connection will be sent after processing a routing rule. The
   * destination.host should unambiguously refer to a service in the service
   * registry. Istio's service registry is composed of all the services found
   * in the platform's service registry (e.g., Kubernetes services, Consul
   * services), as well as services declared through the
   * [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry) resource.
   * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
   * instead of "reviews.default.svc.cluster.local"), Istio will interpret
   * the short name based on the namespace of the rule, not the service. A
   * rule in the "default" namespace containing a host "reviews will be
   * interpreted as "reviews.default.svc.cluster.local", irrespective of the
   * actual namespace associated with the reviews service. _To avoid potential
   * misconfigurations, it is recommended to always use fully qualified
   * domain names over short names._
   * The following Kubernetes example routes all traffic by default to pods
   * of the reviews service with label "version: v1" (i.e., subset v1), and
   * some to subset v2, in a Kubernetes environment.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: reviews-route
   *   namespace: foo
   * spec:
   *   hosts:
   *   - reviews # interpreted as reviews.foo.svc.cluster.local
   *   http:
   *   - match:
   *     - uri:
   *         prefix: "/wpcatalog"
   *     - uri:
   *         prefix: "/consumercatalog"
   *     rewrite:
   *       uri: "/newcatalog"
   *     route:
   *     - destination:
   *         host: reviews # interpreted as reviews.foo.svc.cluster.local
   *         subset: v2
   *   - route:
   *     - destination:
   *         host: reviews # interpreted as reviews.foo.svc.cluster.local
   *         subset: v1
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: reviews-route
   *   namespace: foo
   * spec:
   *   hosts:
   *   - reviews # interpreted as reviews.foo.svc.cluster.local
   *   http:
   *   - match:
   *     - uri:
   *         prefix: "/wpcatalog"
   *     - uri:
   *         prefix: "/consumercatalog"
   *     rewrite:
   *       uri: "/newcatalog"
   *     route:
   *     - destination:
   *         host: reviews # interpreted as reviews.foo.svc.cluster.local
   *         subset: v2
   *   - route:
   *     - destination:
   *         host: reviews # interpreted as reviews.foo.svc.cluster.local
   *         subset: v1
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * And the associated DestinationRule
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: DestinationRule
   * metadata:
   *   name: reviews-destination
   *   namespace: foo
   * spec:
   *   host: reviews # interpreted as reviews.foo.svc.cluster.local
   *   subsets:
   *   - name: v1
   *     labels:
   *       version: v1
   *   - name: v2
   *     labels:
   *       version: v2
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: DestinationRule
   * metadata:
   *   name: reviews-destination
   *   namespace: foo
   * spec:
   *   host: reviews # interpreted as reviews.foo.svc.cluster.local
   *   subsets:
   *   - name: v1
   *     labels:
   *       version: v1
   *   - name: v2
   *     labels:
   *       version: v2
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * The following VirtualService sets a timeout of 5s for all calls to
   * productpage.prod.svc.cluster.local service in Kubernetes. Notice that
   * there are no subsets defined in this rule. Istio will fetch all
   * instances of productpage.prod.svc.cluster.local service from the service
   * registry and populate the sidecar's load balancing pool. Also, notice
   * that this rule is set in the istio-system namespace but uses the fully
   * qualified domain name of the productpage service,
   * productpage.prod.svc.cluster.local. Therefore the rule's namespace does
   * not have an impact in resolving the name of the productpage service.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: my-productpage-rule
   *   namespace: istio-system
   * spec:
   *   hosts:
   *   - productpage.prod.svc.cluster.local # ignores rule namespace
   *   http:
   *   - timeout: 5s
   *     route:
   *     - destination:
   *         host: productpage.prod.svc.cluster.local
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: my-productpage-rule
   *   namespace: istio-system
   * spec:
   *   hosts:
   *   - productpage.prod.svc.cluster.local # ignores rule namespace
   *   http:
   *   - timeout: 5s
   *     route:
   *     - destination:
   *         host: productpage.prod.svc.cluster.local
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * To control routing for traffic bound to services outside the mesh, external
   * services must first be added to Istio's internal service registry using the
   * ServiceEntry resource. VirtualServices can then be defined to control traffic
   * bound to these external services. For example, the following rules define a
   * Service for wikipedia.org and set a timeout of 5s for HTTP requests.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: ServiceEntry
   * metadata:
   *   name: external-svc-wikipedia
   * spec:
   *   hosts:
   *   - wikipedia.org
   *   location: MESH_EXTERNAL
   *   ports:
   *   - number: 80
   *     name: example-http
   *     protocol: HTTP
   *   resolution: DNS
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: my-wiki-rule
   * spec:
   *   hosts:
   *   - wikipedia.org
   *   http:
   *   - timeout: 5s
   *     route:
   *     - destination:
   *         host: wikipedia.org
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: ServiceEntry
   * metadata:
   *   name: external-svc-wikipedia
   * spec:
   *   hosts:
   *   - wikipedia.org
   *   location: MESH_EXTERNAL
   *   ports:
   *   - number: 80
   *     name: example-http
   *     protocol: HTTP
   *   resolution: DNS
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: my-wiki-rule
   * spec:
   *   hosts:
   *   - wikipedia.org
   *   http:
   *   - timeout: 5s
   *     route:
   *     - destination:
   *         host: wikipedia.org
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * 
* * Protobuf type {@code istio.networking.v1alpha3.Destination} */ public static final class Destination extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.Destination) DestinationOrBuilder { private static final long serialVersionUID = 0L; // Use Destination.newBuilder() to construct. private Destination(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Destination() { host_ = ""; subset_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Destination(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Destination( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); host_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); subset_ = s; break; } case 26: { istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.Builder subBuilder = null; if (port_ != null) { subBuilder = port_.toBuilder(); } port_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(port_); port_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Destination_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Destination_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder.class); } public static final int HOST_FIELD_NUMBER = 1; private volatile java.lang.Object host_; /** *
     * The name of a service from the service registry. Service
     * names are looked up from the platform's service registry (e.g.,
     * Kubernetes services, Consul services, etc.) and from the hosts
     * declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
     * destinations that are not found in either of the two, will be dropped.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. To avoid
     * potential misconfiguration, it is recommended to always use fully
     * qualified domain names over short names.
     * 
* * string host = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The host. */ @java.lang.Override public java.lang.String getHost() { java.lang.Object ref = host_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); host_ = s; return s; } } /** *
     * The name of a service from the service registry. Service
     * names are looked up from the platform's service registry (e.g.,
     * Kubernetes services, Consul services, etc.) and from the hosts
     * declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
     * destinations that are not found in either of the two, will be dropped.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of
     * the actual namespace associated with the reviews service. To avoid
     * potential misconfiguration, it is recommended to always use fully
     * qualified domain names over short names.
     * 
* * string host = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The bytes for host. */ @java.lang.Override public com.google.protobuf.ByteString getHostBytes() { java.lang.Object ref = host_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); host_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SUBSET_FIELD_NUMBER = 2; private volatile java.lang.Object subset_; /** *
     * The name of a subset within the service. Applicable only to services
     * within the mesh. The subset must be defined in a corresponding
     * DestinationRule.
     * 
* * string subset = 2; * @return The subset. */ @java.lang.Override public java.lang.String getSubset() { java.lang.Object ref = subset_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); subset_ = s; return s; } } /** *
     * The name of a subset within the service. Applicable only to services
     * within the mesh. The subset must be defined in a corresponding
     * DestinationRule.
     * 
* * string subset = 2; * @return The bytes for subset. */ @java.lang.Override public com.google.protobuf.ByteString getSubsetBytes() { java.lang.Object ref = subset_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); subset_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int PORT_FIELD_NUMBER = 3; private istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector port_; /** *
     * Specifies the port on the host that is being addressed. If a service
     * exposes only a single port it is not required to explicitly select the
     * port.
     * 
* * .istio.networking.v1alpha3.PortSelector port = 3; * @return Whether the port field is set. */ @java.lang.Override public boolean hasPort() { return port_ != null; } /** *
     * Specifies the port on the host that is being addressed. If a service
     * exposes only a single port it is not required to explicitly select the
     * port.
     * 
* * .istio.networking.v1alpha3.PortSelector port = 3; * @return The port. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector getPort() { return port_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.getDefaultInstance() : port_; } /** *
     * Specifies the port on the host that is being addressed. If a service
     * exposes only a single port it is not required to explicitly select the
     * port.
     * 
* * .istio.networking.v1alpha3.PortSelector port = 3; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelectorOrBuilder getPortOrBuilder() { return getPort(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!getHostBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, host_); } if (!getSubsetBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, subset_); } if (port_ != null) { output.writeMessage(3, getPort()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getHostBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, host_); } if (!getSubsetBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, subset_); } if (port_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getPort()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Destination)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.Destination other = (istio.networking.v1alpha3.VirtualServiceOuterClass.Destination) obj; if (!getHost() .equals(other.getHost())) return false; if (!getSubset() .equals(other.getSubset())) return false; if (hasPort() != other.hasPort()) return false; if (hasPort()) { if (!getPort() .equals(other.getPort())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + HOST_FIELD_NUMBER; hash = (53 * hash) + getHost().hashCode(); hash = (37 * hash) + SUBSET_FIELD_NUMBER; hash = (53 * hash) + getSubset().hashCode(); if (hasPort()) { hash = (37 * hash) + PORT_FIELD_NUMBER; hash = (53 * hash) + getPort().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Destination indicates the network addressable service to which the
     * request/connection will be sent after processing a routing rule. The
     * destination.host should unambiguously refer to a service in the service
     * registry. Istio's service registry is composed of all the services found
     * in the platform's service registry (e.g., Kubernetes services, Consul
     * services), as well as services declared through the
     * [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry) resource.
     * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
     * instead of "reviews.default.svc.cluster.local"), Istio will interpret
     * the short name based on the namespace of the rule, not the service. A
     * rule in the "default" namespace containing a host "reviews will be
     * interpreted as "reviews.default.svc.cluster.local", irrespective of the
     * actual namespace associated with the reviews service. _To avoid potential
     * misconfigurations, it is recommended to always use fully qualified
     * domain names over short names._
     * The following Kubernetes example routes all traffic by default to pods
     * of the reviews service with label "version: v1" (i.e., subset v1), and
     * some to subset v2, in a Kubernetes environment.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: reviews-route
     *   namespace: foo
     * spec:
     *   hosts:
     *   - reviews # interpreted as reviews.foo.svc.cluster.local
     *   http:
     *   - match:
     *     - uri:
     *         prefix: "/wpcatalog"
     *     - uri:
     *         prefix: "/consumercatalog"
     *     rewrite:
     *       uri: "/newcatalog"
     *     route:
     *     - destination:
     *         host: reviews # interpreted as reviews.foo.svc.cluster.local
     *         subset: v2
     *   - route:
     *     - destination:
     *         host: reviews # interpreted as reviews.foo.svc.cluster.local
     *         subset: v1
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: reviews-route
     *   namespace: foo
     * spec:
     *   hosts:
     *   - reviews # interpreted as reviews.foo.svc.cluster.local
     *   http:
     *   - match:
     *     - uri:
     *         prefix: "/wpcatalog"
     *     - uri:
     *         prefix: "/consumercatalog"
     *     rewrite:
     *       uri: "/newcatalog"
     *     route:
     *     - destination:
     *         host: reviews # interpreted as reviews.foo.svc.cluster.local
     *         subset: v2
     *   - route:
     *     - destination:
     *         host: reviews # interpreted as reviews.foo.svc.cluster.local
     *         subset: v1
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * And the associated DestinationRule
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: DestinationRule
     * metadata:
     *   name: reviews-destination
     *   namespace: foo
     * spec:
     *   host: reviews # interpreted as reviews.foo.svc.cluster.local
     *   subsets:
     *   - name: v1
     *     labels:
     *       version: v1
     *   - name: v2
     *     labels:
     *       version: v2
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: DestinationRule
     * metadata:
     *   name: reviews-destination
     *   namespace: foo
     * spec:
     *   host: reviews # interpreted as reviews.foo.svc.cluster.local
     *   subsets:
     *   - name: v1
     *     labels:
     *       version: v1
     *   - name: v2
     *     labels:
     *       version: v2
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * The following VirtualService sets a timeout of 5s for all calls to
     * productpage.prod.svc.cluster.local service in Kubernetes. Notice that
     * there are no subsets defined in this rule. Istio will fetch all
     * instances of productpage.prod.svc.cluster.local service from the service
     * registry and populate the sidecar's load balancing pool. Also, notice
     * that this rule is set in the istio-system namespace but uses the fully
     * qualified domain name of the productpage service,
     * productpage.prod.svc.cluster.local. Therefore the rule's namespace does
     * not have an impact in resolving the name of the productpage service.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: my-productpage-rule
     *   namespace: istio-system
     * spec:
     *   hosts:
     *   - productpage.prod.svc.cluster.local # ignores rule namespace
     *   http:
     *   - timeout: 5s
     *     route:
     *     - destination:
     *         host: productpage.prod.svc.cluster.local
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: my-productpage-rule
     *   namespace: istio-system
     * spec:
     *   hosts:
     *   - productpage.prod.svc.cluster.local # ignores rule namespace
     *   http:
     *   - timeout: 5s
     *     route:
     *     - destination:
     *         host: productpage.prod.svc.cluster.local
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * To control routing for traffic bound to services outside the mesh, external
     * services must first be added to Istio's internal service registry using the
     * ServiceEntry resource. VirtualServices can then be defined to control traffic
     * bound to these external services. For example, the following rules define a
     * Service for wikipedia.org and set a timeout of 5s for HTTP requests.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: ServiceEntry
     * metadata:
     *   name: external-svc-wikipedia
     * spec:
     *   hosts:
     *   - wikipedia.org
     *   location: MESH_EXTERNAL
     *   ports:
     *   - number: 80
     *     name: example-http
     *     protocol: HTTP
     *   resolution: DNS
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: my-wiki-rule
     * spec:
     *   hosts:
     *   - wikipedia.org
     *   http:
     *   - timeout: 5s
     *     route:
     *     - destination:
     *         host: wikipedia.org
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: ServiceEntry
     * metadata:
     *   name: external-svc-wikipedia
     * spec:
     *   hosts:
     *   - wikipedia.org
     *   location: MESH_EXTERNAL
     *   ports:
     *   - number: 80
     *     name: example-http
     *     protocol: HTTP
     *   resolution: DNS
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: my-wiki-rule
     * spec:
     *   hosts:
     *   - wikipedia.org
     *   http:
     *   - timeout: 5s
     *     route:
     *     - destination:
     *         host: wikipedia.org
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * 
* * Protobuf type {@code istio.networking.v1alpha3.Destination} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.Destination) istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Destination_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Destination_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); host_ = ""; subset_ = ""; if (portBuilder_ == null) { port_ = null; } else { port_ = null; portBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Destination_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination build() { istio.networking.v1alpha3.VirtualServiceOuterClass.Destination result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.Destination result = new istio.networking.v1alpha3.VirtualServiceOuterClass.Destination(this); result.host_ = host_; result.subset_ = subset_; if (portBuilder_ == null) { result.port_ = port_; } else { result.port_ = portBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Destination) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.Destination)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance()) return this; if (!other.getHost().isEmpty()) { host_ = other.host_; onChanged(); } if (!other.getSubset().isEmpty()) { subset_ = other.subset_; onChanged(); } if (other.hasPort()) { mergePort(other.getPort()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.Destination parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.Destination) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private java.lang.Object host_ = ""; /** *
       * The name of a service from the service registry. Service
       * names are looked up from the platform's service registry (e.g.,
       * Kubernetes services, Consul services, etc.) and from the hosts
       * declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
       * destinations that are not found in either of the two, will be dropped.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. To avoid
       * potential misconfiguration, it is recommended to always use fully
       * qualified domain names over short names.
       * 
* * string host = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The host. */ public java.lang.String getHost() { java.lang.Object ref = host_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); host_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * The name of a service from the service registry. Service
       * names are looked up from the platform's service registry (e.g.,
       * Kubernetes services, Consul services, etc.) and from the hosts
       * declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
       * destinations that are not found in either of the two, will be dropped.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. To avoid
       * potential misconfiguration, it is recommended to always use fully
       * qualified domain names over short names.
       * 
* * string host = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The bytes for host. */ public com.google.protobuf.ByteString getHostBytes() { java.lang.Object ref = host_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); host_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * The name of a service from the service registry. Service
       * names are looked up from the platform's service registry (e.g.,
       * Kubernetes services, Consul services, etc.) and from the hosts
       * declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
       * destinations that are not found in either of the two, will be dropped.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. To avoid
       * potential misconfiguration, it is recommended to always use fully
       * qualified domain names over short names.
       * 
* * string host = 1 [(.google.api.field_behavior) = REQUIRED]; * @param value The host to set. * @return This builder for chaining. */ public Builder setHost( java.lang.String value) { if (value == null) { throw new NullPointerException(); } host_ = value; onChanged(); return this; } /** *
       * The name of a service from the service registry. Service
       * names are looked up from the platform's service registry (e.g.,
       * Kubernetes services, Consul services, etc.) and from the hosts
       * declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
       * destinations that are not found in either of the two, will be dropped.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. To avoid
       * potential misconfiguration, it is recommended to always use fully
       * qualified domain names over short names.
       * 
* * string host = 1 [(.google.api.field_behavior) = REQUIRED]; * @return This builder for chaining. */ public Builder clearHost() { host_ = getDefaultInstance().getHost(); onChanged(); return this; } /** *
       * The name of a service from the service registry. Service
       * names are looked up from the platform's service registry (e.g.,
       * Kubernetes services, Consul services, etc.) and from the hosts
       * declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
       * destinations that are not found in either of the two, will be dropped.
       * *Note for Kubernetes users*: When short names are used (e.g. "reviews"
       * instead of "reviews.default.svc.cluster.local"), Istio will interpret
       * the short name based on the namespace of the rule, not the service. A
       * rule in the "default" namespace containing a host "reviews will be
       * interpreted as "reviews.default.svc.cluster.local", irrespective of
       * the actual namespace associated with the reviews service. To avoid
       * potential misconfiguration, it is recommended to always use fully
       * qualified domain names over short names.
       * 
* * string host = 1 [(.google.api.field_behavior) = REQUIRED]; * @param value The bytes for host to set. * @return This builder for chaining. */ public Builder setHostBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); host_ = value; onChanged(); return this; } private java.lang.Object subset_ = ""; /** *
       * The name of a subset within the service. Applicable only to services
       * within the mesh. The subset must be defined in a corresponding
       * DestinationRule.
       * 
* * string subset = 2; * @return The subset. */ public java.lang.String getSubset() { java.lang.Object ref = subset_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); subset_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * The name of a subset within the service. Applicable only to services
       * within the mesh. The subset must be defined in a corresponding
       * DestinationRule.
       * 
* * string subset = 2; * @return The bytes for subset. */ public com.google.protobuf.ByteString getSubsetBytes() { java.lang.Object ref = subset_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); subset_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * The name of a subset within the service. Applicable only to services
       * within the mesh. The subset must be defined in a corresponding
       * DestinationRule.
       * 
* * string subset = 2; * @param value The subset to set. * @return This builder for chaining. */ public Builder setSubset( java.lang.String value) { if (value == null) { throw new NullPointerException(); } subset_ = value; onChanged(); return this; } /** *
       * The name of a subset within the service. Applicable only to services
       * within the mesh. The subset must be defined in a corresponding
       * DestinationRule.
       * 
* * string subset = 2; * @return This builder for chaining. */ public Builder clearSubset() { subset_ = getDefaultInstance().getSubset(); onChanged(); return this; } /** *
       * The name of a subset within the service. Applicable only to services
       * within the mesh. The subset must be defined in a corresponding
       * DestinationRule.
       * 
* * string subset = 2; * @param value The bytes for subset to set. * @return This builder for chaining. */ public Builder setSubsetBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); subset_ = value; onChanged(); return this; } private istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector port_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector, istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelectorOrBuilder> portBuilder_; /** *
       * Specifies the port on the host that is being addressed. If a service
       * exposes only a single port it is not required to explicitly select the
       * port.
       * 
* * .istio.networking.v1alpha3.PortSelector port = 3; * @return Whether the port field is set. */ public boolean hasPort() { return portBuilder_ != null || port_ != null; } /** *
       * Specifies the port on the host that is being addressed. If a service
       * exposes only a single port it is not required to explicitly select the
       * port.
       * 
* * .istio.networking.v1alpha3.PortSelector port = 3; * @return The port. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector getPort() { if (portBuilder_ == null) { return port_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.getDefaultInstance() : port_; } else { return portBuilder_.getMessage(); } } /** *
       * Specifies the port on the host that is being addressed. If a service
       * exposes only a single port it is not required to explicitly select the
       * port.
       * 
* * .istio.networking.v1alpha3.PortSelector port = 3; */ public Builder setPort(istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector value) { if (portBuilder_ == null) { if (value == null) { throw new NullPointerException(); } port_ = value; onChanged(); } else { portBuilder_.setMessage(value); } return this; } /** *
       * Specifies the port on the host that is being addressed. If a service
       * exposes only a single port it is not required to explicitly select the
       * port.
       * 
* * .istio.networking.v1alpha3.PortSelector port = 3; */ public Builder setPort( istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.Builder builderForValue) { if (portBuilder_ == null) { port_ = builderForValue.build(); onChanged(); } else { portBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Specifies the port on the host that is being addressed. If a service
       * exposes only a single port it is not required to explicitly select the
       * port.
       * 
* * .istio.networking.v1alpha3.PortSelector port = 3; */ public Builder mergePort(istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector value) { if (portBuilder_ == null) { if (port_ != null) { port_ = istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.newBuilder(port_).mergeFrom(value).buildPartial(); } else { port_ = value; } onChanged(); } else { portBuilder_.mergeFrom(value); } return this; } /** *
       * Specifies the port on the host that is being addressed. If a service
       * exposes only a single port it is not required to explicitly select the
       * port.
       * 
* * .istio.networking.v1alpha3.PortSelector port = 3; */ public Builder clearPort() { if (portBuilder_ == null) { port_ = null; onChanged(); } else { port_ = null; portBuilder_ = null; } return this; } /** *
       * Specifies the port on the host that is being addressed. If a service
       * exposes only a single port it is not required to explicitly select the
       * port.
       * 
* * .istio.networking.v1alpha3.PortSelector port = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.Builder getPortBuilder() { onChanged(); return getPortFieldBuilder().getBuilder(); } /** *
       * Specifies the port on the host that is being addressed. If a service
       * exposes only a single port it is not required to explicitly select the
       * port.
       * 
* * .istio.networking.v1alpha3.PortSelector port = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelectorOrBuilder getPortOrBuilder() { if (portBuilder_ != null) { return portBuilder_.getMessageOrBuilder(); } else { return port_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.getDefaultInstance() : port_; } } /** *
       * Specifies the port on the host that is being addressed. If a service
       * exposes only a single port it is not required to explicitly select the
       * port.
       * 
* * .istio.networking.v1alpha3.PortSelector port = 3; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector, istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelectorOrBuilder> getPortFieldBuilder() { if (portBuilder_ == null) { portBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector, istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelectorOrBuilder>( getPort(), getParentForChildren(), isClean()); port_ = null; } return portBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.Destination) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Destination) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.Destination DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.Destination(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Destination parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new Destination(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface HTTPRouteOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.HTTPRoute) com.google.protobuf.MessageOrBuilder { /** *
     * The name assigned to the route for debugging purposes. The
     * route's name will be concatenated with the match's name and will
     * be logged in the access logs for requests matching this
     * route/match.
     * 
* * string name = 17; * @return The name. */ java.lang.String getName(); /** *
     * The name assigned to the route for debugging purposes. The
     * route's name will be concatenated with the match's name and will
     * be logged in the access logs for requests matching this
     * route/match.
     * 
* * string name = 17; * @return The bytes for name. */ com.google.protobuf.ByteString getNameBytes(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ java.util.List getMatchList(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest getMatch(int index); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ int getMatchCount(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ java.util.List getMatchOrBuilderList(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequestOrBuilder getMatchOrBuilder( int index); /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ java.util.List getRouteList(); /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination getRoute(int index); /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ int getRouteCount(); /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ java.util.List getRouteOrBuilderList(); /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestinationOrBuilder getRouteOrBuilder( int index); /** *
     * A HTTP rule can either redirect or forward (default) traffic. If
     * traffic passthrough option is specified in the rule,
     * route/redirect will be ignored. The redirect primitive can be used to
     * send a HTTP 301 redirect to a different URI or Authority.
     * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; * @return Whether the redirect field is set. */ boolean hasRedirect(); /** *
     * A HTTP rule can either redirect or forward (default) traffic. If
     * traffic passthrough option is specified in the rule,
     * route/redirect will be ignored. The redirect primitive can be used to
     * send a HTTP 301 redirect to a different URI or Authority.
     * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; * @return The redirect. */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect getRedirect(); /** *
     * A HTTP rule can either redirect or forward (default) traffic. If
     * traffic passthrough option is specified in the rule,
     * route/redirect will be ignored. The redirect primitive can be used to
     * send a HTTP 301 redirect to a different URI or Authority.
     * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirectOrBuilder getRedirectOrBuilder(); /** *
     * Delegate is used to specify the particular VirtualService which
     * can be used to define delegate HTTPRoute.
     * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
     * delegate VirtualService will be merged with that in the current one.
     * **NOTE**:
     *    1. Only one level delegation is supported.
     *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
     *       otherwise there is a conflict and the HTTPRoute will not take effect.
     * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; * @return Whether the delegate field is set. */ boolean hasDelegate(); /** *
     * Delegate is used to specify the particular VirtualService which
     * can be used to define delegate HTTPRoute.
     * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
     * delegate VirtualService will be merged with that in the current one.
     * **NOTE**:
     *    1. Only one level delegation is supported.
     *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
     *       otherwise there is a conflict and the HTTPRoute will not take effect.
     * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; * @return The delegate. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate getDelegate(); /** *
     * Delegate is used to specify the particular VirtualService which
     * can be used to define delegate HTTPRoute.
     * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
     * delegate VirtualService will be merged with that in the current one.
     * **NOTE**:
     *    1. Only one level delegation is supported.
     *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
     *       otherwise there is a conflict and the HTTPRoute will not take effect.
     * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; */ istio.networking.v1alpha3.VirtualServiceOuterClass.DelegateOrBuilder getDelegateOrBuilder(); /** *
     * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
     * Redirect primitive. Rewrite will be performed before forwarding.
     * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; * @return Whether the rewrite field is set. */ boolean hasRewrite(); /** *
     * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
     * Redirect primitive. Rewrite will be performed before forwarding.
     * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; * @return The rewrite. */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite getRewrite(); /** *
     * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
     * Redirect primitive. Rewrite will be performed before forwarding.
     * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewriteOrBuilder getRewriteOrBuilder(); /** *
     * Timeout for HTTP requests, default is disabled.
     * 
* * .google.protobuf.Duration timeout = 6; * @return Whether the timeout field is set. */ boolean hasTimeout(); /** *
     * Timeout for HTTP requests, default is disabled.
     * 
* * .google.protobuf.Duration timeout = 6; * @return The timeout. */ com.google.protobuf.Duration getTimeout(); /** *
     * Timeout for HTTP requests, default is disabled.
     * 
* * .google.protobuf.Duration timeout = 6; */ com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder(); /** *
     * Retry policy for HTTP requests.
     * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; * @return Whether the retries field is set. */ boolean hasRetries(); /** *
     * Retry policy for HTTP requests.
     * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; * @return The retries. */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry getRetries(); /** *
     * Retry policy for HTTP requests.
     * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetryOrBuilder getRetriesOrBuilder(); /** *
     * Fault injection policy to apply on HTTP traffic at the client side.
     * Note that timeouts or retries will not be enabled when faults are
     * enabled on the client side.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; * @return Whether the fault field is set. */ boolean hasFault(); /** *
     * Fault injection policy to apply on HTTP traffic at the client side.
     * Note that timeouts or retries will not be enabled when faults are
     * enabled on the client side.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; * @return The fault. */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection getFault(); /** *
     * Fault injection policy to apply on HTTP traffic at the client side.
     * Note that timeouts or retries will not be enabled when faults are
     * enabled on the client side.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjectionOrBuilder getFaultOrBuilder(); /** *
     * Mirror HTTP traffic to a another destination in addition to forwarding
     * the requests to the intended destination. Mirrored traffic is on a
     * best effort basis where the sidecar/gateway will not wait for the
     * mirrored cluster to respond before returning the response from the
     * original destination.  Statistics will be generated for the mirrored
     * destination.
     * 
* * .istio.networking.v1alpha3.Destination mirror = 9; * @return Whether the mirror field is set. */ boolean hasMirror(); /** *
     * Mirror HTTP traffic to a another destination in addition to forwarding
     * the requests to the intended destination. Mirrored traffic is on a
     * best effort basis where the sidecar/gateway will not wait for the
     * mirrored cluster to respond before returning the response from the
     * original destination.  Statistics will be generated for the mirrored
     * destination.
     * 
* * .istio.networking.v1alpha3.Destination mirror = 9; * @return The mirror. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getMirror(); /** *
     * Mirror HTTP traffic to a another destination in addition to forwarding
     * the requests to the intended destination. Mirrored traffic is on a
     * best effort basis where the sidecar/gateway will not wait for the
     * mirrored cluster to respond before returning the response from the
     * original destination.  Statistics will be generated for the mirrored
     * destination.
     * 
* * .istio.networking.v1alpha3.Destination mirror = 9; */ istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder getMirrorOrBuilder(); /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * Use of integer `mirror_percent` value is deprecated. Use the
     * double `mirror_percentage` field instead
     * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; * @return Whether the mirrorPercent field is set. */ @java.lang.Deprecated boolean hasMirrorPercent(); /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * Use of integer `mirror_percent` value is deprecated. Use the
     * double `mirror_percentage` field instead
     * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; * @return The mirrorPercent. */ @java.lang.Deprecated com.google.protobuf.UInt32Value getMirrorPercent(); /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * Use of integer `mirror_percent` value is deprecated. Use the
     * double `mirror_percentage` field instead
     * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; */ @java.lang.Deprecated com.google.protobuf.UInt32ValueOrBuilder getMirrorPercentOrBuilder(); /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * If this field is absent, all the traffic (100%) will be mirrored.
     * Max value is 100.
     * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; * @return Whether the mirrorPercentage field is set. */ boolean hasMirrorPercentage(); /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * If this field is absent, all the traffic (100%) will be mirrored.
     * Max value is 100.
     * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; * @return The mirrorPercentage. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getMirrorPercentage(); /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * If this field is absent, all the traffic (100%) will be mirrored.
     * Max value is 100.
     * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; */ istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder getMirrorPercentageOrBuilder(); /** *
     * Cross-Origin Resource Sharing policy (CORS). Refer to
     * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
     * for further details about cross origin resource sharing.
     * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; * @return Whether the corsPolicy field is set. */ boolean hasCorsPolicy(); /** *
     * Cross-Origin Resource Sharing policy (CORS). Refer to
     * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
     * for further details about cross origin resource sharing.
     * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; * @return The corsPolicy. */ istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy getCorsPolicy(); /** *
     * Cross-Origin Resource Sharing policy (CORS). Refer to
     * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
     * for further details about cross origin resource sharing.
     * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; */ istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicyOrBuilder getCorsPolicyOrBuilder(); /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 16; * @return Whether the headers field is set. */ boolean hasHeaders(); /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 16; * @return The headers. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Headers getHeaders(); /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 16; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder getHeadersOrBuilder(); } /** *
   * Describes match conditions and actions for routing HTTP/1.1, HTTP2, and
   * gRPC traffic. See VirtualService for usage examples.
   * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRoute} */ public static final class HTTPRoute extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.HTTPRoute) HTTPRouteOrBuilder { private static final long serialVersionUID = 0L; // Use HTTPRoute.newBuilder() to construct. private HTTPRoute(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private HTTPRoute() { name_ = ""; match_ = java.util.Collections.emptyList(); route_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HTTPRoute(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private HTTPRoute( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { match_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } match_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.parser(), extensionRegistry)); break; } case 18: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { route_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000002; } route_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.parser(), extensionRegistry)); break; } case 26: { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.Builder subBuilder = null; if (redirect_ != null) { subBuilder = redirect_.toBuilder(); } redirect_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(redirect_); redirect_ = subBuilder.buildPartial(); } break; } case 34: { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.Builder subBuilder = null; if (rewrite_ != null) { subBuilder = rewrite_.toBuilder(); } rewrite_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(rewrite_); rewrite_ = subBuilder.buildPartial(); } break; } case 50: { com.google.protobuf.Duration.Builder subBuilder = null; if (timeout_ != null) { subBuilder = timeout_.toBuilder(); } timeout_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(timeout_); timeout_ = subBuilder.buildPartial(); } break; } case 58: { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.Builder subBuilder = null; if (retries_ != null) { subBuilder = retries_.toBuilder(); } retries_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(retries_); retries_ = subBuilder.buildPartial(); } break; } case 66: { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Builder subBuilder = null; if (fault_ != null) { subBuilder = fault_.toBuilder(); } fault_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(fault_); fault_ = subBuilder.buildPartial(); } break; } case 74: { istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder subBuilder = null; if (mirror_ != null) { subBuilder = mirror_.toBuilder(); } mirror_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(mirror_); mirror_ = subBuilder.buildPartial(); } break; } case 82: { istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.Builder subBuilder = null; if (corsPolicy_ != null) { subBuilder = corsPolicy_.toBuilder(); } corsPolicy_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(corsPolicy_); corsPolicy_ = subBuilder.buildPartial(); } break; } case 130: { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder subBuilder = null; if (headers_ != null) { subBuilder = headers_.toBuilder(); } headers_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(headers_); headers_ = subBuilder.buildPartial(); } break; } case 138: { java.lang.String s = input.readStringRequireUtf8(); name_ = s; break; } case 146: { com.google.protobuf.UInt32Value.Builder subBuilder = null; if (mirrorPercent_ != null) { subBuilder = mirrorPercent_.toBuilder(); } mirrorPercent_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(mirrorPercent_); mirrorPercent_ = subBuilder.buildPartial(); } break; } case 154: { istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder subBuilder = null; if (mirrorPercentage_ != null) { subBuilder = mirrorPercentage_.toBuilder(); } mirrorPercentage_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(mirrorPercentage_); mirrorPercentage_ = subBuilder.buildPartial(); } break; } case 162: { istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.Builder subBuilder = null; if (delegate_ != null) { subBuilder = delegate_.toBuilder(); } delegate_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(delegate_); delegate_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { match_ = java.util.Collections.unmodifiableList(match_); } if (((mutable_bitField0_ & 0x00000002) != 0)) { route_ = java.util.Collections.unmodifiableList(route_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRoute_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRoute_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder.class); } public static final int NAME_FIELD_NUMBER = 17; private volatile java.lang.Object name_; /** *
     * The name assigned to the route for debugging purposes. The
     * route's name will be concatenated with the match's name and will
     * be logged in the access logs for requests matching this
     * route/match.
     * 
* * string name = 17; * @return The name. */ @java.lang.Override public java.lang.String getName() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } } /** *
     * The name assigned to the route for debugging purposes. The
     * route's name will be concatenated with the match's name and will
     * be logged in the access logs for requests matching this
     * route/match.
     * 
* * string name = 17; * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int MATCH_FIELD_NUMBER = 1; private java.util.List match_; /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ @java.lang.Override public java.util.List getMatchList() { return match_; } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ @java.lang.Override public java.util.List getMatchOrBuilderList() { return match_; } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ @java.lang.Override public int getMatchCount() { return match_.size(); } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest getMatch(int index) { return match_.get(index); } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequestOrBuilder getMatchOrBuilder( int index) { return match_.get(index); } public static final int ROUTE_FIELD_NUMBER = 2; private java.util.List route_; /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ @java.lang.Override public java.util.List getRouteList() { return route_; } /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ @java.lang.Override public java.util.List getRouteOrBuilderList() { return route_; } /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ @java.lang.Override public int getRouteCount() { return route_.size(); } /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination getRoute(int index) { return route_.get(index); } /** *
     * A HTTP rule can either redirect or forward (default) traffic. The
     * forwarding target can be one of several versions of a service (see
     * glossary in beginning of document). Weights associated with the
     * service version determine the proportion of traffic it receives.
     * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestinationOrBuilder getRouteOrBuilder( int index) { return route_.get(index); } public static final int REDIRECT_FIELD_NUMBER = 3; private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect redirect_; /** *
     * A HTTP rule can either redirect or forward (default) traffic. If
     * traffic passthrough option is specified in the rule,
     * route/redirect will be ignored. The redirect primitive can be used to
     * send a HTTP 301 redirect to a different URI or Authority.
     * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; * @return Whether the redirect field is set. */ @java.lang.Override public boolean hasRedirect() { return redirect_ != null; } /** *
     * A HTTP rule can either redirect or forward (default) traffic. If
     * traffic passthrough option is specified in the rule,
     * route/redirect will be ignored. The redirect primitive can be used to
     * send a HTTP 301 redirect to a different URI or Authority.
     * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; * @return The redirect. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect getRedirect() { return redirect_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.getDefaultInstance() : redirect_; } /** *
     * A HTTP rule can either redirect or forward (default) traffic. If
     * traffic passthrough option is specified in the rule,
     * route/redirect will be ignored. The redirect primitive can be used to
     * send a HTTP 301 redirect to a different URI or Authority.
     * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirectOrBuilder getRedirectOrBuilder() { return getRedirect(); } public static final int DELEGATE_FIELD_NUMBER = 20; private istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate delegate_; /** *
     * Delegate is used to specify the particular VirtualService which
     * can be used to define delegate HTTPRoute.
     * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
     * delegate VirtualService will be merged with that in the current one.
     * **NOTE**:
     *    1. Only one level delegation is supported.
     *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
     *       otherwise there is a conflict and the HTTPRoute will not take effect.
     * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; * @return Whether the delegate field is set. */ @java.lang.Override public boolean hasDelegate() { return delegate_ != null; } /** *
     * Delegate is used to specify the particular VirtualService which
     * can be used to define delegate HTTPRoute.
     * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
     * delegate VirtualService will be merged with that in the current one.
     * **NOTE**:
     *    1. Only one level delegation is supported.
     *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
     *       otherwise there is a conflict and the HTTPRoute will not take effect.
     * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; * @return The delegate. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate getDelegate() { return delegate_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.getDefaultInstance() : delegate_; } /** *
     * Delegate is used to specify the particular VirtualService which
     * can be used to define delegate HTTPRoute.
     * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
     * delegate VirtualService will be merged with that in the current one.
     * **NOTE**:
     *    1. Only one level delegation is supported.
     *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
     *       otherwise there is a conflict and the HTTPRoute will not take effect.
     * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.DelegateOrBuilder getDelegateOrBuilder() { return getDelegate(); } public static final int REWRITE_FIELD_NUMBER = 4; private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite rewrite_; /** *
     * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
     * Redirect primitive. Rewrite will be performed before forwarding.
     * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; * @return Whether the rewrite field is set. */ @java.lang.Override public boolean hasRewrite() { return rewrite_ != null; } /** *
     * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
     * Redirect primitive. Rewrite will be performed before forwarding.
     * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; * @return The rewrite. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite getRewrite() { return rewrite_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.getDefaultInstance() : rewrite_; } /** *
     * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
     * Redirect primitive. Rewrite will be performed before forwarding.
     * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewriteOrBuilder getRewriteOrBuilder() { return getRewrite(); } public static final int TIMEOUT_FIELD_NUMBER = 6; private com.google.protobuf.Duration timeout_; /** *
     * Timeout for HTTP requests, default is disabled.
     * 
* * .google.protobuf.Duration timeout = 6; * @return Whether the timeout field is set. */ @java.lang.Override public boolean hasTimeout() { return timeout_ != null; } /** *
     * Timeout for HTTP requests, default is disabled.
     * 
* * .google.protobuf.Duration timeout = 6; * @return The timeout. */ @java.lang.Override public com.google.protobuf.Duration getTimeout() { return timeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeout_; } /** *
     * Timeout for HTTP requests, default is disabled.
     * 
* * .google.protobuf.Duration timeout = 6; */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder() { return getTimeout(); } public static final int RETRIES_FIELD_NUMBER = 7; private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry retries_; /** *
     * Retry policy for HTTP requests.
     * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; * @return Whether the retries field is set. */ @java.lang.Override public boolean hasRetries() { return retries_ != null; } /** *
     * Retry policy for HTTP requests.
     * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; * @return The retries. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry getRetries() { return retries_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.getDefaultInstance() : retries_; } /** *
     * Retry policy for HTTP requests.
     * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetryOrBuilder getRetriesOrBuilder() { return getRetries(); } public static final int FAULT_FIELD_NUMBER = 8; private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection fault_; /** *
     * Fault injection policy to apply on HTTP traffic at the client side.
     * Note that timeouts or retries will not be enabled when faults are
     * enabled on the client side.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; * @return Whether the fault field is set. */ @java.lang.Override public boolean hasFault() { return fault_ != null; } /** *
     * Fault injection policy to apply on HTTP traffic at the client side.
     * Note that timeouts or retries will not be enabled when faults are
     * enabled on the client side.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; * @return The fault. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection getFault() { return fault_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.getDefaultInstance() : fault_; } /** *
     * Fault injection policy to apply on HTTP traffic at the client side.
     * Note that timeouts or retries will not be enabled when faults are
     * enabled on the client side.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjectionOrBuilder getFaultOrBuilder() { return getFault(); } public static final int MIRROR_FIELD_NUMBER = 9; private istio.networking.v1alpha3.VirtualServiceOuterClass.Destination mirror_; /** *
     * Mirror HTTP traffic to a another destination in addition to forwarding
     * the requests to the intended destination. Mirrored traffic is on a
     * best effort basis where the sidecar/gateway will not wait for the
     * mirrored cluster to respond before returning the response from the
     * original destination.  Statistics will be generated for the mirrored
     * destination.
     * 
* * .istio.networking.v1alpha3.Destination mirror = 9; * @return Whether the mirror field is set. */ @java.lang.Override public boolean hasMirror() { return mirror_ != null; } /** *
     * Mirror HTTP traffic to a another destination in addition to forwarding
     * the requests to the intended destination. Mirrored traffic is on a
     * best effort basis where the sidecar/gateway will not wait for the
     * mirrored cluster to respond before returning the response from the
     * original destination.  Statistics will be generated for the mirrored
     * destination.
     * 
* * .istio.networking.v1alpha3.Destination mirror = 9; * @return The mirror. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getMirror() { return mirror_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance() : mirror_; } /** *
     * Mirror HTTP traffic to a another destination in addition to forwarding
     * the requests to the intended destination. Mirrored traffic is on a
     * best effort basis where the sidecar/gateway will not wait for the
     * mirrored cluster to respond before returning the response from the
     * original destination.  Statistics will be generated for the mirrored
     * destination.
     * 
* * .istio.networking.v1alpha3.Destination mirror = 9; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder getMirrorOrBuilder() { return getMirror(); } public static final int MIRROR_PERCENT_FIELD_NUMBER = 18; private com.google.protobuf.UInt32Value mirrorPercent_; /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * Use of integer `mirror_percent` value is deprecated. Use the
     * double `mirror_percentage` field instead
     * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; * @return Whether the mirrorPercent field is set. */ @java.lang.Override @java.lang.Deprecated public boolean hasMirrorPercent() { return mirrorPercent_ != null; } /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * Use of integer `mirror_percent` value is deprecated. Use the
     * double `mirror_percentage` field instead
     * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; * @return The mirrorPercent. */ @java.lang.Override @java.lang.Deprecated public com.google.protobuf.UInt32Value getMirrorPercent() { return mirrorPercent_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : mirrorPercent_; } /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * Use of integer `mirror_percent` value is deprecated. Use the
     * double `mirror_percentage` field instead
     * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; */ @java.lang.Override @java.lang.Deprecated public com.google.protobuf.UInt32ValueOrBuilder getMirrorPercentOrBuilder() { return getMirrorPercent(); } public static final int MIRROR_PERCENTAGE_FIELD_NUMBER = 19; private istio.networking.v1alpha3.VirtualServiceOuterClass.Percent mirrorPercentage_; /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * If this field is absent, all the traffic (100%) will be mirrored.
     * Max value is 100.
     * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; * @return Whether the mirrorPercentage field is set. */ @java.lang.Override public boolean hasMirrorPercentage() { return mirrorPercentage_ != null; } /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * If this field is absent, all the traffic (100%) will be mirrored.
     * Max value is 100.
     * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; * @return The mirrorPercentage. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getMirrorPercentage() { return mirrorPercentage_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance() : mirrorPercentage_; } /** *
     * Percentage of the traffic to be mirrored by the `mirror` field.
     * If this field is absent, all the traffic (100%) will be mirrored.
     * Max value is 100.
     * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder getMirrorPercentageOrBuilder() { return getMirrorPercentage(); } public static final int CORS_POLICY_FIELD_NUMBER = 10; private istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy corsPolicy_; /** *
     * Cross-Origin Resource Sharing policy (CORS). Refer to
     * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
     * for further details about cross origin resource sharing.
     * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; * @return Whether the corsPolicy field is set. */ @java.lang.Override public boolean hasCorsPolicy() { return corsPolicy_ != null; } /** *
     * Cross-Origin Resource Sharing policy (CORS). Refer to
     * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
     * for further details about cross origin resource sharing.
     * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; * @return The corsPolicy. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy getCorsPolicy() { return corsPolicy_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.getDefaultInstance() : corsPolicy_; } /** *
     * Cross-Origin Resource Sharing policy (CORS). Refer to
     * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
     * for further details about cross origin resource sharing.
     * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicyOrBuilder getCorsPolicyOrBuilder() { return getCorsPolicy(); } public static final int HEADERS_FIELD_NUMBER = 16; private istio.networking.v1alpha3.VirtualServiceOuterClass.Headers headers_; /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 16; * @return Whether the headers field is set. */ @java.lang.Override public boolean hasHeaders() { return headers_ != null; } /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 16; * @return The headers. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers getHeaders() { return headers_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.getDefaultInstance() : headers_; } /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 16; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder getHeadersOrBuilder() { return getHeaders(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < match_.size(); i++) { output.writeMessage(1, match_.get(i)); } for (int i = 0; i < route_.size(); i++) { output.writeMessage(2, route_.get(i)); } if (redirect_ != null) { output.writeMessage(3, getRedirect()); } if (rewrite_ != null) { output.writeMessage(4, getRewrite()); } if (timeout_ != null) { output.writeMessage(6, getTimeout()); } if (retries_ != null) { output.writeMessage(7, getRetries()); } if (fault_ != null) { output.writeMessage(8, getFault()); } if (mirror_ != null) { output.writeMessage(9, getMirror()); } if (corsPolicy_ != null) { output.writeMessage(10, getCorsPolicy()); } if (headers_ != null) { output.writeMessage(16, getHeaders()); } if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 17, name_); } if (mirrorPercent_ != null) { output.writeMessage(18, getMirrorPercent()); } if (mirrorPercentage_ != null) { output.writeMessage(19, getMirrorPercentage()); } if (delegate_ != null) { output.writeMessage(20, getDelegate()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (int i = 0; i < match_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, match_.get(i)); } for (int i = 0; i < route_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, route_.get(i)); } if (redirect_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getRedirect()); } if (rewrite_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getRewrite()); } if (timeout_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getTimeout()); } if (retries_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getRetries()); } if (fault_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(8, getFault()); } if (mirror_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(9, getMirror()); } if (corsPolicy_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(10, getCorsPolicy()); } if (headers_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(16, getHeaders()); } if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, name_); } if (mirrorPercent_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(18, getMirrorPercent()); } if (mirrorPercentage_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(19, getMirrorPercentage()); } if (delegate_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(20, getDelegate()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute other = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute) obj; if (!getName() .equals(other.getName())) return false; if (!getMatchList() .equals(other.getMatchList())) return false; if (!getRouteList() .equals(other.getRouteList())) return false; if (hasRedirect() != other.hasRedirect()) return false; if (hasRedirect()) { if (!getRedirect() .equals(other.getRedirect())) return false; } if (hasDelegate() != other.hasDelegate()) return false; if (hasDelegate()) { if (!getDelegate() .equals(other.getDelegate())) return false; } if (hasRewrite() != other.hasRewrite()) return false; if (hasRewrite()) { if (!getRewrite() .equals(other.getRewrite())) return false; } if (hasTimeout() != other.hasTimeout()) return false; if (hasTimeout()) { if (!getTimeout() .equals(other.getTimeout())) return false; } if (hasRetries() != other.hasRetries()) return false; if (hasRetries()) { if (!getRetries() .equals(other.getRetries())) return false; } if (hasFault() != other.hasFault()) return false; if (hasFault()) { if (!getFault() .equals(other.getFault())) return false; } if (hasMirror() != other.hasMirror()) return false; if (hasMirror()) { if (!getMirror() .equals(other.getMirror())) return false; } if (hasMirrorPercent() != other.hasMirrorPercent()) return false; if (hasMirrorPercent()) { if (!getMirrorPercent() .equals(other.getMirrorPercent())) return false; } if (hasMirrorPercentage() != other.hasMirrorPercentage()) return false; if (hasMirrorPercentage()) { if (!getMirrorPercentage() .equals(other.getMirrorPercentage())) return false; } if (hasCorsPolicy() != other.hasCorsPolicy()) return false; if (hasCorsPolicy()) { if (!getCorsPolicy() .equals(other.getCorsPolicy())) return false; } if (hasHeaders() != other.hasHeaders()) return false; if (hasHeaders()) { if (!getHeaders() .equals(other.getHeaders())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); if (getMatchCount() > 0) { hash = (37 * hash) + MATCH_FIELD_NUMBER; hash = (53 * hash) + getMatchList().hashCode(); } if (getRouteCount() > 0) { hash = (37 * hash) + ROUTE_FIELD_NUMBER; hash = (53 * hash) + getRouteList().hashCode(); } if (hasRedirect()) { hash = (37 * hash) + REDIRECT_FIELD_NUMBER; hash = (53 * hash) + getRedirect().hashCode(); } if (hasDelegate()) { hash = (37 * hash) + DELEGATE_FIELD_NUMBER; hash = (53 * hash) + getDelegate().hashCode(); } if (hasRewrite()) { hash = (37 * hash) + REWRITE_FIELD_NUMBER; hash = (53 * hash) + getRewrite().hashCode(); } if (hasTimeout()) { hash = (37 * hash) + TIMEOUT_FIELD_NUMBER; hash = (53 * hash) + getTimeout().hashCode(); } if (hasRetries()) { hash = (37 * hash) + RETRIES_FIELD_NUMBER; hash = (53 * hash) + getRetries().hashCode(); } if (hasFault()) { hash = (37 * hash) + FAULT_FIELD_NUMBER; hash = (53 * hash) + getFault().hashCode(); } if (hasMirror()) { hash = (37 * hash) + MIRROR_FIELD_NUMBER; hash = (53 * hash) + getMirror().hashCode(); } if (hasMirrorPercent()) { hash = (37 * hash) + MIRROR_PERCENT_FIELD_NUMBER; hash = (53 * hash) + getMirrorPercent().hashCode(); } if (hasMirrorPercentage()) { hash = (37 * hash) + MIRROR_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + getMirrorPercentage().hashCode(); } if (hasCorsPolicy()) { hash = (37 * hash) + CORS_POLICY_FIELD_NUMBER; hash = (53 * hash) + getCorsPolicy().hashCode(); } if (hasHeaders()) { hash = (37 * hash) + HEADERS_FIELD_NUMBER; hash = (53 * hash) + getHeaders().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Describes match conditions and actions for routing HTTP/1.1, HTTP2, and
     * gRPC traffic. See VirtualService for usage examples.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRoute} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.HTTPRoute) istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRoute_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRoute_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getMatchFieldBuilder(); getRouteFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); name_ = ""; if (matchBuilder_ == null) { match_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { matchBuilder_.clear(); } if (routeBuilder_ == null) { route_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { routeBuilder_.clear(); } if (redirectBuilder_ == null) { redirect_ = null; } else { redirect_ = null; redirectBuilder_ = null; } if (delegateBuilder_ == null) { delegate_ = null; } else { delegate_ = null; delegateBuilder_ = null; } if (rewriteBuilder_ == null) { rewrite_ = null; } else { rewrite_ = null; rewriteBuilder_ = null; } if (timeoutBuilder_ == null) { timeout_ = null; } else { timeout_ = null; timeoutBuilder_ = null; } if (retriesBuilder_ == null) { retries_ = null; } else { retries_ = null; retriesBuilder_ = null; } if (faultBuilder_ == null) { fault_ = null; } else { fault_ = null; faultBuilder_ = null; } if (mirrorBuilder_ == null) { mirror_ = null; } else { mirror_ = null; mirrorBuilder_ = null; } if (mirrorPercentBuilder_ == null) { mirrorPercent_ = null; } else { mirrorPercent_ = null; mirrorPercentBuilder_ = null; } if (mirrorPercentageBuilder_ == null) { mirrorPercentage_ = null; } else { mirrorPercentage_ = null; mirrorPercentageBuilder_ = null; } if (corsPolicyBuilder_ == null) { corsPolicy_ = null; } else { corsPolicy_ = null; corsPolicyBuilder_ = null; } if (headersBuilder_ == null) { headers_ = null; } else { headers_ = null; headersBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRoute_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute build() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute result = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute(this); int from_bitField0_ = bitField0_; result.name_ = name_; if (matchBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { match_ = java.util.Collections.unmodifiableList(match_); bitField0_ = (bitField0_ & ~0x00000001); } result.match_ = match_; } else { result.match_ = matchBuilder_.build(); } if (routeBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { route_ = java.util.Collections.unmodifiableList(route_); bitField0_ = (bitField0_ & ~0x00000002); } result.route_ = route_; } else { result.route_ = routeBuilder_.build(); } if (redirectBuilder_ == null) { result.redirect_ = redirect_; } else { result.redirect_ = redirectBuilder_.build(); } if (delegateBuilder_ == null) { result.delegate_ = delegate_; } else { result.delegate_ = delegateBuilder_.build(); } if (rewriteBuilder_ == null) { result.rewrite_ = rewrite_; } else { result.rewrite_ = rewriteBuilder_.build(); } if (timeoutBuilder_ == null) { result.timeout_ = timeout_; } else { result.timeout_ = timeoutBuilder_.build(); } if (retriesBuilder_ == null) { result.retries_ = retries_; } else { result.retries_ = retriesBuilder_.build(); } if (faultBuilder_ == null) { result.fault_ = fault_; } else { result.fault_ = faultBuilder_.build(); } if (mirrorBuilder_ == null) { result.mirror_ = mirror_; } else { result.mirror_ = mirrorBuilder_.build(); } if (mirrorPercentBuilder_ == null) { result.mirrorPercent_ = mirrorPercent_; } else { result.mirrorPercent_ = mirrorPercentBuilder_.build(); } if (mirrorPercentageBuilder_ == null) { result.mirrorPercentage_ = mirrorPercentage_; } else { result.mirrorPercentage_ = mirrorPercentageBuilder_.build(); } if (corsPolicyBuilder_ == null) { result.corsPolicy_ = corsPolicy_; } else { result.corsPolicy_ = corsPolicyBuilder_.build(); } if (headersBuilder_ == null) { result.headers_ = headers_; } else { result.headers_ = headersBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute.getDefaultInstance()) return this; if (!other.getName().isEmpty()) { name_ = other.name_; onChanged(); } if (matchBuilder_ == null) { if (!other.match_.isEmpty()) { if (match_.isEmpty()) { match_ = other.match_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureMatchIsMutable(); match_.addAll(other.match_); } onChanged(); } } else { if (!other.match_.isEmpty()) { if (matchBuilder_.isEmpty()) { matchBuilder_.dispose(); matchBuilder_ = null; match_ = other.match_; bitField0_ = (bitField0_ & ~0x00000001); matchBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getMatchFieldBuilder() : null; } else { matchBuilder_.addAllMessages(other.match_); } } } if (routeBuilder_ == null) { if (!other.route_.isEmpty()) { if (route_.isEmpty()) { route_ = other.route_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureRouteIsMutable(); route_.addAll(other.route_); } onChanged(); } } else { if (!other.route_.isEmpty()) { if (routeBuilder_.isEmpty()) { routeBuilder_.dispose(); routeBuilder_ = null; route_ = other.route_; bitField0_ = (bitField0_ & ~0x00000002); routeBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRouteFieldBuilder() : null; } else { routeBuilder_.addAllMessages(other.route_); } } } if (other.hasRedirect()) { mergeRedirect(other.getRedirect()); } if (other.hasDelegate()) { mergeDelegate(other.getDelegate()); } if (other.hasRewrite()) { mergeRewrite(other.getRewrite()); } if (other.hasTimeout()) { mergeTimeout(other.getTimeout()); } if (other.hasRetries()) { mergeRetries(other.getRetries()); } if (other.hasFault()) { mergeFault(other.getFault()); } if (other.hasMirror()) { mergeMirror(other.getMirror()); } if (other.hasMirrorPercent()) { mergeMirrorPercent(other.getMirrorPercent()); } if (other.hasMirrorPercentage()) { mergeMirrorPercentage(other.getMirrorPercentage()); } if (other.hasCorsPolicy()) { mergeCorsPolicy(other.getCorsPolicy()); } if (other.hasHeaders()) { mergeHeaders(other.getHeaders()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.lang.Object name_ = ""; /** *
       * The name assigned to the route for debugging purposes. The
       * route's name will be concatenated with the match's name and will
       * be logged in the access logs for requests matching this
       * route/match.
       * 
* * string name = 17; * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * The name assigned to the route for debugging purposes. The
       * route's name will be concatenated with the match's name and will
       * be logged in the access logs for requests matching this
       * route/match.
       * 
* * string name = 17; * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * The name assigned to the route for debugging purposes. The
       * route's name will be concatenated with the match's name and will
       * be logged in the access logs for requests matching this
       * route/match.
       * 
* * string name = 17; * @param value The name to set. * @return This builder for chaining. */ public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } name_ = value; onChanged(); return this; } /** *
       * The name assigned to the route for debugging purposes. The
       * route's name will be concatenated with the match's name and will
       * be logged in the access logs for requests matching this
       * route/match.
       * 
* * string name = 17; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); onChanged(); return this; } /** *
       * The name assigned to the route for debugging purposes. The
       * route's name will be concatenated with the match's name and will
       * be logged in the access logs for requests matching this
       * route/match.
       * 
* * string name = 17; * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); name_ = value; onChanged(); return this; } private java.util.List match_ = java.util.Collections.emptyList(); private void ensureMatchIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { match_ = new java.util.ArrayList(match_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequestOrBuilder> matchBuilder_; /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public java.util.List getMatchList() { if (matchBuilder_ == null) { return java.util.Collections.unmodifiableList(match_); } else { return matchBuilder_.getMessageList(); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public int getMatchCount() { if (matchBuilder_ == null) { return match_.size(); } else { return matchBuilder_.getCount(); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest getMatch(int index) { if (matchBuilder_ == null) { return match_.get(index); } else { return matchBuilder_.getMessage(index); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public Builder setMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureMatchIsMutable(); match_.set(index, value); onChanged(); } else { matchBuilder_.setMessage(index, value); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public Builder setMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder builderForValue) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.set(index, builderForValue.build()); onChanged(); } else { matchBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public Builder addMatch(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureMatchIsMutable(); match_.add(value); onChanged(); } else { matchBuilder_.addMessage(value); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public Builder addMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureMatchIsMutable(); match_.add(index, value); onChanged(); } else { matchBuilder_.addMessage(index, value); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public Builder addMatch( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder builderForValue) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.add(builderForValue.build()); onChanged(); } else { matchBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public Builder addMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder builderForValue) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.add(index, builderForValue.build()); onChanged(); } else { matchBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public Builder addAllMatch( java.lang.Iterable values) { if (matchBuilder_ == null) { ensureMatchIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, match_); onChanged(); } else { matchBuilder_.addAllMessages(values); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public Builder clearMatch() { if (matchBuilder_ == null) { match_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { matchBuilder_.clear(); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public Builder removeMatch(int index) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.remove(index); onChanged(); } else { matchBuilder_.remove(index); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder getMatchBuilder( int index) { return getMatchFieldBuilder().getBuilder(index); } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequestOrBuilder getMatchOrBuilder( int index) { if (matchBuilder_ == null) { return match_.get(index); } else { return matchBuilder_.getMessageOrBuilder(index); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public java.util.List getMatchOrBuilderList() { if (matchBuilder_ != null) { return matchBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(match_); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder addMatchBuilder() { return getMatchFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.getDefaultInstance()); } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder addMatchBuilder( int index) { return getMatchFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.getDefaultInstance()); } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.HTTPMatchRequest match = 1; */ public java.util.List getMatchBuilderList() { return getMatchFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequestOrBuilder> getMatchFieldBuilder() { if (matchBuilder_ == null) { matchBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequestOrBuilder>( match_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); match_ = null; } return matchBuilder_; } private java.util.List route_ = java.util.Collections.emptyList(); private void ensureRouteIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { route_ = new java.util.ArrayList(route_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestinationOrBuilder> routeBuilder_; /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public java.util.List getRouteList() { if (routeBuilder_ == null) { return java.util.Collections.unmodifiableList(route_); } else { return routeBuilder_.getMessageList(); } } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public int getRouteCount() { if (routeBuilder_ == null) { return route_.size(); } else { return routeBuilder_.getCount(); } } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination getRoute(int index) { if (routeBuilder_ == null) { return route_.get(index); } else { return routeBuilder_.getMessage(index); } } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public Builder setRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRouteIsMutable(); route_.set(index, value); onChanged(); } else { routeBuilder_.setMessage(index, value); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public Builder setRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder builderForValue) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.set(index, builderForValue.build()); onChanged(); } else { routeBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public Builder addRoute(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRouteIsMutable(); route_.add(value); onChanged(); } else { routeBuilder_.addMessage(value); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public Builder addRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRouteIsMutable(); route_.add(index, value); onChanged(); } else { routeBuilder_.addMessage(index, value); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public Builder addRoute( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder builderForValue) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.add(builderForValue.build()); onChanged(); } else { routeBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public Builder addRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder builderForValue) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.add(index, builderForValue.build()); onChanged(); } else { routeBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public Builder addAllRoute( java.lang.Iterable values) { if (routeBuilder_ == null) { ensureRouteIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, route_); onChanged(); } else { routeBuilder_.addAllMessages(values); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public Builder clearRoute() { if (routeBuilder_ == null) { route_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { routeBuilder_.clear(); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public Builder removeRoute(int index) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.remove(index); onChanged(); } else { routeBuilder_.remove(index); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder getRouteBuilder( int index) { return getRouteFieldBuilder().getBuilder(index); } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestinationOrBuilder getRouteOrBuilder( int index) { if (routeBuilder_ == null) { return route_.get(index); } else { return routeBuilder_.getMessageOrBuilder(index); } } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public java.util.List getRouteOrBuilderList() { if (routeBuilder_ != null) { return routeBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(route_); } } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder addRouteBuilder() { return getRouteFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.getDefaultInstance()); } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder addRouteBuilder( int index) { return getRouteFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.getDefaultInstance()); } /** *
       * A HTTP rule can either redirect or forward (default) traffic. The
       * forwarding target can be one of several versions of a service (see
       * glossary in beginning of document). Weights associated with the
       * service version determine the proportion of traffic it receives.
       * 
* * repeated .istio.networking.v1alpha3.HTTPRouteDestination route = 2; */ public java.util.List getRouteBuilderList() { return getRouteFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestinationOrBuilder> getRouteFieldBuilder() { if (routeBuilder_ == null) { routeBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestinationOrBuilder>( route_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); route_ = null; } return routeBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect redirect_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirectOrBuilder> redirectBuilder_; /** *
       * A HTTP rule can either redirect or forward (default) traffic. If
       * traffic passthrough option is specified in the rule,
       * route/redirect will be ignored. The redirect primitive can be used to
       * send a HTTP 301 redirect to a different URI or Authority.
       * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; * @return Whether the redirect field is set. */ public boolean hasRedirect() { return redirectBuilder_ != null || redirect_ != null; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. If
       * traffic passthrough option is specified in the rule,
       * route/redirect will be ignored. The redirect primitive can be used to
       * send a HTTP 301 redirect to a different URI or Authority.
       * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; * @return The redirect. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect getRedirect() { if (redirectBuilder_ == null) { return redirect_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.getDefaultInstance() : redirect_; } else { return redirectBuilder_.getMessage(); } } /** *
       * A HTTP rule can either redirect or forward (default) traffic. If
       * traffic passthrough option is specified in the rule,
       * route/redirect will be ignored. The redirect primitive can be used to
       * send a HTTP 301 redirect to a different URI or Authority.
       * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; */ public Builder setRedirect(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect value) { if (redirectBuilder_ == null) { if (value == null) { throw new NullPointerException(); } redirect_ = value; onChanged(); } else { redirectBuilder_.setMessage(value); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. If
       * traffic passthrough option is specified in the rule,
       * route/redirect will be ignored. The redirect primitive can be used to
       * send a HTTP 301 redirect to a different URI or Authority.
       * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; */ public Builder setRedirect( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.Builder builderForValue) { if (redirectBuilder_ == null) { redirect_ = builderForValue.build(); onChanged(); } else { redirectBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. If
       * traffic passthrough option is specified in the rule,
       * route/redirect will be ignored. The redirect primitive can be used to
       * send a HTTP 301 redirect to a different URI or Authority.
       * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; */ public Builder mergeRedirect(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect value) { if (redirectBuilder_ == null) { if (redirect_ != null) { redirect_ = istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.newBuilder(redirect_).mergeFrom(value).buildPartial(); } else { redirect_ = value; } onChanged(); } else { redirectBuilder_.mergeFrom(value); } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. If
       * traffic passthrough option is specified in the rule,
       * route/redirect will be ignored. The redirect primitive can be used to
       * send a HTTP 301 redirect to a different URI or Authority.
       * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; */ public Builder clearRedirect() { if (redirectBuilder_ == null) { redirect_ = null; onChanged(); } else { redirect_ = null; redirectBuilder_ = null; } return this; } /** *
       * A HTTP rule can either redirect or forward (default) traffic. If
       * traffic passthrough option is specified in the rule,
       * route/redirect will be ignored. The redirect primitive can be used to
       * send a HTTP 301 redirect to a different URI or Authority.
       * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.Builder getRedirectBuilder() { onChanged(); return getRedirectFieldBuilder().getBuilder(); } /** *
       * A HTTP rule can either redirect or forward (default) traffic. If
       * traffic passthrough option is specified in the rule,
       * route/redirect will be ignored. The redirect primitive can be used to
       * send a HTTP 301 redirect to a different URI or Authority.
       * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirectOrBuilder getRedirectOrBuilder() { if (redirectBuilder_ != null) { return redirectBuilder_.getMessageOrBuilder(); } else { return redirect_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.getDefaultInstance() : redirect_; } } /** *
       * A HTTP rule can either redirect or forward (default) traffic. If
       * traffic passthrough option is specified in the rule,
       * route/redirect will be ignored. The redirect primitive can be used to
       * send a HTTP 301 redirect to a different URI or Authority.
       * 
* * .istio.networking.v1alpha3.HTTPRedirect redirect = 3; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirectOrBuilder> getRedirectFieldBuilder() { if (redirectBuilder_ == null) { redirectBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirectOrBuilder>( getRedirect(), getParentForChildren(), isClean()); redirect_ = null; } return redirectBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate delegate_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate, istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DelegateOrBuilder> delegateBuilder_; /** *
       * Delegate is used to specify the particular VirtualService which
       * can be used to define delegate HTTPRoute.
       * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
       * delegate VirtualService will be merged with that in the current one.
       * **NOTE**:
       *    1. Only one level delegation is supported.
       *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
       *       otherwise there is a conflict and the HTTPRoute will not take effect.
       * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; * @return Whether the delegate field is set. */ public boolean hasDelegate() { return delegateBuilder_ != null || delegate_ != null; } /** *
       * Delegate is used to specify the particular VirtualService which
       * can be used to define delegate HTTPRoute.
       * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
       * delegate VirtualService will be merged with that in the current one.
       * **NOTE**:
       *    1. Only one level delegation is supported.
       *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
       *       otherwise there is a conflict and the HTTPRoute will not take effect.
       * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; * @return The delegate. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate getDelegate() { if (delegateBuilder_ == null) { return delegate_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.getDefaultInstance() : delegate_; } else { return delegateBuilder_.getMessage(); } } /** *
       * Delegate is used to specify the particular VirtualService which
       * can be used to define delegate HTTPRoute.
       * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
       * delegate VirtualService will be merged with that in the current one.
       * **NOTE**:
       *    1. Only one level delegation is supported.
       *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
       *       otherwise there is a conflict and the HTTPRoute will not take effect.
       * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; */ public Builder setDelegate(istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate value) { if (delegateBuilder_ == null) { if (value == null) { throw new NullPointerException(); } delegate_ = value; onChanged(); } else { delegateBuilder_.setMessage(value); } return this; } /** *
       * Delegate is used to specify the particular VirtualService which
       * can be used to define delegate HTTPRoute.
       * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
       * delegate VirtualService will be merged with that in the current one.
       * **NOTE**:
       *    1. Only one level delegation is supported.
       *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
       *       otherwise there is a conflict and the HTTPRoute will not take effect.
       * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; */ public Builder setDelegate( istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.Builder builderForValue) { if (delegateBuilder_ == null) { delegate_ = builderForValue.build(); onChanged(); } else { delegateBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Delegate is used to specify the particular VirtualService which
       * can be used to define delegate HTTPRoute.
       * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
       * delegate VirtualService will be merged with that in the current one.
       * **NOTE**:
       *    1. Only one level delegation is supported.
       *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
       *       otherwise there is a conflict and the HTTPRoute will not take effect.
       * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; */ public Builder mergeDelegate(istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate value) { if (delegateBuilder_ == null) { if (delegate_ != null) { delegate_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.newBuilder(delegate_).mergeFrom(value).buildPartial(); } else { delegate_ = value; } onChanged(); } else { delegateBuilder_.mergeFrom(value); } return this; } /** *
       * Delegate is used to specify the particular VirtualService which
       * can be used to define delegate HTTPRoute.
       * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
       * delegate VirtualService will be merged with that in the current one.
       * **NOTE**:
       *    1. Only one level delegation is supported.
       *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
       *       otherwise there is a conflict and the HTTPRoute will not take effect.
       * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; */ public Builder clearDelegate() { if (delegateBuilder_ == null) { delegate_ = null; onChanged(); } else { delegate_ = null; delegateBuilder_ = null; } return this; } /** *
       * Delegate is used to specify the particular VirtualService which
       * can be used to define delegate HTTPRoute.
       * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
       * delegate VirtualService will be merged with that in the current one.
       * **NOTE**:
       *    1. Only one level delegation is supported.
       *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
       *       otherwise there is a conflict and the HTTPRoute will not take effect.
       * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.Builder getDelegateBuilder() { onChanged(); return getDelegateFieldBuilder().getBuilder(); } /** *
       * Delegate is used to specify the particular VirtualService which
       * can be used to define delegate HTTPRoute.
       * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
       * delegate VirtualService will be merged with that in the current one.
       * **NOTE**:
       *    1. Only one level delegation is supported.
       *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
       *       otherwise there is a conflict and the HTTPRoute will not take effect.
       * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.DelegateOrBuilder getDelegateOrBuilder() { if (delegateBuilder_ != null) { return delegateBuilder_.getMessageOrBuilder(); } else { return delegate_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.getDefaultInstance() : delegate_; } } /** *
       * Delegate is used to specify the particular VirtualService which
       * can be used to define delegate HTTPRoute.
       * It can be set only when `Route` and `Redirect` are empty, and the route rules of the
       * delegate VirtualService will be merged with that in the current one.
       * **NOTE**:
       *    1. Only one level delegation is supported.
       *    2. The delegate's HTTPMatchRequest must be a strict subset of the root's,
       *       otherwise there is a conflict and the HTTPRoute will not take effect.
       * 
* * .istio.networking.v1alpha3.Delegate delegate = 20; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate, istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DelegateOrBuilder> getDelegateFieldBuilder() { if (delegateBuilder_ == null) { delegateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate, istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DelegateOrBuilder>( getDelegate(), getParentForChildren(), isClean()); delegate_ = null; } return delegateBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite rewrite_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewriteOrBuilder> rewriteBuilder_; /** *
       * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
       * Redirect primitive. Rewrite will be performed before forwarding.
       * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; * @return Whether the rewrite field is set. */ public boolean hasRewrite() { return rewriteBuilder_ != null || rewrite_ != null; } /** *
       * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
       * Redirect primitive. Rewrite will be performed before forwarding.
       * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; * @return The rewrite. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite getRewrite() { if (rewriteBuilder_ == null) { return rewrite_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.getDefaultInstance() : rewrite_; } else { return rewriteBuilder_.getMessage(); } } /** *
       * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
       * Redirect primitive. Rewrite will be performed before forwarding.
       * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; */ public Builder setRewrite(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite value) { if (rewriteBuilder_ == null) { if (value == null) { throw new NullPointerException(); } rewrite_ = value; onChanged(); } else { rewriteBuilder_.setMessage(value); } return this; } /** *
       * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
       * Redirect primitive. Rewrite will be performed before forwarding.
       * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; */ public Builder setRewrite( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.Builder builderForValue) { if (rewriteBuilder_ == null) { rewrite_ = builderForValue.build(); onChanged(); } else { rewriteBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
       * Redirect primitive. Rewrite will be performed before forwarding.
       * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; */ public Builder mergeRewrite(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite value) { if (rewriteBuilder_ == null) { if (rewrite_ != null) { rewrite_ = istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.newBuilder(rewrite_).mergeFrom(value).buildPartial(); } else { rewrite_ = value; } onChanged(); } else { rewriteBuilder_.mergeFrom(value); } return this; } /** *
       * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
       * Redirect primitive. Rewrite will be performed before forwarding.
       * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; */ public Builder clearRewrite() { if (rewriteBuilder_ == null) { rewrite_ = null; onChanged(); } else { rewrite_ = null; rewriteBuilder_ = null; } return this; } /** *
       * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
       * Redirect primitive. Rewrite will be performed before forwarding.
       * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.Builder getRewriteBuilder() { onChanged(); return getRewriteFieldBuilder().getBuilder(); } /** *
       * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
       * Redirect primitive. Rewrite will be performed before forwarding.
       * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewriteOrBuilder getRewriteOrBuilder() { if (rewriteBuilder_ != null) { return rewriteBuilder_.getMessageOrBuilder(); } else { return rewrite_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.getDefaultInstance() : rewrite_; } } /** *
       * Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
       * Redirect primitive. Rewrite will be performed before forwarding.
       * 
* * .istio.networking.v1alpha3.HTTPRewrite rewrite = 4; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewriteOrBuilder> getRewriteFieldBuilder() { if (rewriteBuilder_ == null) { rewriteBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewriteOrBuilder>( getRewrite(), getParentForChildren(), isClean()); rewrite_ = null; } return rewriteBuilder_; } private com.google.protobuf.Duration timeout_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeoutBuilder_; /** *
       * Timeout for HTTP requests, default is disabled.
       * 
* * .google.protobuf.Duration timeout = 6; * @return Whether the timeout field is set. */ public boolean hasTimeout() { return timeoutBuilder_ != null || timeout_ != null; } /** *
       * Timeout for HTTP requests, default is disabled.
       * 
* * .google.protobuf.Duration timeout = 6; * @return The timeout. */ public com.google.protobuf.Duration getTimeout() { if (timeoutBuilder_ == null) { return timeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeout_; } else { return timeoutBuilder_.getMessage(); } } /** *
       * Timeout for HTTP requests, default is disabled.
       * 
* * .google.protobuf.Duration timeout = 6; */ public Builder setTimeout(com.google.protobuf.Duration value) { if (timeoutBuilder_ == null) { if (value == null) { throw new NullPointerException(); } timeout_ = value; onChanged(); } else { timeoutBuilder_.setMessage(value); } return this; } /** *
       * Timeout for HTTP requests, default is disabled.
       * 
* * .google.protobuf.Duration timeout = 6; */ public Builder setTimeout( com.google.protobuf.Duration.Builder builderForValue) { if (timeoutBuilder_ == null) { timeout_ = builderForValue.build(); onChanged(); } else { timeoutBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Timeout for HTTP requests, default is disabled.
       * 
* * .google.protobuf.Duration timeout = 6; */ public Builder mergeTimeout(com.google.protobuf.Duration value) { if (timeoutBuilder_ == null) { if (timeout_ != null) { timeout_ = com.google.protobuf.Duration.newBuilder(timeout_).mergeFrom(value).buildPartial(); } else { timeout_ = value; } onChanged(); } else { timeoutBuilder_.mergeFrom(value); } return this; } /** *
       * Timeout for HTTP requests, default is disabled.
       * 
* * .google.protobuf.Duration timeout = 6; */ public Builder clearTimeout() { if (timeoutBuilder_ == null) { timeout_ = null; onChanged(); } else { timeout_ = null; timeoutBuilder_ = null; } return this; } /** *
       * Timeout for HTTP requests, default is disabled.
       * 
* * .google.protobuf.Duration timeout = 6; */ public com.google.protobuf.Duration.Builder getTimeoutBuilder() { onChanged(); return getTimeoutFieldBuilder().getBuilder(); } /** *
       * Timeout for HTTP requests, default is disabled.
       * 
* * .google.protobuf.Duration timeout = 6; */ public com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder() { if (timeoutBuilder_ != null) { return timeoutBuilder_.getMessageOrBuilder(); } else { return timeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeout_; } } /** *
       * Timeout for HTTP requests, default is disabled.
       * 
* * .google.protobuf.Duration timeout = 6; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getTimeoutFieldBuilder() { if (timeoutBuilder_ == null) { timeoutBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getTimeout(), getParentForChildren(), isClean()); timeout_ = null; } return timeoutBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry retries_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetryOrBuilder> retriesBuilder_; /** *
       * Retry policy for HTTP requests.
       * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; * @return Whether the retries field is set. */ public boolean hasRetries() { return retriesBuilder_ != null || retries_ != null; } /** *
       * Retry policy for HTTP requests.
       * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; * @return The retries. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry getRetries() { if (retriesBuilder_ == null) { return retries_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.getDefaultInstance() : retries_; } else { return retriesBuilder_.getMessage(); } } /** *
       * Retry policy for HTTP requests.
       * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; */ public Builder setRetries(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry value) { if (retriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } retries_ = value; onChanged(); } else { retriesBuilder_.setMessage(value); } return this; } /** *
       * Retry policy for HTTP requests.
       * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; */ public Builder setRetries( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.Builder builderForValue) { if (retriesBuilder_ == null) { retries_ = builderForValue.build(); onChanged(); } else { retriesBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Retry policy for HTTP requests.
       * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; */ public Builder mergeRetries(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry value) { if (retriesBuilder_ == null) { if (retries_ != null) { retries_ = istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.newBuilder(retries_).mergeFrom(value).buildPartial(); } else { retries_ = value; } onChanged(); } else { retriesBuilder_.mergeFrom(value); } return this; } /** *
       * Retry policy for HTTP requests.
       * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; */ public Builder clearRetries() { if (retriesBuilder_ == null) { retries_ = null; onChanged(); } else { retries_ = null; retriesBuilder_ = null; } return this; } /** *
       * Retry policy for HTTP requests.
       * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.Builder getRetriesBuilder() { onChanged(); return getRetriesFieldBuilder().getBuilder(); } /** *
       * Retry policy for HTTP requests.
       * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetryOrBuilder getRetriesOrBuilder() { if (retriesBuilder_ != null) { return retriesBuilder_.getMessageOrBuilder(); } else { return retries_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.getDefaultInstance() : retries_; } } /** *
       * Retry policy for HTTP requests.
       * 
* * .istio.networking.v1alpha3.HTTPRetry retries = 7; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetryOrBuilder> getRetriesFieldBuilder() { if (retriesBuilder_ == null) { retriesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetryOrBuilder>( getRetries(), getParentForChildren(), isClean()); retries_ = null; } return retriesBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection fault_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjectionOrBuilder> faultBuilder_; /** *
       * Fault injection policy to apply on HTTP traffic at the client side.
       * Note that timeouts or retries will not be enabled when faults are
       * enabled on the client side.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; * @return Whether the fault field is set. */ public boolean hasFault() { return faultBuilder_ != null || fault_ != null; } /** *
       * Fault injection policy to apply on HTTP traffic at the client side.
       * Note that timeouts or retries will not be enabled when faults are
       * enabled on the client side.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; * @return The fault. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection getFault() { if (faultBuilder_ == null) { return fault_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.getDefaultInstance() : fault_; } else { return faultBuilder_.getMessage(); } } /** *
       * Fault injection policy to apply on HTTP traffic at the client side.
       * Note that timeouts or retries will not be enabled when faults are
       * enabled on the client side.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; */ public Builder setFault(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection value) { if (faultBuilder_ == null) { if (value == null) { throw new NullPointerException(); } fault_ = value; onChanged(); } else { faultBuilder_.setMessage(value); } return this; } /** *
       * Fault injection policy to apply on HTTP traffic at the client side.
       * Note that timeouts or retries will not be enabled when faults are
       * enabled on the client side.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; */ public Builder setFault( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Builder builderForValue) { if (faultBuilder_ == null) { fault_ = builderForValue.build(); onChanged(); } else { faultBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Fault injection policy to apply on HTTP traffic at the client side.
       * Note that timeouts or retries will not be enabled when faults are
       * enabled on the client side.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; */ public Builder mergeFault(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection value) { if (faultBuilder_ == null) { if (fault_ != null) { fault_ = istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.newBuilder(fault_).mergeFrom(value).buildPartial(); } else { fault_ = value; } onChanged(); } else { faultBuilder_.mergeFrom(value); } return this; } /** *
       * Fault injection policy to apply on HTTP traffic at the client side.
       * Note that timeouts or retries will not be enabled when faults are
       * enabled on the client side.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; */ public Builder clearFault() { if (faultBuilder_ == null) { fault_ = null; onChanged(); } else { fault_ = null; faultBuilder_ = null; } return this; } /** *
       * Fault injection policy to apply on HTTP traffic at the client side.
       * Note that timeouts or retries will not be enabled when faults are
       * enabled on the client side.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Builder getFaultBuilder() { onChanged(); return getFaultFieldBuilder().getBuilder(); } /** *
       * Fault injection policy to apply on HTTP traffic at the client side.
       * Note that timeouts or retries will not be enabled when faults are
       * enabled on the client side.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjectionOrBuilder getFaultOrBuilder() { if (faultBuilder_ != null) { return faultBuilder_.getMessageOrBuilder(); } else { return fault_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.getDefaultInstance() : fault_; } } /** *
       * Fault injection policy to apply on HTTP traffic at the client side.
       * Note that timeouts or retries will not be enabled when faults are
       * enabled on the client side.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection fault = 8; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjectionOrBuilder> getFaultFieldBuilder() { if (faultBuilder_ == null) { faultBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjectionOrBuilder>( getFault(), getParentForChildren(), isClean()); fault_ = null; } return faultBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Destination mirror_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Destination, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder> mirrorBuilder_; /** *
       * Mirror HTTP traffic to a another destination in addition to forwarding
       * the requests to the intended destination. Mirrored traffic is on a
       * best effort basis where the sidecar/gateway will not wait for the
       * mirrored cluster to respond before returning the response from the
       * original destination.  Statistics will be generated for the mirrored
       * destination.
       * 
* * .istio.networking.v1alpha3.Destination mirror = 9; * @return Whether the mirror field is set. */ public boolean hasMirror() { return mirrorBuilder_ != null || mirror_ != null; } /** *
       * Mirror HTTP traffic to a another destination in addition to forwarding
       * the requests to the intended destination. Mirrored traffic is on a
       * best effort basis where the sidecar/gateway will not wait for the
       * mirrored cluster to respond before returning the response from the
       * original destination.  Statistics will be generated for the mirrored
       * destination.
       * 
* * .istio.networking.v1alpha3.Destination mirror = 9; * @return The mirror. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getMirror() { if (mirrorBuilder_ == null) { return mirror_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance() : mirror_; } else { return mirrorBuilder_.getMessage(); } } /** *
       * Mirror HTTP traffic to a another destination in addition to forwarding
       * the requests to the intended destination. Mirrored traffic is on a
       * best effort basis where the sidecar/gateway will not wait for the
       * mirrored cluster to respond before returning the response from the
       * original destination.  Statistics will be generated for the mirrored
       * destination.
       * 
* * .istio.networking.v1alpha3.Destination mirror = 9; */ public Builder setMirror(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination value) { if (mirrorBuilder_ == null) { if (value == null) { throw new NullPointerException(); } mirror_ = value; onChanged(); } else { mirrorBuilder_.setMessage(value); } return this; } /** *
       * Mirror HTTP traffic to a another destination in addition to forwarding
       * the requests to the intended destination. Mirrored traffic is on a
       * best effort basis where the sidecar/gateway will not wait for the
       * mirrored cluster to respond before returning the response from the
       * original destination.  Statistics will be generated for the mirrored
       * destination.
       * 
* * .istio.networking.v1alpha3.Destination mirror = 9; */ public Builder setMirror( istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder builderForValue) { if (mirrorBuilder_ == null) { mirror_ = builderForValue.build(); onChanged(); } else { mirrorBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Mirror HTTP traffic to a another destination in addition to forwarding
       * the requests to the intended destination. Mirrored traffic is on a
       * best effort basis where the sidecar/gateway will not wait for the
       * mirrored cluster to respond before returning the response from the
       * original destination.  Statistics will be generated for the mirrored
       * destination.
       * 
* * .istio.networking.v1alpha3.Destination mirror = 9; */ public Builder mergeMirror(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination value) { if (mirrorBuilder_ == null) { if (mirror_ != null) { mirror_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.newBuilder(mirror_).mergeFrom(value).buildPartial(); } else { mirror_ = value; } onChanged(); } else { mirrorBuilder_.mergeFrom(value); } return this; } /** *
       * Mirror HTTP traffic to a another destination in addition to forwarding
       * the requests to the intended destination. Mirrored traffic is on a
       * best effort basis where the sidecar/gateway will not wait for the
       * mirrored cluster to respond before returning the response from the
       * original destination.  Statistics will be generated for the mirrored
       * destination.
       * 
* * .istio.networking.v1alpha3.Destination mirror = 9; */ public Builder clearMirror() { if (mirrorBuilder_ == null) { mirror_ = null; onChanged(); } else { mirror_ = null; mirrorBuilder_ = null; } return this; } /** *
       * Mirror HTTP traffic to a another destination in addition to forwarding
       * the requests to the intended destination. Mirrored traffic is on a
       * best effort basis where the sidecar/gateway will not wait for the
       * mirrored cluster to respond before returning the response from the
       * original destination.  Statistics will be generated for the mirrored
       * destination.
       * 
* * .istio.networking.v1alpha3.Destination mirror = 9; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder getMirrorBuilder() { onChanged(); return getMirrorFieldBuilder().getBuilder(); } /** *
       * Mirror HTTP traffic to a another destination in addition to forwarding
       * the requests to the intended destination. Mirrored traffic is on a
       * best effort basis where the sidecar/gateway will not wait for the
       * mirrored cluster to respond before returning the response from the
       * original destination.  Statistics will be generated for the mirrored
       * destination.
       * 
* * .istio.networking.v1alpha3.Destination mirror = 9; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder getMirrorOrBuilder() { if (mirrorBuilder_ != null) { return mirrorBuilder_.getMessageOrBuilder(); } else { return mirror_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance() : mirror_; } } /** *
       * Mirror HTTP traffic to a another destination in addition to forwarding
       * the requests to the intended destination. Mirrored traffic is on a
       * best effort basis where the sidecar/gateway will not wait for the
       * mirrored cluster to respond before returning the response from the
       * original destination.  Statistics will be generated for the mirrored
       * destination.
       * 
* * .istio.networking.v1alpha3.Destination mirror = 9; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Destination, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder> getMirrorFieldBuilder() { if (mirrorBuilder_ == null) { mirrorBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Destination, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder>( getMirror(), getParentForChildren(), isClean()); mirror_ = null; } return mirrorBuilder_; } private com.google.protobuf.UInt32Value mirrorPercent_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> mirrorPercentBuilder_; /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * Use of integer `mirror_percent` value is deprecated. Use the
       * double `mirror_percentage` field instead
       * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; * @return Whether the mirrorPercent field is set. */ @java.lang.Deprecated public boolean hasMirrorPercent() { return mirrorPercentBuilder_ != null || mirrorPercent_ != null; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * Use of integer `mirror_percent` value is deprecated. Use the
       * double `mirror_percentage` field instead
       * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; * @return The mirrorPercent. */ @java.lang.Deprecated public com.google.protobuf.UInt32Value getMirrorPercent() { if (mirrorPercentBuilder_ == null) { return mirrorPercent_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : mirrorPercent_; } else { return mirrorPercentBuilder_.getMessage(); } } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * Use of integer `mirror_percent` value is deprecated. Use the
       * double `mirror_percentage` field instead
       * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; */ @java.lang.Deprecated public Builder setMirrorPercent(com.google.protobuf.UInt32Value value) { if (mirrorPercentBuilder_ == null) { if (value == null) { throw new NullPointerException(); } mirrorPercent_ = value; onChanged(); } else { mirrorPercentBuilder_.setMessage(value); } return this; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * Use of integer `mirror_percent` value is deprecated. Use the
       * double `mirror_percentage` field instead
       * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; */ @java.lang.Deprecated public Builder setMirrorPercent( com.google.protobuf.UInt32Value.Builder builderForValue) { if (mirrorPercentBuilder_ == null) { mirrorPercent_ = builderForValue.build(); onChanged(); } else { mirrorPercentBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * Use of integer `mirror_percent` value is deprecated. Use the
       * double `mirror_percentage` field instead
       * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; */ @java.lang.Deprecated public Builder mergeMirrorPercent(com.google.protobuf.UInt32Value value) { if (mirrorPercentBuilder_ == null) { if (mirrorPercent_ != null) { mirrorPercent_ = com.google.protobuf.UInt32Value.newBuilder(mirrorPercent_).mergeFrom(value).buildPartial(); } else { mirrorPercent_ = value; } onChanged(); } else { mirrorPercentBuilder_.mergeFrom(value); } return this; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * Use of integer `mirror_percent` value is deprecated. Use the
       * double `mirror_percentage` field instead
       * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; */ @java.lang.Deprecated public Builder clearMirrorPercent() { if (mirrorPercentBuilder_ == null) { mirrorPercent_ = null; onChanged(); } else { mirrorPercent_ = null; mirrorPercentBuilder_ = null; } return this; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * Use of integer `mirror_percent` value is deprecated. Use the
       * double `mirror_percentage` field instead
       * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; */ @java.lang.Deprecated public com.google.protobuf.UInt32Value.Builder getMirrorPercentBuilder() { onChanged(); return getMirrorPercentFieldBuilder().getBuilder(); } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * Use of integer `mirror_percent` value is deprecated. Use the
       * double `mirror_percentage` field instead
       * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; */ @java.lang.Deprecated public com.google.protobuf.UInt32ValueOrBuilder getMirrorPercentOrBuilder() { if (mirrorPercentBuilder_ != null) { return mirrorPercentBuilder_.getMessageOrBuilder(); } else { return mirrorPercent_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : mirrorPercent_; } } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * Use of integer `mirror_percent` value is deprecated. Use the
       * double `mirror_percentage` field instead
       * 
* * .google.protobuf.UInt32Value mirror_percent = 18 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> getMirrorPercentFieldBuilder() { if (mirrorPercentBuilder_ == null) { mirrorPercentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>( getMirrorPercent(), getParentForChildren(), isClean()); mirrorPercent_ = null; } return mirrorPercentBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Percent mirrorPercentage_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Percent, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder> mirrorPercentageBuilder_; /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * If this field is absent, all the traffic (100%) will be mirrored.
       * Max value is 100.
       * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; * @return Whether the mirrorPercentage field is set. */ public boolean hasMirrorPercentage() { return mirrorPercentageBuilder_ != null || mirrorPercentage_ != null; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * If this field is absent, all the traffic (100%) will be mirrored.
       * Max value is 100.
       * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; * @return The mirrorPercentage. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getMirrorPercentage() { if (mirrorPercentageBuilder_ == null) { return mirrorPercentage_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance() : mirrorPercentage_; } else { return mirrorPercentageBuilder_.getMessage(); } } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * If this field is absent, all the traffic (100%) will be mirrored.
       * Max value is 100.
       * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; */ public Builder setMirrorPercentage(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent value) { if (mirrorPercentageBuilder_ == null) { if (value == null) { throw new NullPointerException(); } mirrorPercentage_ = value; onChanged(); } else { mirrorPercentageBuilder_.setMessage(value); } return this; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * If this field is absent, all the traffic (100%) will be mirrored.
       * Max value is 100.
       * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; */ public Builder setMirrorPercentage( istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder builderForValue) { if (mirrorPercentageBuilder_ == null) { mirrorPercentage_ = builderForValue.build(); onChanged(); } else { mirrorPercentageBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * If this field is absent, all the traffic (100%) will be mirrored.
       * Max value is 100.
       * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; */ public Builder mergeMirrorPercentage(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent value) { if (mirrorPercentageBuilder_ == null) { if (mirrorPercentage_ != null) { mirrorPercentage_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.newBuilder(mirrorPercentage_).mergeFrom(value).buildPartial(); } else { mirrorPercentage_ = value; } onChanged(); } else { mirrorPercentageBuilder_.mergeFrom(value); } return this; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * If this field is absent, all the traffic (100%) will be mirrored.
       * Max value is 100.
       * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; */ public Builder clearMirrorPercentage() { if (mirrorPercentageBuilder_ == null) { mirrorPercentage_ = null; onChanged(); } else { mirrorPercentage_ = null; mirrorPercentageBuilder_ = null; } return this; } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * If this field is absent, all the traffic (100%) will be mirrored.
       * Max value is 100.
       * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder getMirrorPercentageBuilder() { onChanged(); return getMirrorPercentageFieldBuilder().getBuilder(); } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * If this field is absent, all the traffic (100%) will be mirrored.
       * Max value is 100.
       * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder getMirrorPercentageOrBuilder() { if (mirrorPercentageBuilder_ != null) { return mirrorPercentageBuilder_.getMessageOrBuilder(); } else { return mirrorPercentage_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance() : mirrorPercentage_; } } /** *
       * Percentage of the traffic to be mirrored by the `mirror` field.
       * If this field is absent, all the traffic (100%) will be mirrored.
       * Max value is 100.
       * 
* * .istio.networking.v1alpha3.Percent mirror_percentage = 19; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Percent, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder> getMirrorPercentageFieldBuilder() { if (mirrorPercentageBuilder_ == null) { mirrorPercentageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Percent, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder>( getMirrorPercentage(), getParentForChildren(), isClean()); mirrorPercentage_ = null; } return mirrorPercentageBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy corsPolicy_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy, istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicyOrBuilder> corsPolicyBuilder_; /** *
       * Cross-Origin Resource Sharing policy (CORS). Refer to
       * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
       * for further details about cross origin resource sharing.
       * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; * @return Whether the corsPolicy field is set. */ public boolean hasCorsPolicy() { return corsPolicyBuilder_ != null || corsPolicy_ != null; } /** *
       * Cross-Origin Resource Sharing policy (CORS). Refer to
       * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
       * for further details about cross origin resource sharing.
       * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; * @return The corsPolicy. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy getCorsPolicy() { if (corsPolicyBuilder_ == null) { return corsPolicy_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.getDefaultInstance() : corsPolicy_; } else { return corsPolicyBuilder_.getMessage(); } } /** *
       * Cross-Origin Resource Sharing policy (CORS). Refer to
       * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
       * for further details about cross origin resource sharing.
       * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; */ public Builder setCorsPolicy(istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy value) { if (corsPolicyBuilder_ == null) { if (value == null) { throw new NullPointerException(); } corsPolicy_ = value; onChanged(); } else { corsPolicyBuilder_.setMessage(value); } return this; } /** *
       * Cross-Origin Resource Sharing policy (CORS). Refer to
       * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
       * for further details about cross origin resource sharing.
       * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; */ public Builder setCorsPolicy( istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.Builder builderForValue) { if (corsPolicyBuilder_ == null) { corsPolicy_ = builderForValue.build(); onChanged(); } else { corsPolicyBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Cross-Origin Resource Sharing policy (CORS). Refer to
       * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
       * for further details about cross origin resource sharing.
       * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; */ public Builder mergeCorsPolicy(istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy value) { if (corsPolicyBuilder_ == null) { if (corsPolicy_ != null) { corsPolicy_ = istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.newBuilder(corsPolicy_).mergeFrom(value).buildPartial(); } else { corsPolicy_ = value; } onChanged(); } else { corsPolicyBuilder_.mergeFrom(value); } return this; } /** *
       * Cross-Origin Resource Sharing policy (CORS). Refer to
       * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
       * for further details about cross origin resource sharing.
       * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; */ public Builder clearCorsPolicy() { if (corsPolicyBuilder_ == null) { corsPolicy_ = null; onChanged(); } else { corsPolicy_ = null; corsPolicyBuilder_ = null; } return this; } /** *
       * Cross-Origin Resource Sharing policy (CORS). Refer to
       * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
       * for further details about cross origin resource sharing.
       * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.Builder getCorsPolicyBuilder() { onChanged(); return getCorsPolicyFieldBuilder().getBuilder(); } /** *
       * Cross-Origin Resource Sharing policy (CORS). Refer to
       * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
       * for further details about cross origin resource sharing.
       * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicyOrBuilder getCorsPolicyOrBuilder() { if (corsPolicyBuilder_ != null) { return corsPolicyBuilder_.getMessageOrBuilder(); } else { return corsPolicy_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.getDefaultInstance() : corsPolicy_; } } /** *
       * Cross-Origin Resource Sharing policy (CORS). Refer to
       * [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
       * for further details about cross origin resource sharing.
       * 
* * .istio.networking.v1alpha3.CorsPolicy cors_policy = 10; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy, istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicyOrBuilder> getCorsPolicyFieldBuilder() { if (corsPolicyBuilder_ == null) { corsPolicyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy, istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicyOrBuilder>( getCorsPolicy(), getParentForChildren(), isClean()); corsPolicy_ = null; } return corsPolicyBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Headers headers_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder> headersBuilder_; /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 16; * @return Whether the headers field is set. */ public boolean hasHeaders() { return headersBuilder_ != null || headers_ != null; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 16; * @return The headers. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers getHeaders() { if (headersBuilder_ == null) { return headers_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.getDefaultInstance() : headers_; } else { return headersBuilder_.getMessage(); } } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 16; */ public Builder setHeaders(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers value) { if (headersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } headers_ = value; onChanged(); } else { headersBuilder_.setMessage(value); } return this; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 16; */ public Builder setHeaders( istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder builderForValue) { if (headersBuilder_ == null) { headers_ = builderForValue.build(); onChanged(); } else { headersBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 16; */ public Builder mergeHeaders(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers value) { if (headersBuilder_ == null) { if (headers_ != null) { headers_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.newBuilder(headers_).mergeFrom(value).buildPartial(); } else { headers_ = value; } onChanged(); } else { headersBuilder_.mergeFrom(value); } return this; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 16; */ public Builder clearHeaders() { if (headersBuilder_ == null) { headers_ = null; onChanged(); } else { headers_ = null; headersBuilder_ = null; } return this; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 16; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder getHeadersBuilder() { onChanged(); return getHeadersFieldBuilder().getBuilder(); } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 16; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder getHeadersOrBuilder() { if (headersBuilder_ != null) { return headersBuilder_.getMessageOrBuilder(); } else { return headers_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.getDefaultInstance() : headers_; } } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 16; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder> getHeadersFieldBuilder() { if (headersBuilder_ == null) { headersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder>( getHeaders(), getParentForChildren(), isClean()); headers_ = null; } return headersBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.HTTPRoute) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.HTTPRoute) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HTTPRoute parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new HTTPRoute(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRoute getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface DelegateOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.Delegate) com.google.protobuf.MessageOrBuilder { /** *
     * Name specifies the name of the delegate VirtualService.
     * 
* * string name = 1; * @return The name. */ java.lang.String getName(); /** *
     * Name specifies the name of the delegate VirtualService.
     * 
* * string name = 1; * @return The bytes for name. */ com.google.protobuf.ByteString getNameBytes(); /** *
     * Namespace specifies the namespace where the delegate VirtualService resides.
     * By default, it is same to the root's.
     * 
* * string namespace = 2; * @return The namespace. */ java.lang.String getNamespace(); /** *
     * Namespace specifies the namespace where the delegate VirtualService resides.
     * By default, it is same to the root's.
     * 
* * string namespace = 2; * @return The bytes for namespace. */ com.google.protobuf.ByteString getNamespaceBytes(); } /** *
   * Describes the delegate VirtualService.
   * The following routing rules forward the traffic to `/productpage` by a delegate VirtualService named `productpage`,
   * forward the traffic to `/reviews` by a delegate VirtualService named `reviews`.
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: bookinfo
   * spec:
   *   hosts:
   *   - "bookinfo.com"
   *   gateways:
   *   - mygateway
   *   http:
   *   - match:
   *     - uri:
   *         prefix: "/productpage"
   *     delegate:
   *        name: productpage
   *        namespace: nsA
   *   - match:
   *     - uri:
   *         prefix: "/reviews"
   *     delegate:
   *         name: reviews
   *         namespace: nsB
   * ```
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: productpage
   *   namespace: nsA
   * spec:
   *   http:
   *   - match:
   *      - uri:
   *         prefix: "/productpage/v1/"
   *     route:
   *     - destination:
   *         host: productpage-v1.nsA.svc.cluster.local
   *   - route:
   *     - destination:
   *         host: productpage.nsA.svc.cluster.local
   * ```
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: reviews
   *   namespace: nsB
   * spec:
   *   http:
   *   - route:
   *     - destination:
   *         host: reviews.nsB.svc.cluster.local
   * ```
   * 
* * Protobuf type {@code istio.networking.v1alpha3.Delegate} */ public static final class Delegate extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.Delegate) DelegateOrBuilder { private static final long serialVersionUID = 0L; // Use Delegate.newBuilder() to construct. private Delegate(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Delegate() { name_ = ""; namespace_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Delegate(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Delegate( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); name_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); namespace_ = s; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Delegate_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Delegate_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.Builder.class); } public static final int NAME_FIELD_NUMBER = 1; private volatile java.lang.Object name_; /** *
     * Name specifies the name of the delegate VirtualService.
     * 
* * string name = 1; * @return The name. */ @java.lang.Override public java.lang.String getName() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } } /** *
     * Name specifies the name of the delegate VirtualService.
     * 
* * string name = 1; * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int NAMESPACE_FIELD_NUMBER = 2; private volatile java.lang.Object namespace_; /** *
     * Namespace specifies the namespace where the delegate VirtualService resides.
     * By default, it is same to the root's.
     * 
* * string namespace = 2; * @return The namespace. */ @java.lang.Override public java.lang.String getNamespace() { java.lang.Object ref = namespace_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); namespace_ = s; return s; } } /** *
     * Namespace specifies the namespace where the delegate VirtualService resides.
     * By default, it is same to the root's.
     * 
* * string namespace = 2; * @return The bytes for namespace. */ @java.lang.Override public com.google.protobuf.ByteString getNamespaceBytes() { java.lang.Object ref = namespace_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); namespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); } if (!getNamespaceBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, namespace_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); } if (!getNamespaceBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, namespace_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate other = (istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate) obj; if (!getName() .equals(other.getName())) return false; if (!getNamespace() .equals(other.getNamespace())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); hash = (37 * hash) + NAMESPACE_FIELD_NUMBER; hash = (53 * hash) + getNamespace().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Describes the delegate VirtualService.
     * The following routing rules forward the traffic to `/productpage` by a delegate VirtualService named `productpage`,
     * forward the traffic to `/reviews` by a delegate VirtualService named `reviews`.
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: bookinfo
     * spec:
     *   hosts:
     *   - "bookinfo.com"
     *   gateways:
     *   - mygateway
     *   http:
     *   - match:
     *     - uri:
     *         prefix: "/productpage"
     *     delegate:
     *        name: productpage
     *        namespace: nsA
     *   - match:
     *     - uri:
     *         prefix: "/reviews"
     *     delegate:
     *         name: reviews
     *         namespace: nsB
     * ```
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: productpage
     *   namespace: nsA
     * spec:
     *   http:
     *   - match:
     *      - uri:
     *         prefix: "/productpage/v1/"
     *     route:
     *     - destination:
     *         host: productpage-v1.nsA.svc.cluster.local
     *   - route:
     *     - destination:
     *         host: productpage.nsA.svc.cluster.local
     * ```
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: reviews
     *   namespace: nsB
     * spec:
     *   http:
     *   - route:
     *     - destination:
     *         host: reviews.nsB.svc.cluster.local
     * ```
     * 
* * Protobuf type {@code istio.networking.v1alpha3.Delegate} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.Delegate) istio.networking.v1alpha3.VirtualServiceOuterClass.DelegateOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Delegate_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Delegate_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); name_ = ""; namespace_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Delegate_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate build() { istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate result = new istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate(this); result.name_ = name_; result.namespace_ = namespace_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate.getDefaultInstance()) return this; if (!other.getName().isEmpty()) { name_ = other.name_; onChanged(); } if (!other.getNamespace().isEmpty()) { namespace_ = other.namespace_; onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private java.lang.Object name_ = ""; /** *
       * Name specifies the name of the delegate VirtualService.
       * 
* * string name = 1; * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * Name specifies the name of the delegate VirtualService.
       * 
* * string name = 1; * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * Name specifies the name of the delegate VirtualService.
       * 
* * string name = 1; * @param value The name to set. * @return This builder for chaining. */ public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } name_ = value; onChanged(); return this; } /** *
       * Name specifies the name of the delegate VirtualService.
       * 
* * string name = 1; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); onChanged(); return this; } /** *
       * Name specifies the name of the delegate VirtualService.
       * 
* * string name = 1; * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); name_ = value; onChanged(); return this; } private java.lang.Object namespace_ = ""; /** *
       * Namespace specifies the namespace where the delegate VirtualService resides.
       * By default, it is same to the root's.
       * 
* * string namespace = 2; * @return The namespace. */ public java.lang.String getNamespace() { java.lang.Object ref = namespace_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); namespace_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * Namespace specifies the namespace where the delegate VirtualService resides.
       * By default, it is same to the root's.
       * 
* * string namespace = 2; * @return The bytes for namespace. */ public com.google.protobuf.ByteString getNamespaceBytes() { java.lang.Object ref = namespace_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); namespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * Namespace specifies the namespace where the delegate VirtualService resides.
       * By default, it is same to the root's.
       * 
* * string namespace = 2; * @param value The namespace to set. * @return This builder for chaining. */ public Builder setNamespace( java.lang.String value) { if (value == null) { throw new NullPointerException(); } namespace_ = value; onChanged(); return this; } /** *
       * Namespace specifies the namespace where the delegate VirtualService resides.
       * By default, it is same to the root's.
       * 
* * string namespace = 2; * @return This builder for chaining. */ public Builder clearNamespace() { namespace_ = getDefaultInstance().getNamespace(); onChanged(); return this; } /** *
       * Namespace specifies the namespace where the delegate VirtualService resides.
       * By default, it is same to the root's.
       * 
* * string namespace = 2; * @param value The bytes for namespace to set. * @return This builder for chaining. */ public Builder setNamespaceBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); namespace_ = value; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.Delegate) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Delegate) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Delegate parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new Delegate(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Delegate getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface HeadersOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.Headers) com.google.protobuf.MessageOrBuilder { /** *
     * Header manipulation rules to apply before forwarding a request
     * to the destination service
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; * @return Whether the request field is set. */ boolean hasRequest(); /** *
     * Header manipulation rules to apply before forwarding a request
     * to the destination service
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; * @return The request. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations getRequest(); /** *
     * Header manipulation rules to apply before forwarding a request
     * to the destination service
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; */ istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder getRequestOrBuilder(); /** *
     * Header manipulation rules to apply before returning a response
     * to the caller
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; * @return Whether the response field is set. */ boolean hasResponse(); /** *
     * Header manipulation rules to apply before returning a response
     * to the caller
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; * @return The response. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations getResponse(); /** *
     * Header manipulation rules to apply before returning a response
     * to the caller
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; */ istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder getResponseOrBuilder(); } /** *
   * Message headers can be manipulated when Envoy forwards requests to,
   * or responses from, a destination service. Header manipulation rules can
   * be specified for a specific route destination or for all destinations.
   * The following VirtualService adds a `test` header with the value `true`
   * to requests that are routed to any `reviews` service destination.
   * It also removes the `foo` response header, but only from responses
   * coming from the `v1` subset (version) of the `reviews` service.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: reviews-route
   * spec:
   *   hosts:
   *   - reviews.prod.svc.cluster.local
   *   http:
   *   - headers:
   *       request:
   *         set:
   *           test: true
   *     route:
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   *         subset: v2
   *       weight: 25
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   *         subset: v1
   *       headers:
   *         response:
   *           remove:
   *           - foo
   *       weight: 75
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: reviews-route
   * spec:
   *   hosts:
   *   - reviews.prod.svc.cluster.local
   *   http:
   *   - headers:
   *       request:
   *         set:
   *           test: true
   *     route:
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   *         subset: v2
   *       weight: 25
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   *         subset: v1
   *       headers:
   *         response:
   *           remove:
   *           - foo
   *       weight: 75
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * 
* * Protobuf type {@code istio.networking.v1alpha3.Headers} */ public static final class Headers extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.Headers) HeadersOrBuilder { private static final long serialVersionUID = 0L; // Use Headers.newBuilder() to construct. private Headers(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Headers() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Headers(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Headers( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder subBuilder = null; if (request_ != null) { subBuilder = request_.toBuilder(); } request_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(request_); request_ = subBuilder.buildPartial(); } break; } case 18: { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder subBuilder = null; if (response_ != null) { subBuilder = response_.toBuilder(); } response_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(response_); response_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder.class); } public interface HeaderOperationsOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.Headers.HeaderOperations) com.google.protobuf.MessageOrBuilder { /** *
       * Overwrite the headers specified by key with the given values
       * 
* * map<string, string> set = 1; */ int getSetCount(); /** *
       * Overwrite the headers specified by key with the given values
       * 
* * map<string, string> set = 1; */ boolean containsSet( java.lang.String key); /** * Use {@link #getSetMap()} instead. */ @java.lang.Deprecated java.util.Map getSet(); /** *
       * Overwrite the headers specified by key with the given values
       * 
* * map<string, string> set = 1; */ java.util.Map getSetMap(); /** *
       * Overwrite the headers specified by key with the given values
       * 
* * map<string, string> set = 1; */ java.lang.String getSetOrDefault( java.lang.String key, java.lang.String defaultValue); /** *
       * Overwrite the headers specified by key with the given values
       * 
* * map<string, string> set = 1; */ java.lang.String getSetOrThrow( java.lang.String key); /** *
       * Append the given values to the headers specified by keys
       * (will create a comma-separated list of values)
       * 
* * map<string, string> add = 2; */ int getAddCount(); /** *
       * Append the given values to the headers specified by keys
       * (will create a comma-separated list of values)
       * 
* * map<string, string> add = 2; */ boolean containsAdd( java.lang.String key); /** * Use {@link #getAddMap()} instead. */ @java.lang.Deprecated java.util.Map getAdd(); /** *
       * Append the given values to the headers specified by keys
       * (will create a comma-separated list of values)
       * 
* * map<string, string> add = 2; */ java.util.Map getAddMap(); /** *
       * Append the given values to the headers specified by keys
       * (will create a comma-separated list of values)
       * 
* * map<string, string> add = 2; */ java.lang.String getAddOrDefault( java.lang.String key, java.lang.String defaultValue); /** *
       * Append the given values to the headers specified by keys
       * (will create a comma-separated list of values)
       * 
* * map<string, string> add = 2; */ java.lang.String getAddOrThrow( java.lang.String key); /** *
       * Remove a the specified headers
       * 
* * repeated string remove = 3; * @return A list containing the remove. */ java.util.List getRemoveList(); /** *
       * Remove a the specified headers
       * 
* * repeated string remove = 3; * @return The count of remove. */ int getRemoveCount(); /** *
       * Remove a the specified headers
       * 
* * repeated string remove = 3; * @param index The index of the element to return. * @return The remove at the given index. */ java.lang.String getRemove(int index); /** *
       * Remove a the specified headers
       * 
* * repeated string remove = 3; * @param index The index of the value to return. * @return The bytes of the remove at the given index. */ com.google.protobuf.ByteString getRemoveBytes(int index); } /** *
     * HeaderOperations Describes the header manipulations to apply
     * 
* * Protobuf type {@code istio.networking.v1alpha3.Headers.HeaderOperations} */ public static final class HeaderOperations extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.Headers.HeaderOperations) HeaderOperationsOrBuilder { private static final long serialVersionUID = 0L; // Use HeaderOperations.newBuilder() to construct. private HeaderOperations(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private HeaderOperations() { remove_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HeaderOperations(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private HeaderOperations( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { set_ = com.google.protobuf.MapField.newMapField( SetDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000001; } com.google.protobuf.MapEntry set__ = input.readMessage( SetDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); set_.getMutableMap().put( set__.getKey(), set__.getValue()); break; } case 18: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { add_ = com.google.protobuf.MapField.newMapField( AddDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000002; } com.google.protobuf.MapEntry add__ = input.readMessage( AddDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); add_.getMutableMap().put( add__.getKey(), add__.getValue()); break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000004) != 0)) { remove_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000004; } remove_.add(s); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000004) != 0)) { remove_ = remove_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_descriptor; } @SuppressWarnings({"rawtypes"}) @java.lang.Override protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 1: return internalGetSet(); case 2: return internalGetAdd(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder.class); } public static final int SET_FIELD_NUMBER = 1; private static final class SetDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_SetEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, ""); } private com.google.protobuf.MapField< java.lang.String, java.lang.String> set_; private com.google.protobuf.MapField internalGetSet() { if (set_ == null) { return com.google.protobuf.MapField.emptyMapField( SetDefaultEntryHolder.defaultEntry); } return set_; } public int getSetCount() { return internalGetSet().getMap().size(); } /** *
       * Overwrite the headers specified by key with the given values
       * 
* * map<string, string> set = 1; */ @java.lang.Override public boolean containsSet( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetSet().getMap().containsKey(key); } /** * Use {@link #getSetMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getSet() { return getSetMap(); } /** *
       * Overwrite the headers specified by key with the given values
       * 
* * map<string, string> set = 1; */ @java.lang.Override public java.util.Map getSetMap() { return internalGetSet().getMap(); } /** *
       * Overwrite the headers specified by key with the given values
       * 
* * map<string, string> set = 1; */ @java.lang.Override public java.lang.String getSetOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSet().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
       * Overwrite the headers specified by key with the given values
       * 
* * map<string, string> set = 1; */ @java.lang.Override public java.lang.String getSetOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSet().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int ADD_FIELD_NUMBER = 2; private static final class AddDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_AddEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, ""); } private com.google.protobuf.MapField< java.lang.String, java.lang.String> add_; private com.google.protobuf.MapField internalGetAdd() { if (add_ == null) { return com.google.protobuf.MapField.emptyMapField( AddDefaultEntryHolder.defaultEntry); } return add_; } public int getAddCount() { return internalGetAdd().getMap().size(); } /** *
       * Append the given values to the headers specified by keys
       * (will create a comma-separated list of values)
       * 
* * map<string, string> add = 2; */ @java.lang.Override public boolean containsAdd( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetAdd().getMap().containsKey(key); } /** * Use {@link #getAddMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getAdd() { return getAddMap(); } /** *
       * Append the given values to the headers specified by keys
       * (will create a comma-separated list of values)
       * 
* * map<string, string> add = 2; */ @java.lang.Override public java.util.Map getAddMap() { return internalGetAdd().getMap(); } /** *
       * Append the given values to the headers specified by keys
       * (will create a comma-separated list of values)
       * 
* * map<string, string> add = 2; */ @java.lang.Override public java.lang.String getAddOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetAdd().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
       * Append the given values to the headers specified by keys
       * (will create a comma-separated list of values)
       * 
* * map<string, string> add = 2; */ @java.lang.Override public java.lang.String getAddOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetAdd().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int REMOVE_FIELD_NUMBER = 3; private com.google.protobuf.LazyStringList remove_; /** *
       * Remove a the specified headers
       * 
* * repeated string remove = 3; * @return A list containing the remove. */ public com.google.protobuf.ProtocolStringList getRemoveList() { return remove_; } /** *
       * Remove a the specified headers
       * 
* * repeated string remove = 3; * @return The count of remove. */ public int getRemoveCount() { return remove_.size(); } /** *
       * Remove a the specified headers
       * 
* * repeated string remove = 3; * @param index The index of the element to return. * @return The remove at the given index. */ public java.lang.String getRemove(int index) { return remove_.get(index); } /** *
       * Remove a the specified headers
       * 
* * repeated string remove = 3; * @param index The index of the value to return. * @return The bytes of the remove at the given index. */ public com.google.protobuf.ByteString getRemoveBytes(int index) { return remove_.getByteString(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetSet(), SetDefaultEntryHolder.defaultEntry, 1); com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetAdd(), AddDefaultEntryHolder.defaultEntry, 2); for (int i = 0; i < remove_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, remove_.getRaw(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (java.util.Map.Entry entry : internalGetSet().getMap().entrySet()) { com.google.protobuf.MapEntry set__ = SetDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, set__); } for (java.util.Map.Entry entry : internalGetAdd().getMap().entrySet()) { com.google.protobuf.MapEntry add__ = AddDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, add__); } { int dataSize = 0; for (int i = 0; i < remove_.size(); i++) { dataSize += computeStringSizeNoTag(remove_.getRaw(i)); } size += dataSize; size += 1 * getRemoveList().size(); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations other = (istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations) obj; if (!internalGetSet().equals( other.internalGetSet())) return false; if (!internalGetAdd().equals( other.internalGetAdd())) return false; if (!getRemoveList() .equals(other.getRemoveList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (!internalGetSet().getMap().isEmpty()) { hash = (37 * hash) + SET_FIELD_NUMBER; hash = (53 * hash) + internalGetSet().hashCode(); } if (!internalGetAdd().getMap().isEmpty()) { hash = (37 * hash) + ADD_FIELD_NUMBER; hash = (53 * hash) + internalGetAdd().hashCode(); } if (getRemoveCount() > 0) { hash = (37 * hash) + REMOVE_FIELD_NUMBER; hash = (53 * hash) + getRemoveList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
       * HeaderOperations Describes the header manipulations to apply
       * 
* * Protobuf type {@code istio.networking.v1alpha3.Headers.HeaderOperations} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.Headers.HeaderOperations) istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 1: return internalGetSet(); case 2: return internalGetAdd(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { case 1: return internalGetMutableSet(); case 2: return internalGetMutableAdd(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); internalGetMutableSet().clear(); internalGetMutableAdd().clear(); remove_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations build() { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations result = new istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations(this); int from_bitField0_ = bitField0_; result.set_ = internalGetSet(); result.set_.makeImmutable(); result.add_ = internalGetAdd(); result.add_.makeImmutable(); if (((bitField0_ & 0x00000004) != 0)) { remove_ = remove_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000004); } result.remove_ = remove_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.getDefaultInstance()) return this; internalGetMutableSet().mergeFrom( other.internalGetSet()); internalGetMutableAdd().mergeFrom( other.internalGetAdd()); if (!other.remove_.isEmpty()) { if (remove_.isEmpty()) { remove_ = other.remove_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureRemoveIsMutable(); remove_.addAll(other.remove_); } onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private com.google.protobuf.MapField< java.lang.String, java.lang.String> set_; private com.google.protobuf.MapField internalGetSet() { if (set_ == null) { return com.google.protobuf.MapField.emptyMapField( SetDefaultEntryHolder.defaultEntry); } return set_; } private com.google.protobuf.MapField internalGetMutableSet() { onChanged();; if (set_ == null) { set_ = com.google.protobuf.MapField.newMapField( SetDefaultEntryHolder.defaultEntry); } if (!set_.isMutable()) { set_ = set_.copy(); } return set_; } public int getSetCount() { return internalGetSet().getMap().size(); } /** *
         * Overwrite the headers specified by key with the given values
         * 
* * map<string, string> set = 1; */ @java.lang.Override public boolean containsSet( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetSet().getMap().containsKey(key); } /** * Use {@link #getSetMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getSet() { return getSetMap(); } /** *
         * Overwrite the headers specified by key with the given values
         * 
* * map<string, string> set = 1; */ @java.lang.Override public java.util.Map getSetMap() { return internalGetSet().getMap(); } /** *
         * Overwrite the headers specified by key with the given values
         * 
* * map<string, string> set = 1; */ @java.lang.Override public java.lang.String getSetOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSet().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
         * Overwrite the headers specified by key with the given values
         * 
* * map<string, string> set = 1; */ @java.lang.Override public java.lang.String getSetOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSet().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearSet() { internalGetMutableSet().getMutableMap() .clear(); return this; } /** *
         * Overwrite the headers specified by key with the given values
         * 
* * map<string, string> set = 1; */ public Builder removeSet( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } internalGetMutableSet().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableSet() { return internalGetMutableSet().getMutableMap(); } /** *
         * Overwrite the headers specified by key with the given values
         * 
* * map<string, string> set = 1; */ public Builder putSet( java.lang.String key, java.lang.String value) { if (key == null) { throw new java.lang.NullPointerException(); } if (value == null) { throw new java.lang.NullPointerException(); } internalGetMutableSet().getMutableMap() .put(key, value); return this; } /** *
         * Overwrite the headers specified by key with the given values
         * 
* * map<string, string> set = 1; */ public Builder putAllSet( java.util.Map values) { internalGetMutableSet().getMutableMap() .putAll(values); return this; } private com.google.protobuf.MapField< java.lang.String, java.lang.String> add_; private com.google.protobuf.MapField internalGetAdd() { if (add_ == null) { return com.google.protobuf.MapField.emptyMapField( AddDefaultEntryHolder.defaultEntry); } return add_; } private com.google.protobuf.MapField internalGetMutableAdd() { onChanged();; if (add_ == null) { add_ = com.google.protobuf.MapField.newMapField( AddDefaultEntryHolder.defaultEntry); } if (!add_.isMutable()) { add_ = add_.copy(); } return add_; } public int getAddCount() { return internalGetAdd().getMap().size(); } /** *
         * Append the given values to the headers specified by keys
         * (will create a comma-separated list of values)
         * 
* * map<string, string> add = 2; */ @java.lang.Override public boolean containsAdd( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetAdd().getMap().containsKey(key); } /** * Use {@link #getAddMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getAdd() { return getAddMap(); } /** *
         * Append the given values to the headers specified by keys
         * (will create a comma-separated list of values)
         * 
* * map<string, string> add = 2; */ @java.lang.Override public java.util.Map getAddMap() { return internalGetAdd().getMap(); } /** *
         * Append the given values to the headers specified by keys
         * (will create a comma-separated list of values)
         * 
* * map<string, string> add = 2; */ @java.lang.Override public java.lang.String getAddOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetAdd().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
         * Append the given values to the headers specified by keys
         * (will create a comma-separated list of values)
         * 
* * map<string, string> add = 2; */ @java.lang.Override public java.lang.String getAddOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetAdd().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearAdd() { internalGetMutableAdd().getMutableMap() .clear(); return this; } /** *
         * Append the given values to the headers specified by keys
         * (will create a comma-separated list of values)
         * 
* * map<string, string> add = 2; */ public Builder removeAdd( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } internalGetMutableAdd().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableAdd() { return internalGetMutableAdd().getMutableMap(); } /** *
         * Append the given values to the headers specified by keys
         * (will create a comma-separated list of values)
         * 
* * map<string, string> add = 2; */ public Builder putAdd( java.lang.String key, java.lang.String value) { if (key == null) { throw new java.lang.NullPointerException(); } if (value == null) { throw new java.lang.NullPointerException(); } internalGetMutableAdd().getMutableMap() .put(key, value); return this; } /** *
         * Append the given values to the headers specified by keys
         * (will create a comma-separated list of values)
         * 
* * map<string, string> add = 2; */ public Builder putAllAdd( java.util.Map values) { internalGetMutableAdd().getMutableMap() .putAll(values); return this; } private com.google.protobuf.LazyStringList remove_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureRemoveIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { remove_ = new com.google.protobuf.LazyStringArrayList(remove_); bitField0_ |= 0x00000004; } } /** *
         * Remove a the specified headers
         * 
* * repeated string remove = 3; * @return A list containing the remove. */ public com.google.protobuf.ProtocolStringList getRemoveList() { return remove_.getUnmodifiableView(); } /** *
         * Remove a the specified headers
         * 
* * repeated string remove = 3; * @return The count of remove. */ public int getRemoveCount() { return remove_.size(); } /** *
         * Remove a the specified headers
         * 
* * repeated string remove = 3; * @param index The index of the element to return. * @return The remove at the given index. */ public java.lang.String getRemove(int index) { return remove_.get(index); } /** *
         * Remove a the specified headers
         * 
* * repeated string remove = 3; * @param index The index of the value to return. * @return The bytes of the remove at the given index. */ public com.google.protobuf.ByteString getRemoveBytes(int index) { return remove_.getByteString(index); } /** *
         * Remove a the specified headers
         * 
* * repeated string remove = 3; * @param index The index to set the value at. * @param value The remove to set. * @return This builder for chaining. */ public Builder setRemove( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureRemoveIsMutable(); remove_.set(index, value); onChanged(); return this; } /** *
         * Remove a the specified headers
         * 
* * repeated string remove = 3; * @param value The remove to add. * @return This builder for chaining. */ public Builder addRemove( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureRemoveIsMutable(); remove_.add(value); onChanged(); return this; } /** *
         * Remove a the specified headers
         * 
* * repeated string remove = 3; * @param values The remove to add. * @return This builder for chaining. */ public Builder addAllRemove( java.lang.Iterable values) { ensureRemoveIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, remove_); onChanged(); return this; } /** *
         * Remove a the specified headers
         * 
* * repeated string remove = 3; * @return This builder for chaining. */ public Builder clearRemove() { remove_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } /** *
         * Remove a the specified headers
         * 
* * repeated string remove = 3; * @param value The bytes of the remove to add. * @return This builder for chaining. */ public Builder addRemoveBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureRemoveIsMutable(); remove_.add(value); onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.Headers.HeaderOperations) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Headers.HeaderOperations) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HeaderOperations parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new HeaderOperations(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public static final int REQUEST_FIELD_NUMBER = 1; private istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations request_; /** *
     * Header manipulation rules to apply before forwarding a request
     * to the destination service
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; * @return Whether the request field is set. */ @java.lang.Override public boolean hasRequest() { return request_ != null; } /** *
     * Header manipulation rules to apply before forwarding a request
     * to the destination service
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; * @return The request. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations getRequest() { return request_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.getDefaultInstance() : request_; } /** *
     * Header manipulation rules to apply before forwarding a request
     * to the destination service
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder getRequestOrBuilder() { return getRequest(); } public static final int RESPONSE_FIELD_NUMBER = 2; private istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations response_; /** *
     * Header manipulation rules to apply before returning a response
     * to the caller
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; * @return Whether the response field is set. */ @java.lang.Override public boolean hasResponse() { return response_ != null; } /** *
     * Header manipulation rules to apply before returning a response
     * to the caller
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; * @return The response. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations getResponse() { return response_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.getDefaultInstance() : response_; } /** *
     * Header manipulation rules to apply before returning a response
     * to the caller
     * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder getResponseOrBuilder() { return getResponse(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (request_ != null) { output.writeMessage(1, getRequest()); } if (response_ != null) { output.writeMessage(2, getResponse()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (request_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getRequest()); } if (response_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getResponse()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Headers)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.Headers other = (istio.networking.v1alpha3.VirtualServiceOuterClass.Headers) obj; if (hasRequest() != other.hasRequest()) return false; if (hasRequest()) { if (!getRequest() .equals(other.getRequest())) return false; } if (hasResponse() != other.hasResponse()) return false; if (hasResponse()) { if (!getResponse() .equals(other.getResponse())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasRequest()) { hash = (37 * hash) + REQUEST_FIELD_NUMBER; hash = (53 * hash) + getRequest().hashCode(); } if (hasResponse()) { hash = (37 * hash) + RESPONSE_FIELD_NUMBER; hash = (53 * hash) + getResponse().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Message headers can be manipulated when Envoy forwards requests to,
     * or responses from, a destination service. Header manipulation rules can
     * be specified for a specific route destination or for all destinations.
     * The following VirtualService adds a `test` header with the value `true`
     * to requests that are routed to any `reviews` service destination.
     * It also removes the `foo` response header, but only from responses
     * coming from the `v1` subset (version) of the `reviews` service.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: reviews-route
     * spec:
     *   hosts:
     *   - reviews.prod.svc.cluster.local
     *   http:
     *   - headers:
     *       request:
     *         set:
     *           test: true
     *     route:
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v2
     *       weight: 25
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v1
     *       headers:
     *         response:
     *           remove:
     *           - foo
     *       weight: 75
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: reviews-route
     * spec:
     *   hosts:
     *   - reviews.prod.svc.cluster.local
     *   http:
     *   - headers:
     *       request:
     *         set:
     *           test: true
     *     route:
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v2
     *       weight: 25
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v1
     *       headers:
     *         response:
     *           remove:
     *           - foo
     *       weight: 75
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * 
* * Protobuf type {@code istio.networking.v1alpha3.Headers} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.Headers) istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); if (requestBuilder_ == null) { request_ = null; } else { request_ = null; requestBuilder_ = null; } if (responseBuilder_ == null) { response_ = null; } else { response_ = null; responseBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Headers_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers build() { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers result = new istio.networking.v1alpha3.VirtualServiceOuterClass.Headers(this); if (requestBuilder_ == null) { result.request_ = request_; } else { result.request_ = requestBuilder_.build(); } if (responseBuilder_ == null) { result.response_ = response_; } else { result.response_ = responseBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Headers) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.Headers)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.getDefaultInstance()) return this; if (other.hasRequest()) { mergeRequest(other.getRequest()); } if (other.hasResponse()) { mergeResponse(other.getResponse()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.Headers) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations request_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder> requestBuilder_; /** *
       * Header manipulation rules to apply before forwarding a request
       * to the destination service
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; * @return Whether the request field is set. */ public boolean hasRequest() { return requestBuilder_ != null || request_ != null; } /** *
       * Header manipulation rules to apply before forwarding a request
       * to the destination service
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; * @return The request. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations getRequest() { if (requestBuilder_ == null) { return request_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.getDefaultInstance() : request_; } else { return requestBuilder_.getMessage(); } } /** *
       * Header manipulation rules to apply before forwarding a request
       * to the destination service
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; */ public Builder setRequest(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations value) { if (requestBuilder_ == null) { if (value == null) { throw new NullPointerException(); } request_ = value; onChanged(); } else { requestBuilder_.setMessage(value); } return this; } /** *
       * Header manipulation rules to apply before forwarding a request
       * to the destination service
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; */ public Builder setRequest( istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder builderForValue) { if (requestBuilder_ == null) { request_ = builderForValue.build(); onChanged(); } else { requestBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Header manipulation rules to apply before forwarding a request
       * to the destination service
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; */ public Builder mergeRequest(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations value) { if (requestBuilder_ == null) { if (request_ != null) { request_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.newBuilder(request_).mergeFrom(value).buildPartial(); } else { request_ = value; } onChanged(); } else { requestBuilder_.mergeFrom(value); } return this; } /** *
       * Header manipulation rules to apply before forwarding a request
       * to the destination service
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; */ public Builder clearRequest() { if (requestBuilder_ == null) { request_ = null; onChanged(); } else { request_ = null; requestBuilder_ = null; } return this; } /** *
       * Header manipulation rules to apply before forwarding a request
       * to the destination service
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder getRequestBuilder() { onChanged(); return getRequestFieldBuilder().getBuilder(); } /** *
       * Header manipulation rules to apply before forwarding a request
       * to the destination service
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder getRequestOrBuilder() { if (requestBuilder_ != null) { return requestBuilder_.getMessageOrBuilder(); } else { return request_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.getDefaultInstance() : request_; } } /** *
       * Header manipulation rules to apply before forwarding a request
       * to the destination service
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations request = 1; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder> getRequestFieldBuilder() { if (requestBuilder_ == null) { requestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder>( getRequest(), getParentForChildren(), isClean()); request_ = null; } return requestBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations response_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder> responseBuilder_; /** *
       * Header manipulation rules to apply before returning a response
       * to the caller
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; * @return Whether the response field is set. */ public boolean hasResponse() { return responseBuilder_ != null || response_ != null; } /** *
       * Header manipulation rules to apply before returning a response
       * to the caller
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; * @return The response. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations getResponse() { if (responseBuilder_ == null) { return response_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.getDefaultInstance() : response_; } else { return responseBuilder_.getMessage(); } } /** *
       * Header manipulation rules to apply before returning a response
       * to the caller
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; */ public Builder setResponse(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations value) { if (responseBuilder_ == null) { if (value == null) { throw new NullPointerException(); } response_ = value; onChanged(); } else { responseBuilder_.setMessage(value); } return this; } /** *
       * Header manipulation rules to apply before returning a response
       * to the caller
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; */ public Builder setResponse( istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder builderForValue) { if (responseBuilder_ == null) { response_ = builderForValue.build(); onChanged(); } else { responseBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Header manipulation rules to apply before returning a response
       * to the caller
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; */ public Builder mergeResponse(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations value) { if (responseBuilder_ == null) { if (response_ != null) { response_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.newBuilder(response_).mergeFrom(value).buildPartial(); } else { response_ = value; } onChanged(); } else { responseBuilder_.mergeFrom(value); } return this; } /** *
       * Header manipulation rules to apply before returning a response
       * to the caller
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; */ public Builder clearResponse() { if (responseBuilder_ == null) { response_ = null; onChanged(); } else { response_ = null; responseBuilder_ = null; } return this; } /** *
       * Header manipulation rules to apply before returning a response
       * to the caller
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder getResponseBuilder() { onChanged(); return getResponseFieldBuilder().getBuilder(); } /** *
       * Header manipulation rules to apply before returning a response
       * to the caller
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder getResponseOrBuilder() { if (responseBuilder_ != null) { return responseBuilder_.getMessageOrBuilder(); } else { return response_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.getDefaultInstance() : response_; } } /** *
       * Header manipulation rules to apply before returning a response
       * to the caller
       * 
* * .istio.networking.v1alpha3.Headers.HeaderOperations response = 2; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder> getResponseFieldBuilder() { if (responseBuilder_ == null) { responseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperations.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.HeaderOperationsOrBuilder>( getResponse(), getParentForChildren(), isClean()); response_ = null; } return responseBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.Headers) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Headers) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.Headers DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.Headers(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Headers getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Headers parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new Headers(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface TLSRouteOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.TLSRoute) com.google.protobuf.MessageOrBuilder { /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ java.util.List getMatchList(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes getMatch(int index); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ int getMatchCount(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ java.util.List getMatchOrBuilderList(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributesOrBuilder getMatchOrBuilder( int index); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ java.util.List getRouteList(); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination getRoute(int index); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ int getRouteCount(); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ java.util.List getRouteOrBuilderList(); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder getRouteOrBuilder( int index); } /** *
   * Describes match conditions and actions for routing unterminated TLS
   * traffic (TLS/HTTPS) The following routing rule forwards unterminated TLS
   * traffic arriving at port 443 of gateway called "mygateway" to internal
   * services in the mesh based on the SNI value.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: bookinfo-sni
   * spec:
   *   hosts:
   *   - "*.bookinfo.com"
   *   gateways:
   *   - mygateway
   *   tls:
   *   - match:
   *     - port: 443
   *       sniHosts:
   *       - login.bookinfo.com
   *     route:
   *     - destination:
   *         host: login.prod.svc.cluster.local
   *   - match:
   *     - port: 443
   *       sniHosts:
   *       - reviews.bookinfo.com
   *     route:
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: bookinfo-sni
   * spec:
   *   hosts:
   *   - "*.bookinfo.com"
   *   gateways:
   *   - mygateway
   *   tls:
   *   - match:
   *     - port: 443
   *       sniHosts:
   *       - login.bookinfo.com
   *     route:
   *     - destination:
   *         host: login.prod.svc.cluster.local
   *   - match:
   *     - port: 443
   *       sniHosts:
   *       - reviews.bookinfo.com
   *     route:
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * 
* * Protobuf type {@code istio.networking.v1alpha3.TLSRoute} */ public static final class TLSRoute extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.TLSRoute) TLSRouteOrBuilder { private static final long serialVersionUID = 0L; // Use TLSRoute.newBuilder() to construct. private TLSRoute(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private TLSRoute() { match_ = java.util.Collections.emptyList(); route_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new TLSRoute(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private TLSRoute( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { match_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } match_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.parser(), extensionRegistry)); break; } case 18: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { route_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000002; } route_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.parser(), extensionRegistry)); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { match_ = java.util.Collections.unmodifiableList(match_); } if (((mutable_bitField0_ & 0x00000002) != 0)) { route_ = java.util.Collections.unmodifiableList(route_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSRoute_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSRoute_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.class, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder.class); } public static final int MATCH_FIELD_NUMBER = 1; private java.util.List match_; /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ @java.lang.Override public java.util.List getMatchList() { return match_; } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ @java.lang.Override public java.util.List getMatchOrBuilderList() { return match_; } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ @java.lang.Override public int getMatchCount() { return match_.size(); } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes getMatch(int index) { return match_.get(index); } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributesOrBuilder getMatchOrBuilder( int index) { return match_.get(index); } public static final int ROUTE_FIELD_NUMBER = 2; private java.util.List route_; /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public java.util.List getRouteList() { return route_; } /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public java.util.List getRouteOrBuilderList() { return route_; } /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public int getRouteCount() { return route_.size(); } /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination getRoute(int index) { return route_.get(index); } /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder getRouteOrBuilder( int index) { return route_.get(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < match_.size(); i++) { output.writeMessage(1, match_.get(i)); } for (int i = 0; i < route_.size(); i++) { output.writeMessage(2, route_.get(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (int i = 0; i < match_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, match_.get(i)); } for (int i = 0; i < route_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, route_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute other = (istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute) obj; if (!getMatchList() .equals(other.getMatchList())) return false; if (!getRouteList() .equals(other.getRouteList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getMatchCount() > 0) { hash = (37 * hash) + MATCH_FIELD_NUMBER; hash = (53 * hash) + getMatchList().hashCode(); } if (getRouteCount() > 0) { hash = (37 * hash) + ROUTE_FIELD_NUMBER; hash = (53 * hash) + getRouteList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Describes match conditions and actions for routing unterminated TLS
     * traffic (TLS/HTTPS) The following routing rule forwards unterminated TLS
     * traffic arriving at port 443 of gateway called "mygateway" to internal
     * services in the mesh based on the SNI value.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: bookinfo-sni
     * spec:
     *   hosts:
     *   - "*.bookinfo.com"
     *   gateways:
     *   - mygateway
     *   tls:
     *   - match:
     *     - port: 443
     *       sniHosts:
     *       - login.bookinfo.com
     *     route:
     *     - destination:
     *         host: login.prod.svc.cluster.local
     *   - match:
     *     - port: 443
     *       sniHosts:
     *       - reviews.bookinfo.com
     *     route:
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: bookinfo-sni
     * spec:
     *   hosts:
     *   - "*.bookinfo.com"
     *   gateways:
     *   - mygateway
     *   tls:
     *   - match:
     *     - port: 443
     *       sniHosts:
     *       - login.bookinfo.com
     *     route:
     *     - destination:
     *         host: login.prod.svc.cluster.local
     *   - match:
     *     - port: 443
     *       sniHosts:
     *       - reviews.bookinfo.com
     *     route:
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * 
* * Protobuf type {@code istio.networking.v1alpha3.TLSRoute} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.TLSRoute) istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRouteOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSRoute_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSRoute_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.class, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getMatchFieldBuilder(); getRouteFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); if (matchBuilder_ == null) { match_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { matchBuilder_.clear(); } if (routeBuilder_ == null) { route_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { routeBuilder_.clear(); } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSRoute_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute build() { istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute result = new istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute(this); int from_bitField0_ = bitField0_; if (matchBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { match_ = java.util.Collections.unmodifiableList(match_); bitField0_ = (bitField0_ & ~0x00000001); } result.match_ = match_; } else { result.match_ = matchBuilder_.build(); } if (routeBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { route_ = java.util.Collections.unmodifiableList(route_); bitField0_ = (bitField0_ & ~0x00000002); } result.route_ = route_; } else { result.route_ = routeBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute.getDefaultInstance()) return this; if (matchBuilder_ == null) { if (!other.match_.isEmpty()) { if (match_.isEmpty()) { match_ = other.match_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureMatchIsMutable(); match_.addAll(other.match_); } onChanged(); } } else { if (!other.match_.isEmpty()) { if (matchBuilder_.isEmpty()) { matchBuilder_.dispose(); matchBuilder_ = null; match_ = other.match_; bitField0_ = (bitField0_ & ~0x00000001); matchBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getMatchFieldBuilder() : null; } else { matchBuilder_.addAllMessages(other.match_); } } } if (routeBuilder_ == null) { if (!other.route_.isEmpty()) { if (route_.isEmpty()) { route_ = other.route_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureRouteIsMutable(); route_.addAll(other.route_); } onChanged(); } } else { if (!other.route_.isEmpty()) { if (routeBuilder_.isEmpty()) { routeBuilder_.dispose(); routeBuilder_ = null; route_ = other.route_; bitField0_ = (bitField0_ & ~0x00000002); routeBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRouteFieldBuilder() : null; } else { routeBuilder_.addAllMessages(other.route_); } } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.util.List match_ = java.util.Collections.emptyList(); private void ensureMatchIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { match_ = new java.util.ArrayList(match_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributesOrBuilder> matchBuilder_; /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public java.util.List getMatchList() { if (matchBuilder_ == null) { return java.util.Collections.unmodifiableList(match_); } else { return matchBuilder_.getMessageList(); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public int getMatchCount() { if (matchBuilder_ == null) { return match_.size(); } else { return matchBuilder_.getCount(); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes getMatch(int index) { if (matchBuilder_ == null) { return match_.get(index); } else { return matchBuilder_.getMessage(index); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder setMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureMatchIsMutable(); match_.set(index, value); onChanged(); } else { matchBuilder_.setMessage(index, value); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder setMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder builderForValue) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.set(index, builderForValue.build()); onChanged(); } else { matchBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder addMatch(istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureMatchIsMutable(); match_.add(value); onChanged(); } else { matchBuilder_.addMessage(value); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder addMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureMatchIsMutable(); match_.add(index, value); onChanged(); } else { matchBuilder_.addMessage(index, value); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder addMatch( istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder builderForValue) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.add(builderForValue.build()); onChanged(); } else { matchBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder addMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder builderForValue) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.add(index, builderForValue.build()); onChanged(); } else { matchBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder addAllMatch( java.lang.Iterable values) { if (matchBuilder_ == null) { ensureMatchIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, match_); onChanged(); } else { matchBuilder_.addAllMessages(values); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder clearMatch() { if (matchBuilder_ == null) { match_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { matchBuilder_.clear(); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder removeMatch(int index) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.remove(index); onChanged(); } else { matchBuilder_.remove(index); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder getMatchBuilder( int index) { return getMatchFieldBuilder().getBuilder(index); } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributesOrBuilder getMatchOrBuilder( int index) { if (matchBuilder_ == null) { return match_.get(index); } else { return matchBuilder_.getMessageOrBuilder(index); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public java.util.List getMatchOrBuilderList() { if (matchBuilder_ != null) { return matchBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(match_); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder addMatchBuilder() { return getMatchFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.getDefaultInstance()); } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder addMatchBuilder( int index) { return getMatchFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.getDefaultInstance()); } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.TLSMatchAttributes match = 1 [(.google.api.field_behavior) = REQUIRED]; */ public java.util.List getMatchBuilderList() { return getMatchFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributesOrBuilder> getMatchFieldBuilder() { if (matchBuilder_ == null) { matchBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributesOrBuilder>( match_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); match_ = null; } return matchBuilder_; } private java.util.List route_ = java.util.Collections.emptyList(); private void ensureRouteIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { route_ = new java.util.ArrayList(route_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder> routeBuilder_; /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public java.util.List getRouteList() { if (routeBuilder_ == null) { return java.util.Collections.unmodifiableList(route_); } else { return routeBuilder_.getMessageList(); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public int getRouteCount() { if (routeBuilder_ == null) { return route_.size(); } else { return routeBuilder_.getCount(); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination getRoute(int index) { if (routeBuilder_ == null) { return route_.get(index); } else { return routeBuilder_.getMessage(index); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder setRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRouteIsMutable(); route_.set(index, value); onChanged(); } else { routeBuilder_.setMessage(index, value); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder setRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder builderForValue) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.set(index, builderForValue.build()); onChanged(); } else { routeBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addRoute(istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRouteIsMutable(); route_.add(value); onChanged(); } else { routeBuilder_.addMessage(value); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRouteIsMutable(); route_.add(index, value); onChanged(); } else { routeBuilder_.addMessage(index, value); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addRoute( istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder builderForValue) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.add(builderForValue.build()); onChanged(); } else { routeBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder builderForValue) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.add(index, builderForValue.build()); onChanged(); } else { routeBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addAllRoute( java.lang.Iterable values) { if (routeBuilder_ == null) { ensureRouteIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, route_); onChanged(); } else { routeBuilder_.addAllMessages(values); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder clearRoute() { if (routeBuilder_ == null) { route_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { routeBuilder_.clear(); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder removeRoute(int index) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.remove(index); onChanged(); } else { routeBuilder_.remove(index); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder getRouteBuilder( int index) { return getRouteFieldBuilder().getBuilder(index); } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder getRouteOrBuilder( int index) { if (routeBuilder_ == null) { return route_.get(index); } else { return routeBuilder_.getMessageOrBuilder(index); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public java.util.List getRouteOrBuilderList() { if (routeBuilder_ != null) { return routeBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(route_); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder addRouteBuilder() { return getRouteFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.getDefaultInstance()); } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder addRouteBuilder( int index) { return getRouteFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.getDefaultInstance()); } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public java.util.List getRouteBuilderList() { return getRouteFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder> getRouteFieldBuilder() { if (routeBuilder_ == null) { routeBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder>( route_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); route_ = null; } return routeBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.TLSRoute) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.TLSRoute) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public TLSRoute parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new TLSRoute(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSRoute getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface TCPRouteOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.TCPRoute) com.google.protobuf.MessageOrBuilder { /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ java.util.List getMatchList(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes getMatch(int index); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ int getMatchCount(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ java.util.List getMatchOrBuilderList(); /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributesOrBuilder getMatchOrBuilder( int index); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ java.util.List getRouteList(); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination getRoute(int index); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ int getRouteCount(); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ java.util.List getRouteOrBuilderList(); /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder getRouteOrBuilder( int index); } /** *
   * Describes match conditions and actions for routing TCP traffic. The
   * following routing rule forwards traffic arriving at port 27017 for
   * mongo.prod.svc.cluster.local to another Mongo server on port 5555.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: bookinfo-mongo
   * spec:
   *   hosts:
   *   - mongo.prod.svc.cluster.local
   *   tcp:
   *   - match:
   *     - port: 27017
   *     route:
   *     - destination:
   *         host: mongo.backup.svc.cluster.local
   *         port:
   *           number: 5555
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: bookinfo-mongo
   * spec:
   *   hosts:
   *   - mongo.prod.svc.cluster.local
   *   tcp:
   *   - match:
   *     - port: 27017
   *     route:
   *     - destination:
   *         host: mongo.backup.svc.cluster.local
   *         port:
   *           number: 5555
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * 
* * Protobuf type {@code istio.networking.v1alpha3.TCPRoute} */ public static final class TCPRoute extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.TCPRoute) TCPRouteOrBuilder { private static final long serialVersionUID = 0L; // Use TCPRoute.newBuilder() to construct. private TCPRoute(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private TCPRoute() { match_ = java.util.Collections.emptyList(); route_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new TCPRoute(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private TCPRoute( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { match_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } match_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.parser(), extensionRegistry)); break; } case 18: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { route_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000002; } route_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.parser(), extensionRegistry)); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { match_ = java.util.Collections.unmodifiableList(match_); } if (((mutable_bitField0_ & 0x00000002) != 0)) { route_ = java.util.Collections.unmodifiableList(route_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TCPRoute_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TCPRoute_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.class, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder.class); } public static final int MATCH_FIELD_NUMBER = 1; private java.util.List match_; /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ @java.lang.Override public java.util.List getMatchList() { return match_; } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ @java.lang.Override public java.util.List getMatchOrBuilderList() { return match_; } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ @java.lang.Override public int getMatchCount() { return match_.size(); } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes getMatch(int index) { return match_.get(index); } /** *
     * Match conditions to be satisfied for the rule to be
     * activated. All conditions inside a single match block have AND
     * semantics, while the list of match blocks have OR semantics. The rule
     * is matched if any one of the match blocks succeed.
     * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributesOrBuilder getMatchOrBuilder( int index) { return match_.get(index); } public static final int ROUTE_FIELD_NUMBER = 2; private java.util.List route_; /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public java.util.List getRouteList() { return route_; } /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public java.util.List getRouteOrBuilderList() { return route_; } /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public int getRouteCount() { return route_.size(); } /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination getRoute(int index) { return route_.get(index); } /** *
     * The destination to which the connection should be forwarded to.
     * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder getRouteOrBuilder( int index) { return route_.get(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < match_.size(); i++) { output.writeMessage(1, match_.get(i)); } for (int i = 0; i < route_.size(); i++) { output.writeMessage(2, route_.get(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (int i = 0; i < match_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, match_.get(i)); } for (int i = 0; i < route_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, route_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute other = (istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute) obj; if (!getMatchList() .equals(other.getMatchList())) return false; if (!getRouteList() .equals(other.getRouteList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getMatchCount() > 0) { hash = (37 * hash) + MATCH_FIELD_NUMBER; hash = (53 * hash) + getMatchList().hashCode(); } if (getRouteCount() > 0) { hash = (37 * hash) + ROUTE_FIELD_NUMBER; hash = (53 * hash) + getRouteList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Describes match conditions and actions for routing TCP traffic. The
     * following routing rule forwards traffic arriving at port 27017 for
     * mongo.prod.svc.cluster.local to another Mongo server on port 5555.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: bookinfo-mongo
     * spec:
     *   hosts:
     *   - mongo.prod.svc.cluster.local
     *   tcp:
     *   - match:
     *     - port: 27017
     *     route:
     *     - destination:
     *         host: mongo.backup.svc.cluster.local
     *         port:
     *           number: 5555
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: bookinfo-mongo
     * spec:
     *   hosts:
     *   - mongo.prod.svc.cluster.local
     *   tcp:
     *   - match:
     *     - port: 27017
     *     route:
     *     - destination:
     *         host: mongo.backup.svc.cluster.local
     *         port:
     *           number: 5555
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * 
* * Protobuf type {@code istio.networking.v1alpha3.TCPRoute} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.TCPRoute) istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRouteOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TCPRoute_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TCPRoute_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.class, istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getMatchFieldBuilder(); getRouteFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); if (matchBuilder_ == null) { match_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { matchBuilder_.clear(); } if (routeBuilder_ == null) { route_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { routeBuilder_.clear(); } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TCPRoute_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute build() { istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute result = new istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute(this); int from_bitField0_ = bitField0_; if (matchBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { match_ = java.util.Collections.unmodifiableList(match_); bitField0_ = (bitField0_ & ~0x00000001); } result.match_ = match_; } else { result.match_ = matchBuilder_.build(); } if (routeBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { route_ = java.util.Collections.unmodifiableList(route_); bitField0_ = (bitField0_ & ~0x00000002); } result.route_ = route_; } else { result.route_ = routeBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute.getDefaultInstance()) return this; if (matchBuilder_ == null) { if (!other.match_.isEmpty()) { if (match_.isEmpty()) { match_ = other.match_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureMatchIsMutable(); match_.addAll(other.match_); } onChanged(); } } else { if (!other.match_.isEmpty()) { if (matchBuilder_.isEmpty()) { matchBuilder_.dispose(); matchBuilder_ = null; match_ = other.match_; bitField0_ = (bitField0_ & ~0x00000001); matchBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getMatchFieldBuilder() : null; } else { matchBuilder_.addAllMessages(other.match_); } } } if (routeBuilder_ == null) { if (!other.route_.isEmpty()) { if (route_.isEmpty()) { route_ = other.route_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureRouteIsMutable(); route_.addAll(other.route_); } onChanged(); } } else { if (!other.route_.isEmpty()) { if (routeBuilder_.isEmpty()) { routeBuilder_.dispose(); routeBuilder_ = null; route_ = other.route_; bitField0_ = (bitField0_ & ~0x00000002); routeBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRouteFieldBuilder() : null; } else { routeBuilder_.addAllMessages(other.route_); } } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.util.List match_ = java.util.Collections.emptyList(); private void ensureMatchIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { match_ = new java.util.ArrayList(match_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributesOrBuilder> matchBuilder_; /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public java.util.List getMatchList() { if (matchBuilder_ == null) { return java.util.Collections.unmodifiableList(match_); } else { return matchBuilder_.getMessageList(); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public int getMatchCount() { if (matchBuilder_ == null) { return match_.size(); } else { return matchBuilder_.getCount(); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes getMatch(int index) { if (matchBuilder_ == null) { return match_.get(index); } else { return matchBuilder_.getMessage(index); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public Builder setMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureMatchIsMutable(); match_.set(index, value); onChanged(); } else { matchBuilder_.setMessage(index, value); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public Builder setMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder builderForValue) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.set(index, builderForValue.build()); onChanged(); } else { matchBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public Builder addMatch(istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureMatchIsMutable(); match_.add(value); onChanged(); } else { matchBuilder_.addMessage(value); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public Builder addMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureMatchIsMutable(); match_.add(index, value); onChanged(); } else { matchBuilder_.addMessage(index, value); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public Builder addMatch( istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder builderForValue) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.add(builderForValue.build()); onChanged(); } else { matchBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public Builder addMatch( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder builderForValue) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.add(index, builderForValue.build()); onChanged(); } else { matchBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public Builder addAllMatch( java.lang.Iterable values) { if (matchBuilder_ == null) { ensureMatchIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, match_); onChanged(); } else { matchBuilder_.addAllMessages(values); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public Builder clearMatch() { if (matchBuilder_ == null) { match_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { matchBuilder_.clear(); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public Builder removeMatch(int index) { if (matchBuilder_ == null) { ensureMatchIsMutable(); match_.remove(index); onChanged(); } else { matchBuilder_.remove(index); } return this; } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder getMatchBuilder( int index) { return getMatchFieldBuilder().getBuilder(index); } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributesOrBuilder getMatchOrBuilder( int index) { if (matchBuilder_ == null) { return match_.get(index); } else { return matchBuilder_.getMessageOrBuilder(index); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public java.util.List getMatchOrBuilderList() { if (matchBuilder_ != null) { return matchBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(match_); } } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder addMatchBuilder() { return getMatchFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.getDefaultInstance()); } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder addMatchBuilder( int index) { return getMatchFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.getDefaultInstance()); } /** *
       * Match conditions to be satisfied for the rule to be
       * activated. All conditions inside a single match block have AND
       * semantics, while the list of match blocks have OR semantics. The rule
       * is matched if any one of the match blocks succeed.
       * 
* * repeated .istio.networking.v1alpha3.L4MatchAttributes match = 1; */ public java.util.List getMatchBuilderList() { return getMatchFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributesOrBuilder> getMatchFieldBuilder() { if (matchBuilder_ == null) { matchBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributesOrBuilder>( match_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); match_ = null; } return matchBuilder_; } private java.util.List route_ = java.util.Collections.emptyList(); private void ensureRouteIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { route_ = new java.util.ArrayList(route_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder> routeBuilder_; /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public java.util.List getRouteList() { if (routeBuilder_ == null) { return java.util.Collections.unmodifiableList(route_); } else { return routeBuilder_.getMessageList(); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public int getRouteCount() { if (routeBuilder_ == null) { return route_.size(); } else { return routeBuilder_.getCount(); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination getRoute(int index) { if (routeBuilder_ == null) { return route_.get(index); } else { return routeBuilder_.getMessage(index); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder setRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRouteIsMutable(); route_.set(index, value); onChanged(); } else { routeBuilder_.setMessage(index, value); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder setRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder builderForValue) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.set(index, builderForValue.build()); onChanged(); } else { routeBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addRoute(istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRouteIsMutable(); route_.add(value); onChanged(); } else { routeBuilder_.addMessage(value); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRouteIsMutable(); route_.add(index, value); onChanged(); } else { routeBuilder_.addMessage(index, value); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addRoute( istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder builderForValue) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.add(builderForValue.build()); onChanged(); } else { routeBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addRoute( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder builderForValue) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.add(index, builderForValue.build()); onChanged(); } else { routeBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder addAllRoute( java.lang.Iterable values) { if (routeBuilder_ == null) { ensureRouteIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, route_); onChanged(); } else { routeBuilder_.addAllMessages(values); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder clearRoute() { if (routeBuilder_ == null) { route_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { routeBuilder_.clear(); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public Builder removeRoute(int index) { if (routeBuilder_ == null) { ensureRouteIsMutable(); route_.remove(index); onChanged(); } else { routeBuilder_.remove(index); } return this; } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder getRouteBuilder( int index) { return getRouteFieldBuilder().getBuilder(index); } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder getRouteOrBuilder( int index) { if (routeBuilder_ == null) { return route_.get(index); } else { return routeBuilder_.getMessageOrBuilder(index); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public java.util.List getRouteOrBuilderList() { if (routeBuilder_ != null) { return routeBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(route_); } } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder addRouteBuilder() { return getRouteFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.getDefaultInstance()); } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder addRouteBuilder( int index) { return getRouteFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.getDefaultInstance()); } /** *
       * The destination to which the connection should be forwarded to.
       * 
* * repeated .istio.networking.v1alpha3.RouteDestination route = 2; */ public java.util.List getRouteBuilderList() { return getRouteFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder> getRouteFieldBuilder() { if (routeBuilder_ == null) { routeBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder>( route_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); route_ = null; } return routeBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.TCPRoute) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.TCPRoute) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public TCPRoute parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new TCPRoute(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TCPRoute getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface HTTPMatchRequestOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.HTTPMatchRequest) com.google.protobuf.MessageOrBuilder { /** *
     * The name assigned to a match. The match's name will be
     * concatenated with the parent route's name and will be logged in
     * the access logs for requests matching this route.
     * 
* * string name = 11; * @return The name. */ java.lang.String getName(); /** *
     * The name assigned to a match. The match's name will be
     * concatenated with the parent route's name and will be logged in
     * the access logs for requests matching this route.
     * 
* * string name = 11; * @return The bytes for name. */ com.google.protobuf.ByteString getNameBytes(); /** *
     * URI to match
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * **Note:** Case-insensitive matching could be enabled via the
     * `ignore_uri_case` flag.
     * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; * @return Whether the uri field is set. */ boolean hasUri(); /** *
     * URI to match
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * **Note:** Case-insensitive matching could be enabled via the
     * `ignore_uri_case` flag.
     * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; * @return The uri. */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getUri(); /** *
     * URI to match
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * **Note:** Case-insensitive matching could be enabled via the
     * `ignore_uri_case` flag.
     * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getUriOrBuilder(); /** *
     * URI Scheme
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; * @return Whether the scheme field is set. */ boolean hasScheme(); /** *
     * URI Scheme
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; * @return The scheme. */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getScheme(); /** *
     * URI Scheme
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getSchemeOrBuilder(); /** *
     * HTTP Method
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch method = 3; * @return Whether the method field is set. */ boolean hasMethod(); /** *
     * HTTP Method
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch method = 3; * @return The method. */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getMethod(); /** *
     * HTTP Method
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch method = 3; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getMethodOrBuilder(); /** *
     * HTTP Authority
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; * @return Whether the authority field is set. */ boolean hasAuthority(); /** *
     * HTTP Authority
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; * @return The authority. */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getAuthority(); /** *
     * HTTP Authority
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getAuthorityOrBuilder(); /** *
     * The header keys must be lowercase and use hyphen as the separator,
     * e.g. _x-request-id_.
     * Header values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * If the value is empty and only the name of header is specfied, presence of the header is checked.
     * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ int getHeadersCount(); /** *
     * The header keys must be lowercase and use hyphen as the separator,
     * e.g. _x-request-id_.
     * Header values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * If the value is empty and only the name of header is specfied, presence of the header is checked.
     * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ boolean containsHeaders( java.lang.String key); /** * Use {@link #getHeadersMap()} instead. */ @java.lang.Deprecated java.util.Map getHeaders(); /** *
     * The header keys must be lowercase and use hyphen as the separator,
     * e.g. _x-request-id_.
     * Header values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * If the value is empty and only the name of header is specfied, presence of the header is checked.
     * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ java.util.Map getHeadersMap(); /** *
     * The header keys must be lowercase and use hyphen as the separator,
     * e.g. _x-request-id_.
     * Header values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * If the value is empty and only the name of header is specfied, presence of the header is checked.
     * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getHeadersOrDefault( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch defaultValue); /** *
     * The header keys must be lowercase and use hyphen as the separator,
     * e.g. _x-request-id_.
     * Header values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * If the value is empty and only the name of header is specfied, presence of the header is checked.
     * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getHeadersOrThrow( java.lang.String key); /** *
     * Specifies the ports on the host that is being addressed. Many services
     * only expose a single port or label ports with the protocols they support,
     * in these cases it is not required to explicitly select the port.
     * 
* * uint32 port = 6; * @return The port. */ int getPort(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it must include the reserved gateway
     * `mesh` for this field to be applicable.
     * 
* * map<string, string> source_labels = 7; */ int getSourceLabelsCount(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it must include the reserved gateway
     * `mesh` for this field to be applicable.
     * 
* * map<string, string> source_labels = 7; */ boolean containsSourceLabels( java.lang.String key); /** * Use {@link #getSourceLabelsMap()} instead. */ @java.lang.Deprecated java.util.Map getSourceLabels(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it must include the reserved gateway
     * `mesh` for this field to be applicable.
     * 
* * map<string, string> source_labels = 7; */ java.util.Map getSourceLabelsMap(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it must include the reserved gateway
     * `mesh` for this field to be applicable.
     * 
* * map<string, string> source_labels = 7; */ java.lang.String getSourceLabelsOrDefault( java.lang.String key, java.lang.String defaultValue); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it must include the reserved gateway
     * `mesh` for this field to be applicable.
     * 
* * map<string, string> source_labels = 7; */ java.lang.String getSourceLabelsOrThrow( java.lang.String key); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 8; * @return A list containing the gateways. */ java.util.List getGatewaysList(); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 8; * @return The count of gateways. */ int getGatewaysCount(); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 8; * @param index The index of the element to return. * @return The gateways at the given index. */ java.lang.String getGateways(int index); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 8; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ com.google.protobuf.ByteString getGatewaysBytes(int index); /** *
     * Query parameters for matching.
     * Ex:
     * - For a query parameter like "?key=true", the map key would be "key" and
     *   the string match could be defined as `exact: "true"`.
     * - For a query parameter like "?key", the map key would be "key" and the
     *   string match could be defined as `exact: ""`.
     * - For a query parameter like "?key=123", the map key would be "key" and the
     *   string match could be defined as `regex: "\d+$"`. Note that this
     *   configuration will only match values like "123" but not "a123" or "123a".
     * **Note:** `prefix` matching is currently not supported.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ int getQueryParamsCount(); /** *
     * Query parameters for matching.
     * Ex:
     * - For a query parameter like "?key=true", the map key would be "key" and
     *   the string match could be defined as `exact: "true"`.
     * - For a query parameter like "?key", the map key would be "key" and the
     *   string match could be defined as `exact: ""`.
     * - For a query parameter like "?key=123", the map key would be "key" and the
     *   string match could be defined as `regex: "\d+$"`. Note that this
     *   configuration will only match values like "123" but not "a123" or "123a".
     * **Note:** `prefix` matching is currently not supported.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ boolean containsQueryParams( java.lang.String key); /** * Use {@link #getQueryParamsMap()} instead. */ @java.lang.Deprecated java.util.Map getQueryParams(); /** *
     * Query parameters for matching.
     * Ex:
     * - For a query parameter like "?key=true", the map key would be "key" and
     *   the string match could be defined as `exact: "true"`.
     * - For a query parameter like "?key", the map key would be "key" and the
     *   string match could be defined as `exact: ""`.
     * - For a query parameter like "?key=123", the map key would be "key" and the
     *   string match could be defined as `regex: "\d+$"`. Note that this
     *   configuration will only match values like "123" but not "a123" or "123a".
     * **Note:** `prefix` matching is currently not supported.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ java.util.Map getQueryParamsMap(); /** *
     * Query parameters for matching.
     * Ex:
     * - For a query parameter like "?key=true", the map key would be "key" and
     *   the string match could be defined as `exact: "true"`.
     * - For a query parameter like "?key", the map key would be "key" and the
     *   string match could be defined as `exact: ""`.
     * - For a query parameter like "?key=123", the map key would be "key" and the
     *   string match could be defined as `regex: "\d+$"`. Note that this
     *   configuration will only match values like "123" but not "a123" or "123a".
     * **Note:** `prefix` matching is currently not supported.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getQueryParamsOrDefault( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch defaultValue); /** *
     * Query parameters for matching.
     * Ex:
     * - For a query parameter like "?key=true", the map key would be "key" and
     *   the string match could be defined as `exact: "true"`.
     * - For a query parameter like "?key", the map key would be "key" and the
     *   string match could be defined as `exact: ""`.
     * - For a query parameter like "?key=123", the map key would be "key" and the
     *   string match could be defined as `regex: "\d+$"`. Note that this
     *   configuration will only match values like "123" but not "a123" or "123a".
     * **Note:** `prefix` matching is currently not supported.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getQueryParamsOrThrow( java.lang.String key); /** *
     * Flag to specify whether the URI matching should be case-insensitive.
     * **Note:** The case will be ignored only in the case of `exact` and `prefix`
     * URI matches.
     * 
* * bool ignore_uri_case = 10; * @return The ignoreUriCase. */ boolean getIgnoreUriCase(); /** *
     * withoutHeader has the same syntax with the header, but has opposite meaning.
     * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ int getWithoutHeadersCount(); /** *
     * withoutHeader has the same syntax with the header, but has opposite meaning.
     * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ boolean containsWithoutHeaders( java.lang.String key); /** * Use {@link #getWithoutHeadersMap()} instead. */ @java.lang.Deprecated java.util.Map getWithoutHeaders(); /** *
     * withoutHeader has the same syntax with the header, but has opposite meaning.
     * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ java.util.Map getWithoutHeadersMap(); /** *
     * withoutHeader has the same syntax with the header, but has opposite meaning.
     * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getWithoutHeadersOrDefault( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch defaultValue); /** *
     * withoutHeader has the same syntax with the header, but has opposite meaning.
     * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getWithoutHeadersOrThrow( java.lang.String key); /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 13; * @return The sourceNamespace. */ java.lang.String getSourceNamespace(); /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 13; * @return The bytes for sourceNamespace. */ com.google.protobuf.ByteString getSourceNamespaceBytes(); } /** *
   * HttpMatchRequest specifies a set of criterion to be met in order for the
   * rule to be applied to the HTTP request. For example, the following
   * restricts the rule to match only requests where the URL path
   * starts with /ratings/v2/ and the request contains a custom `end-user` header
   * with value `jason`.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - match:
   *     - headers:
   *         end-user:
   *           exact: jason
   *       uri:
   *         prefix: "/ratings/v2/"
   *       ignoreUriCase: true
   *     route:
   *     - destination:
   *         host: ratings.prod.svc.cluster.local
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - match:
   *     - headers:
   *         end-user:
   *           exact: jason
   *       uri:
   *         prefix: "/ratings/v2/"
   *       ignoreUriCase: true
   *     route:
   *     - destination:
   *         host: ratings.prod.svc.cluster.local
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * HTTPMatchRequest CANNOT be empty.
   * **Note:** No regex string match can be set when delegate VirtualService is specified.
   * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPMatchRequest} */ public static final class HTTPMatchRequest extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.HTTPMatchRequest) HTTPMatchRequestOrBuilder { private static final long serialVersionUID = 0L; // Use HTTPMatchRequest.newBuilder() to construct. private HTTPMatchRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private HTTPMatchRequest() { name_ = ""; gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; sourceNamespace_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HTTPMatchRequest(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private HTTPMatchRequest( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder subBuilder = null; if (uri_ != null) { subBuilder = uri_.toBuilder(); } uri_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(uri_); uri_ = subBuilder.buildPartial(); } break; } case 18: { istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder subBuilder = null; if (scheme_ != null) { subBuilder = scheme_.toBuilder(); } scheme_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(scheme_); scheme_ = subBuilder.buildPartial(); } break; } case 26: { istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder subBuilder = null; if (method_ != null) { subBuilder = method_.toBuilder(); } method_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(method_); method_ = subBuilder.buildPartial(); } break; } case 34: { istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder subBuilder = null; if (authority_ != null) { subBuilder = authority_.toBuilder(); } authority_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(authority_); authority_ = subBuilder.buildPartial(); } break; } case 42: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { headers_ = com.google.protobuf.MapField.newMapField( HeadersDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000001; } com.google.protobuf.MapEntry headers__ = input.readMessage( HeadersDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); headers_.getMutableMap().put( headers__.getKey(), headers__.getValue()); break; } case 48: { port_ = input.readUInt32(); break; } case 58: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { sourceLabels_ = com.google.protobuf.MapField.newMapField( SourceLabelsDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000002; } com.google.protobuf.MapEntry sourceLabels__ = input.readMessage( SourceLabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); sourceLabels_.getMutableMap().put( sourceLabels__.getKey(), sourceLabels__.getValue()); break; } case 66: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000004) != 0)) { gateways_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000004; } gateways_.add(s); break; } case 74: { if (!((mutable_bitField0_ & 0x00000008) != 0)) { queryParams_ = com.google.protobuf.MapField.newMapField( QueryParamsDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000008; } com.google.protobuf.MapEntry queryParams__ = input.readMessage( QueryParamsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); queryParams_.getMutableMap().put( queryParams__.getKey(), queryParams__.getValue()); break; } case 80: { ignoreUriCase_ = input.readBool(); break; } case 90: { java.lang.String s = input.readStringRequireUtf8(); name_ = s; break; } case 98: { if (!((mutable_bitField0_ & 0x00000010) != 0)) { withoutHeaders_ = com.google.protobuf.MapField.newMapField( WithoutHeadersDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000010; } com.google.protobuf.MapEntry withoutHeaders__ = input.readMessage( WithoutHeadersDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); withoutHeaders_.getMutableMap().put( withoutHeaders__.getKey(), withoutHeaders__.getValue()); break; } case 106: { java.lang.String s = input.readStringRequireUtf8(); sourceNamespace_ = s; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000004) != 0)) { gateways_ = gateways_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor; } @SuppressWarnings({"rawtypes"}) @java.lang.Override protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 5: return internalGetHeaders(); case 7: return internalGetSourceLabels(); case 9: return internalGetQueryParams(); case 12: return internalGetWithoutHeaders(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPMatchRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder.class); } public static final int NAME_FIELD_NUMBER = 11; private volatile java.lang.Object name_; /** *
     * The name assigned to a match. The match's name will be
     * concatenated with the parent route's name and will be logged in
     * the access logs for requests matching this route.
     * 
* * string name = 11; * @return The name. */ @java.lang.Override public java.lang.String getName() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } } /** *
     * The name assigned to a match. The match's name will be
     * concatenated with the parent route's name and will be logged in
     * the access logs for requests matching this route.
     * 
* * string name = 11; * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int URI_FIELD_NUMBER = 1; private istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch uri_; /** *
     * URI to match
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * **Note:** Case-insensitive matching could be enabled via the
     * `ignore_uri_case` flag.
     * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; * @return Whether the uri field is set. */ @java.lang.Override public boolean hasUri() { return uri_ != null; } /** *
     * URI to match
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * **Note:** Case-insensitive matching could be enabled via the
     * `ignore_uri_case` flag.
     * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; * @return The uri. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getUri() { return uri_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : uri_; } /** *
     * URI to match
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * **Note:** Case-insensitive matching could be enabled via the
     * `ignore_uri_case` flag.
     * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getUriOrBuilder() { return getUri(); } public static final int SCHEME_FIELD_NUMBER = 2; private istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch scheme_; /** *
     * URI Scheme
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; * @return Whether the scheme field is set. */ @java.lang.Override public boolean hasScheme() { return scheme_ != null; } /** *
     * URI Scheme
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; * @return The scheme. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getScheme() { return scheme_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : scheme_; } /** *
     * URI Scheme
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getSchemeOrBuilder() { return getScheme(); } public static final int METHOD_FIELD_NUMBER = 3; private istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch method_; /** *
     * HTTP Method
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch method = 3; * @return Whether the method field is set. */ @java.lang.Override public boolean hasMethod() { return method_ != null; } /** *
     * HTTP Method
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch method = 3; * @return The method. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getMethod() { return method_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : method_; } /** *
     * HTTP Method
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch method = 3; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getMethodOrBuilder() { return getMethod(); } public static final int AUTHORITY_FIELD_NUMBER = 4; private istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch authority_; /** *
     * HTTP Authority
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; * @return Whether the authority field is set. */ @java.lang.Override public boolean hasAuthority() { return authority_ != null; } /** *
     * HTTP Authority
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; * @return The authority. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getAuthority() { return authority_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : authority_; } /** *
     * HTTP Authority
     * values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getAuthorityOrBuilder() { return getAuthority(); } public static final int HEADERS_FIELD_NUMBER = 5; private static final class HeadersDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPMatchRequest_HeadersEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.MESSAGE, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance()); } private com.google.protobuf.MapField< java.lang.String, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch> headers_; private com.google.protobuf.MapField internalGetHeaders() { if (headers_ == null) { return com.google.protobuf.MapField.emptyMapField( HeadersDefaultEntryHolder.defaultEntry); } return headers_; } public int getHeadersCount() { return internalGetHeaders().getMap().size(); } /** *
     * The header keys must be lowercase and use hyphen as the separator,
     * e.g. _x-request-id_.
     * Header values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * If the value is empty and only the name of header is specfied, presence of the header is checked.
     * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ @java.lang.Override public boolean containsHeaders( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetHeaders().getMap().containsKey(key); } /** * Use {@link #getHeadersMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getHeaders() { return getHeadersMap(); } /** *
     * The header keys must be lowercase and use hyphen as the separator,
     * e.g. _x-request-id_.
     * Header values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * If the value is empty and only the name of header is specfied, presence of the header is checked.
     * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ @java.lang.Override public java.util.Map getHeadersMap() { return internalGetHeaders().getMap(); } /** *
     * The header keys must be lowercase and use hyphen as the separator,
     * e.g. _x-request-id_.
     * Header values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * If the value is empty and only the name of header is specfied, presence of the header is checked.
     * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getHeadersOrDefault( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetHeaders().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
     * The header keys must be lowercase and use hyphen as the separator,
     * e.g. _x-request-id_.
     * Header values are case-sensitive and formatted as follows:
     * - `exact: "value"` for exact string match
     * - `prefix: "value"` for prefix-based match
     * - `regex: "value"` for ECMAscript style regex-based match
     * If the value is empty and only the name of header is specfied, presence of the header is checked.
     * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getHeadersOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetHeaders().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int PORT_FIELD_NUMBER = 6; private int port_; /** *
     * Specifies the ports on the host that is being addressed. Many services
     * only expose a single port or label ports with the protocols they support,
     * in these cases it is not required to explicitly select the port.
     * 
* * uint32 port = 6; * @return The port. */ @java.lang.Override public int getPort() { return port_; } public static final int SOURCE_LABELS_FIELD_NUMBER = 7; private static final class SourceLabelsDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPMatchRequest_SourceLabelsEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, ""); } private com.google.protobuf.MapField< java.lang.String, java.lang.String> sourceLabels_; private com.google.protobuf.MapField internalGetSourceLabels() { if (sourceLabels_ == null) { return com.google.protobuf.MapField.emptyMapField( SourceLabelsDefaultEntryHolder.defaultEntry); } return sourceLabels_; } public int getSourceLabelsCount() { return internalGetSourceLabels().getMap().size(); } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it must include the reserved gateway
     * `mesh` for this field to be applicable.
     * 
* * map<string, string> source_labels = 7; */ @java.lang.Override public boolean containsSourceLabels( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetSourceLabels().getMap().containsKey(key); } /** * Use {@link #getSourceLabelsMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getSourceLabels() { return getSourceLabelsMap(); } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it must include the reserved gateway
     * `mesh` for this field to be applicable.
     * 
* * map<string, string> source_labels = 7; */ @java.lang.Override public java.util.Map getSourceLabelsMap() { return internalGetSourceLabels().getMap(); } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it must include the reserved gateway
     * `mesh` for this field to be applicable.
     * 
* * map<string, string> source_labels = 7; */ @java.lang.Override public java.lang.String getSourceLabelsOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it must include the reserved gateway
     * `mesh` for this field to be applicable.
     * 
* * map<string, string> source_labels = 7; */ @java.lang.Override public java.lang.String getSourceLabelsOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int GATEWAYS_FIELD_NUMBER = 8; private com.google.protobuf.LazyStringList gateways_; /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 8; * @return A list containing the gateways. */ public com.google.protobuf.ProtocolStringList getGatewaysList() { return gateways_; } /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 8; * @return The count of gateways. */ public int getGatewaysCount() { return gateways_.size(); } /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 8; * @param index The index of the element to return. * @return The gateways at the given index. */ public java.lang.String getGateways(int index) { return gateways_.get(index); } /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 8; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ public com.google.protobuf.ByteString getGatewaysBytes(int index) { return gateways_.getByteString(index); } public static final int QUERY_PARAMS_FIELD_NUMBER = 9; private static final class QueryParamsDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPMatchRequest_QueryParamsEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.MESSAGE, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance()); } private com.google.protobuf.MapField< java.lang.String, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch> queryParams_; private com.google.protobuf.MapField internalGetQueryParams() { if (queryParams_ == null) { return com.google.protobuf.MapField.emptyMapField( QueryParamsDefaultEntryHolder.defaultEntry); } return queryParams_; } public int getQueryParamsCount() { return internalGetQueryParams().getMap().size(); } /** *
     * Query parameters for matching.
     * Ex:
     * - For a query parameter like "?key=true", the map key would be "key" and
     *   the string match could be defined as `exact: "true"`.
     * - For a query parameter like "?key", the map key would be "key" and the
     *   string match could be defined as `exact: ""`.
     * - For a query parameter like "?key=123", the map key would be "key" and the
     *   string match could be defined as `regex: "\d+$"`. Note that this
     *   configuration will only match values like "123" but not "a123" or "123a".
     * **Note:** `prefix` matching is currently not supported.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ @java.lang.Override public boolean containsQueryParams( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetQueryParams().getMap().containsKey(key); } /** * Use {@link #getQueryParamsMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getQueryParams() { return getQueryParamsMap(); } /** *
     * Query parameters for matching.
     * Ex:
     * - For a query parameter like "?key=true", the map key would be "key" and
     *   the string match could be defined as `exact: "true"`.
     * - For a query parameter like "?key", the map key would be "key" and the
     *   string match could be defined as `exact: ""`.
     * - For a query parameter like "?key=123", the map key would be "key" and the
     *   string match could be defined as `regex: "\d+$"`. Note that this
     *   configuration will only match values like "123" but not "a123" or "123a".
     * **Note:** `prefix` matching is currently not supported.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ @java.lang.Override public java.util.Map getQueryParamsMap() { return internalGetQueryParams().getMap(); } /** *
     * Query parameters for matching.
     * Ex:
     * - For a query parameter like "?key=true", the map key would be "key" and
     *   the string match could be defined as `exact: "true"`.
     * - For a query parameter like "?key", the map key would be "key" and the
     *   string match could be defined as `exact: ""`.
     * - For a query parameter like "?key=123", the map key would be "key" and the
     *   string match could be defined as `regex: "\d+$"`. Note that this
     *   configuration will only match values like "123" but not "a123" or "123a".
     * **Note:** `prefix` matching is currently not supported.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getQueryParamsOrDefault( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetQueryParams().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
     * Query parameters for matching.
     * Ex:
     * - For a query parameter like "?key=true", the map key would be "key" and
     *   the string match could be defined as `exact: "true"`.
     * - For a query parameter like "?key", the map key would be "key" and the
     *   string match could be defined as `exact: ""`.
     * - For a query parameter like "?key=123", the map key would be "key" and the
     *   string match could be defined as `regex: "\d+$"`. Note that this
     *   configuration will only match values like "123" but not "a123" or "123a".
     * **Note:** `prefix` matching is currently not supported.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getQueryParamsOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetQueryParams().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int IGNORE_URI_CASE_FIELD_NUMBER = 10; private boolean ignoreUriCase_; /** *
     * Flag to specify whether the URI matching should be case-insensitive.
     * **Note:** The case will be ignored only in the case of `exact` and `prefix`
     * URI matches.
     * 
* * bool ignore_uri_case = 10; * @return The ignoreUriCase. */ @java.lang.Override public boolean getIgnoreUriCase() { return ignoreUriCase_; } public static final int WITHOUT_HEADERS_FIELD_NUMBER = 12; private static final class WithoutHeadersDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPMatchRequest_WithoutHeadersEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.MESSAGE, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance()); } private com.google.protobuf.MapField< java.lang.String, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch> withoutHeaders_; private com.google.protobuf.MapField internalGetWithoutHeaders() { if (withoutHeaders_ == null) { return com.google.protobuf.MapField.emptyMapField( WithoutHeadersDefaultEntryHolder.defaultEntry); } return withoutHeaders_; } public int getWithoutHeadersCount() { return internalGetWithoutHeaders().getMap().size(); } /** *
     * withoutHeader has the same syntax with the header, but has opposite meaning.
     * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ @java.lang.Override public boolean containsWithoutHeaders( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetWithoutHeaders().getMap().containsKey(key); } /** * Use {@link #getWithoutHeadersMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getWithoutHeaders() { return getWithoutHeadersMap(); } /** *
     * withoutHeader has the same syntax with the header, but has opposite meaning.
     * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ @java.lang.Override public java.util.Map getWithoutHeadersMap() { return internalGetWithoutHeaders().getMap(); } /** *
     * withoutHeader has the same syntax with the header, but has opposite meaning.
     * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getWithoutHeadersOrDefault( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetWithoutHeaders().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
     * withoutHeader has the same syntax with the header, but has opposite meaning.
     * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
     * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getWithoutHeadersOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetWithoutHeaders().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int SOURCE_NAMESPACE_FIELD_NUMBER = 13; private volatile java.lang.Object sourceNamespace_; /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 13; * @return The sourceNamespace. */ @java.lang.Override public java.lang.String getSourceNamespace() { java.lang.Object ref = sourceNamespace_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sourceNamespace_ = s; return s; } } /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 13; * @return The bytes for sourceNamespace. */ @java.lang.Override public com.google.protobuf.ByteString getSourceNamespaceBytes() { java.lang.Object ref = sourceNamespace_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); sourceNamespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (uri_ != null) { output.writeMessage(1, getUri()); } if (scheme_ != null) { output.writeMessage(2, getScheme()); } if (method_ != null) { output.writeMessage(3, getMethod()); } if (authority_ != null) { output.writeMessage(4, getAuthority()); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetHeaders(), HeadersDefaultEntryHolder.defaultEntry, 5); if (port_ != 0) { output.writeUInt32(6, port_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetSourceLabels(), SourceLabelsDefaultEntryHolder.defaultEntry, 7); for (int i = 0; i < gateways_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 8, gateways_.getRaw(i)); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetQueryParams(), QueryParamsDefaultEntryHolder.defaultEntry, 9); if (ignoreUriCase_ != false) { output.writeBool(10, ignoreUriCase_); } if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 11, name_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetWithoutHeaders(), WithoutHeadersDefaultEntryHolder.defaultEntry, 12); if (!getSourceNamespaceBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 13, sourceNamespace_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (uri_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getUri()); } if (scheme_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getScheme()); } if (method_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getMethod()); } if (authority_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getAuthority()); } for (java.util.Map.Entry entry : internalGetHeaders().getMap().entrySet()) { com.google.protobuf.MapEntry headers__ = HeadersDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, headers__); } if (port_ != 0) { size += com.google.protobuf.CodedOutputStream .computeUInt32Size(6, port_); } for (java.util.Map.Entry entry : internalGetSourceLabels().getMap().entrySet()) { com.google.protobuf.MapEntry sourceLabels__ = SourceLabelsDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, sourceLabels__); } { int dataSize = 0; for (int i = 0; i < gateways_.size(); i++) { dataSize += computeStringSizeNoTag(gateways_.getRaw(i)); } size += dataSize; size += 1 * getGatewaysList().size(); } for (java.util.Map.Entry entry : internalGetQueryParams().getMap().entrySet()) { com.google.protobuf.MapEntry queryParams__ = QueryParamsDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(9, queryParams__); } if (ignoreUriCase_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(10, ignoreUriCase_); } if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, name_); } for (java.util.Map.Entry entry : internalGetWithoutHeaders().getMap().entrySet()) { com.google.protobuf.MapEntry withoutHeaders__ = WithoutHeadersDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(12, withoutHeaders__); } if (!getSourceNamespaceBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, sourceNamespace_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest other = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest) obj; if (!getName() .equals(other.getName())) return false; if (hasUri() != other.hasUri()) return false; if (hasUri()) { if (!getUri() .equals(other.getUri())) return false; } if (hasScheme() != other.hasScheme()) return false; if (hasScheme()) { if (!getScheme() .equals(other.getScheme())) return false; } if (hasMethod() != other.hasMethod()) return false; if (hasMethod()) { if (!getMethod() .equals(other.getMethod())) return false; } if (hasAuthority() != other.hasAuthority()) return false; if (hasAuthority()) { if (!getAuthority() .equals(other.getAuthority())) return false; } if (!internalGetHeaders().equals( other.internalGetHeaders())) return false; if (getPort() != other.getPort()) return false; if (!internalGetSourceLabels().equals( other.internalGetSourceLabels())) return false; if (!getGatewaysList() .equals(other.getGatewaysList())) return false; if (!internalGetQueryParams().equals( other.internalGetQueryParams())) return false; if (getIgnoreUriCase() != other.getIgnoreUriCase()) return false; if (!internalGetWithoutHeaders().equals( other.internalGetWithoutHeaders())) return false; if (!getSourceNamespace() .equals(other.getSourceNamespace())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); if (hasUri()) { hash = (37 * hash) + URI_FIELD_NUMBER; hash = (53 * hash) + getUri().hashCode(); } if (hasScheme()) { hash = (37 * hash) + SCHEME_FIELD_NUMBER; hash = (53 * hash) + getScheme().hashCode(); } if (hasMethod()) { hash = (37 * hash) + METHOD_FIELD_NUMBER; hash = (53 * hash) + getMethod().hashCode(); } if (hasAuthority()) { hash = (37 * hash) + AUTHORITY_FIELD_NUMBER; hash = (53 * hash) + getAuthority().hashCode(); } if (!internalGetHeaders().getMap().isEmpty()) { hash = (37 * hash) + HEADERS_FIELD_NUMBER; hash = (53 * hash) + internalGetHeaders().hashCode(); } hash = (37 * hash) + PORT_FIELD_NUMBER; hash = (53 * hash) + getPort(); if (!internalGetSourceLabels().getMap().isEmpty()) { hash = (37 * hash) + SOURCE_LABELS_FIELD_NUMBER; hash = (53 * hash) + internalGetSourceLabels().hashCode(); } if (getGatewaysCount() > 0) { hash = (37 * hash) + GATEWAYS_FIELD_NUMBER; hash = (53 * hash) + getGatewaysList().hashCode(); } if (!internalGetQueryParams().getMap().isEmpty()) { hash = (37 * hash) + QUERY_PARAMS_FIELD_NUMBER; hash = (53 * hash) + internalGetQueryParams().hashCode(); } hash = (37 * hash) + IGNORE_URI_CASE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getIgnoreUriCase()); if (!internalGetWithoutHeaders().getMap().isEmpty()) { hash = (37 * hash) + WITHOUT_HEADERS_FIELD_NUMBER; hash = (53 * hash) + internalGetWithoutHeaders().hashCode(); } hash = (37 * hash) + SOURCE_NAMESPACE_FIELD_NUMBER; hash = (53 * hash) + getSourceNamespace().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * HttpMatchRequest specifies a set of criterion to be met in order for the
     * rule to be applied to the HTTP request. For example, the following
     * restricts the rule to match only requests where the URL path
     * starts with /ratings/v2/ and the request contains a custom `end-user` header
     * with value `jason`.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - match:
     *     - headers:
     *         end-user:
     *           exact: jason
     *       uri:
     *         prefix: "/ratings/v2/"
     *       ignoreUriCase: true
     *     route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - match:
     *     - headers:
     *         end-user:
     *           exact: jason
     *       uri:
     *         prefix: "/ratings/v2/"
     *       ignoreUriCase: true
     *     route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * HTTPMatchRequest CANNOT be empty.
     * **Note:** No regex string match can be set when delegate VirtualService is specified.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPMatchRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.HTTPMatchRequest) istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 5: return internalGetHeaders(); case 7: return internalGetSourceLabels(); case 9: return internalGetQueryParams(); case 12: return internalGetWithoutHeaders(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { case 5: return internalGetMutableHeaders(); case 7: return internalGetMutableSourceLabels(); case 9: return internalGetMutableQueryParams(); case 12: return internalGetMutableWithoutHeaders(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPMatchRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); name_ = ""; if (uriBuilder_ == null) { uri_ = null; } else { uri_ = null; uriBuilder_ = null; } if (schemeBuilder_ == null) { scheme_ = null; } else { scheme_ = null; schemeBuilder_ = null; } if (methodBuilder_ == null) { method_ = null; } else { method_ = null; methodBuilder_ = null; } if (authorityBuilder_ == null) { authority_ = null; } else { authority_ = null; authorityBuilder_ = null; } internalGetMutableHeaders().clear(); port_ = 0; internalGetMutableSourceLabels().clear(); gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); internalGetMutableQueryParams().clear(); ignoreUriCase_ = false; internalGetMutableWithoutHeaders().clear(); sourceNamespace_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest build() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest result = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest(this); int from_bitField0_ = bitField0_; result.name_ = name_; if (uriBuilder_ == null) { result.uri_ = uri_; } else { result.uri_ = uriBuilder_.build(); } if (schemeBuilder_ == null) { result.scheme_ = scheme_; } else { result.scheme_ = schemeBuilder_.build(); } if (methodBuilder_ == null) { result.method_ = method_; } else { result.method_ = methodBuilder_.build(); } if (authorityBuilder_ == null) { result.authority_ = authority_; } else { result.authority_ = authorityBuilder_.build(); } result.headers_ = internalGetHeaders(); result.headers_.makeImmutable(); result.port_ = port_; result.sourceLabels_ = internalGetSourceLabels(); result.sourceLabels_.makeImmutable(); if (((bitField0_ & 0x00000004) != 0)) { gateways_ = gateways_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000004); } result.gateways_ = gateways_; result.queryParams_ = internalGetQueryParams(); result.queryParams_.makeImmutable(); result.ignoreUriCase_ = ignoreUriCase_; result.withoutHeaders_ = internalGetWithoutHeaders(); result.withoutHeaders_.makeImmutable(); result.sourceNamespace_ = sourceNamespace_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest.getDefaultInstance()) return this; if (!other.getName().isEmpty()) { name_ = other.name_; onChanged(); } if (other.hasUri()) { mergeUri(other.getUri()); } if (other.hasScheme()) { mergeScheme(other.getScheme()); } if (other.hasMethod()) { mergeMethod(other.getMethod()); } if (other.hasAuthority()) { mergeAuthority(other.getAuthority()); } internalGetMutableHeaders().mergeFrom( other.internalGetHeaders()); if (other.getPort() != 0) { setPort(other.getPort()); } internalGetMutableSourceLabels().mergeFrom( other.internalGetSourceLabels()); if (!other.gateways_.isEmpty()) { if (gateways_.isEmpty()) { gateways_ = other.gateways_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureGatewaysIsMutable(); gateways_.addAll(other.gateways_); } onChanged(); } internalGetMutableQueryParams().mergeFrom( other.internalGetQueryParams()); if (other.getIgnoreUriCase() != false) { setIgnoreUriCase(other.getIgnoreUriCase()); } internalGetMutableWithoutHeaders().mergeFrom( other.internalGetWithoutHeaders()); if (!other.getSourceNamespace().isEmpty()) { sourceNamespace_ = other.sourceNamespace_; onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.lang.Object name_ = ""; /** *
       * The name assigned to a match. The match's name will be
       * concatenated with the parent route's name and will be logged in
       * the access logs for requests matching this route.
       * 
* * string name = 11; * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * The name assigned to a match. The match's name will be
       * concatenated with the parent route's name and will be logged in
       * the access logs for requests matching this route.
       * 
* * string name = 11; * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * The name assigned to a match. The match's name will be
       * concatenated with the parent route's name and will be logged in
       * the access logs for requests matching this route.
       * 
* * string name = 11; * @param value The name to set. * @return This builder for chaining. */ public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } name_ = value; onChanged(); return this; } /** *
       * The name assigned to a match. The match's name will be
       * concatenated with the parent route's name and will be logged in
       * the access logs for requests matching this route.
       * 
* * string name = 11; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); onChanged(); return this; } /** *
       * The name assigned to a match. The match's name will be
       * concatenated with the parent route's name and will be logged in
       * the access logs for requests matching this route.
       * 
* * string name = 11; * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); name_ = value; onChanged(); return this; } private istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch uri_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> uriBuilder_; /** *
       * URI to match
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * **Note:** Case-insensitive matching could be enabled via the
       * `ignore_uri_case` flag.
       * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; * @return Whether the uri field is set. */ public boolean hasUri() { return uriBuilder_ != null || uri_ != null; } /** *
       * URI to match
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * **Note:** Case-insensitive matching could be enabled via the
       * `ignore_uri_case` flag.
       * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; * @return The uri. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getUri() { if (uriBuilder_ == null) { return uri_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : uri_; } else { return uriBuilder_.getMessage(); } } /** *
       * URI to match
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * **Note:** Case-insensitive matching could be enabled via the
       * `ignore_uri_case` flag.
       * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; */ public Builder setUri(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (uriBuilder_ == null) { if (value == null) { throw new NullPointerException(); } uri_ = value; onChanged(); } else { uriBuilder_.setMessage(value); } return this; } /** *
       * URI to match
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * **Note:** Case-insensitive matching could be enabled via the
       * `ignore_uri_case` flag.
       * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; */ public Builder setUri( istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder builderForValue) { if (uriBuilder_ == null) { uri_ = builderForValue.build(); onChanged(); } else { uriBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * URI to match
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * **Note:** Case-insensitive matching could be enabled via the
       * `ignore_uri_case` flag.
       * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; */ public Builder mergeUri(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (uriBuilder_ == null) { if (uri_ != null) { uri_ = istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.newBuilder(uri_).mergeFrom(value).buildPartial(); } else { uri_ = value; } onChanged(); } else { uriBuilder_.mergeFrom(value); } return this; } /** *
       * URI to match
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * **Note:** Case-insensitive matching could be enabled via the
       * `ignore_uri_case` flag.
       * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; */ public Builder clearUri() { if (uriBuilder_ == null) { uri_ = null; onChanged(); } else { uri_ = null; uriBuilder_ = null; } return this; } /** *
       * URI to match
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * **Note:** Case-insensitive matching could be enabled via the
       * `ignore_uri_case` flag.
       * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder getUriBuilder() { onChanged(); return getUriFieldBuilder().getBuilder(); } /** *
       * URI to match
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * **Note:** Case-insensitive matching could be enabled via the
       * `ignore_uri_case` flag.
       * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getUriOrBuilder() { if (uriBuilder_ != null) { return uriBuilder_.getMessageOrBuilder(); } else { return uri_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : uri_; } } /** *
       * URI to match
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * **Note:** Case-insensitive matching could be enabled via the
       * `ignore_uri_case` flag.
       * 
* * .istio.networking.v1alpha3.StringMatch uri = 1; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> getUriFieldBuilder() { if (uriBuilder_ == null) { uriBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder>( getUri(), getParentForChildren(), isClean()); uri_ = null; } return uriBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch scheme_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> schemeBuilder_; /** *
       * URI Scheme
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; * @return Whether the scheme field is set. */ public boolean hasScheme() { return schemeBuilder_ != null || scheme_ != null; } /** *
       * URI Scheme
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; * @return The scheme. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getScheme() { if (schemeBuilder_ == null) { return scheme_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : scheme_; } else { return schemeBuilder_.getMessage(); } } /** *
       * URI Scheme
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; */ public Builder setScheme(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (schemeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } scheme_ = value; onChanged(); } else { schemeBuilder_.setMessage(value); } return this; } /** *
       * URI Scheme
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; */ public Builder setScheme( istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder builderForValue) { if (schemeBuilder_ == null) { scheme_ = builderForValue.build(); onChanged(); } else { schemeBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * URI Scheme
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; */ public Builder mergeScheme(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (schemeBuilder_ == null) { if (scheme_ != null) { scheme_ = istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.newBuilder(scheme_).mergeFrom(value).buildPartial(); } else { scheme_ = value; } onChanged(); } else { schemeBuilder_.mergeFrom(value); } return this; } /** *
       * URI Scheme
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; */ public Builder clearScheme() { if (schemeBuilder_ == null) { scheme_ = null; onChanged(); } else { scheme_ = null; schemeBuilder_ = null; } return this; } /** *
       * URI Scheme
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder getSchemeBuilder() { onChanged(); return getSchemeFieldBuilder().getBuilder(); } /** *
       * URI Scheme
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getSchemeOrBuilder() { if (schemeBuilder_ != null) { return schemeBuilder_.getMessageOrBuilder(); } else { return scheme_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : scheme_; } } /** *
       * URI Scheme
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch scheme = 2; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> getSchemeFieldBuilder() { if (schemeBuilder_ == null) { schemeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder>( getScheme(), getParentForChildren(), isClean()); scheme_ = null; } return schemeBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch method_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> methodBuilder_; /** *
       * HTTP Method
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch method = 3; * @return Whether the method field is set. */ public boolean hasMethod() { return methodBuilder_ != null || method_ != null; } /** *
       * HTTP Method
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch method = 3; * @return The method. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getMethod() { if (methodBuilder_ == null) { return method_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : method_; } else { return methodBuilder_.getMessage(); } } /** *
       * HTTP Method
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch method = 3; */ public Builder setMethod(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (methodBuilder_ == null) { if (value == null) { throw new NullPointerException(); } method_ = value; onChanged(); } else { methodBuilder_.setMessage(value); } return this; } /** *
       * HTTP Method
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch method = 3; */ public Builder setMethod( istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder builderForValue) { if (methodBuilder_ == null) { method_ = builderForValue.build(); onChanged(); } else { methodBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * HTTP Method
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch method = 3; */ public Builder mergeMethod(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (methodBuilder_ == null) { if (method_ != null) { method_ = istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.newBuilder(method_).mergeFrom(value).buildPartial(); } else { method_ = value; } onChanged(); } else { methodBuilder_.mergeFrom(value); } return this; } /** *
       * HTTP Method
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch method = 3; */ public Builder clearMethod() { if (methodBuilder_ == null) { method_ = null; onChanged(); } else { method_ = null; methodBuilder_ = null; } return this; } /** *
       * HTTP Method
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch method = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder getMethodBuilder() { onChanged(); return getMethodFieldBuilder().getBuilder(); } /** *
       * HTTP Method
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch method = 3; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getMethodOrBuilder() { if (methodBuilder_ != null) { return methodBuilder_.getMessageOrBuilder(); } else { return method_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : method_; } } /** *
       * HTTP Method
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch method = 3; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> getMethodFieldBuilder() { if (methodBuilder_ == null) { methodBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder>( getMethod(), getParentForChildren(), isClean()); method_ = null; } return methodBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch authority_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> authorityBuilder_; /** *
       * HTTP Authority
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; * @return Whether the authority field is set. */ public boolean hasAuthority() { return authorityBuilder_ != null || authority_ != null; } /** *
       * HTTP Authority
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; * @return The authority. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getAuthority() { if (authorityBuilder_ == null) { return authority_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : authority_; } else { return authorityBuilder_.getMessage(); } } /** *
       * HTTP Authority
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; */ public Builder setAuthority(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (authorityBuilder_ == null) { if (value == null) { throw new NullPointerException(); } authority_ = value; onChanged(); } else { authorityBuilder_.setMessage(value); } return this; } /** *
       * HTTP Authority
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; */ public Builder setAuthority( istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder builderForValue) { if (authorityBuilder_ == null) { authority_ = builderForValue.build(); onChanged(); } else { authorityBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * HTTP Authority
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; */ public Builder mergeAuthority(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (authorityBuilder_ == null) { if (authority_ != null) { authority_ = istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.newBuilder(authority_).mergeFrom(value).buildPartial(); } else { authority_ = value; } onChanged(); } else { authorityBuilder_.mergeFrom(value); } return this; } /** *
       * HTTP Authority
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; */ public Builder clearAuthority() { if (authorityBuilder_ == null) { authority_ = null; onChanged(); } else { authority_ = null; authorityBuilder_ = null; } return this; } /** *
       * HTTP Authority
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder getAuthorityBuilder() { onChanged(); return getAuthorityFieldBuilder().getBuilder(); } /** *
       * HTTP Authority
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getAuthorityOrBuilder() { if (authorityBuilder_ != null) { return authorityBuilder_.getMessageOrBuilder(); } else { return authority_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance() : authority_; } } /** *
       * HTTP Authority
       * values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * 
* * .istio.networking.v1alpha3.StringMatch authority = 4; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> getAuthorityFieldBuilder() { if (authorityBuilder_ == null) { authorityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder>( getAuthority(), getParentForChildren(), isClean()); authority_ = null; } return authorityBuilder_; } private com.google.protobuf.MapField< java.lang.String, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch> headers_; private com.google.protobuf.MapField internalGetHeaders() { if (headers_ == null) { return com.google.protobuf.MapField.emptyMapField( HeadersDefaultEntryHolder.defaultEntry); } return headers_; } private com.google.protobuf.MapField internalGetMutableHeaders() { onChanged();; if (headers_ == null) { headers_ = com.google.protobuf.MapField.newMapField( HeadersDefaultEntryHolder.defaultEntry); } if (!headers_.isMutable()) { headers_ = headers_.copy(); } return headers_; } public int getHeadersCount() { return internalGetHeaders().getMap().size(); } /** *
       * The header keys must be lowercase and use hyphen as the separator,
       * e.g. _x-request-id_.
       * Header values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * If the value is empty and only the name of header is specfied, presence of the header is checked.
       * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ @java.lang.Override public boolean containsHeaders( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetHeaders().getMap().containsKey(key); } /** * Use {@link #getHeadersMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getHeaders() { return getHeadersMap(); } /** *
       * The header keys must be lowercase and use hyphen as the separator,
       * e.g. _x-request-id_.
       * Header values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * If the value is empty and only the name of header is specfied, presence of the header is checked.
       * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ @java.lang.Override public java.util.Map getHeadersMap() { return internalGetHeaders().getMap(); } /** *
       * The header keys must be lowercase and use hyphen as the separator,
       * e.g. _x-request-id_.
       * Header values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * If the value is empty and only the name of header is specfied, presence of the header is checked.
       * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getHeadersOrDefault( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetHeaders().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
       * The header keys must be lowercase and use hyphen as the separator,
       * e.g. _x-request-id_.
       * Header values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * If the value is empty and only the name of header is specfied, presence of the header is checked.
       * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getHeadersOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetHeaders().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearHeaders() { internalGetMutableHeaders().getMutableMap() .clear(); return this; } /** *
       * The header keys must be lowercase and use hyphen as the separator,
       * e.g. _x-request-id_.
       * Header values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * If the value is empty and only the name of header is specfied, presence of the header is checked.
       * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ public Builder removeHeaders( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } internalGetMutableHeaders().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableHeaders() { return internalGetMutableHeaders().getMutableMap(); } /** *
       * The header keys must be lowercase and use hyphen as the separator,
       * e.g. _x-request-id_.
       * Header values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * If the value is empty and only the name of header is specfied, presence of the header is checked.
       * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ public Builder putHeaders( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (key == null) { throw new java.lang.NullPointerException(); } if (value == null) { throw new java.lang.NullPointerException(); } internalGetMutableHeaders().getMutableMap() .put(key, value); return this; } /** *
       * The header keys must be lowercase and use hyphen as the separator,
       * e.g. _x-request-id_.
       * Header values are case-sensitive and formatted as follows:
       * - `exact: "value"` for exact string match
       * - `prefix: "value"` for prefix-based match
       * - `regex: "value"` for ECMAscript style regex-based match
       * If the value is empty and only the name of header is specfied, presence of the header is checked.
       * **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> headers = 5; */ public Builder putAllHeaders( java.util.Map values) { internalGetMutableHeaders().getMutableMap() .putAll(values); return this; } private int port_ ; /** *
       * Specifies the ports on the host that is being addressed. Many services
       * only expose a single port or label ports with the protocols they support,
       * in these cases it is not required to explicitly select the port.
       * 
* * uint32 port = 6; * @return The port. */ @java.lang.Override public int getPort() { return port_; } /** *
       * Specifies the ports on the host that is being addressed. Many services
       * only expose a single port or label ports with the protocols they support,
       * in these cases it is not required to explicitly select the port.
       * 
* * uint32 port = 6; * @param value The port to set. * @return This builder for chaining. */ public Builder setPort(int value) { port_ = value; onChanged(); return this; } /** *
       * Specifies the ports on the host that is being addressed. Many services
       * only expose a single port or label ports with the protocols they support,
       * in these cases it is not required to explicitly select the port.
       * 
* * uint32 port = 6; * @return This builder for chaining. */ public Builder clearPort() { port_ = 0; onChanged(); return this; } private com.google.protobuf.MapField< java.lang.String, java.lang.String> sourceLabels_; private com.google.protobuf.MapField internalGetSourceLabels() { if (sourceLabels_ == null) { return com.google.protobuf.MapField.emptyMapField( SourceLabelsDefaultEntryHolder.defaultEntry); } return sourceLabels_; } private com.google.protobuf.MapField internalGetMutableSourceLabels() { onChanged();; if (sourceLabels_ == null) { sourceLabels_ = com.google.protobuf.MapField.newMapField( SourceLabelsDefaultEntryHolder.defaultEntry); } if (!sourceLabels_.isMutable()) { sourceLabels_ = sourceLabels_.copy(); } return sourceLabels_; } public int getSourceLabelsCount() { return internalGetSourceLabels().getMap().size(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it must include the reserved gateway
       * `mesh` for this field to be applicable.
       * 
* * map<string, string> source_labels = 7; */ @java.lang.Override public boolean containsSourceLabels( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetSourceLabels().getMap().containsKey(key); } /** * Use {@link #getSourceLabelsMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getSourceLabels() { return getSourceLabelsMap(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it must include the reserved gateway
       * `mesh` for this field to be applicable.
       * 
* * map<string, string> source_labels = 7; */ @java.lang.Override public java.util.Map getSourceLabelsMap() { return internalGetSourceLabels().getMap(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it must include the reserved gateway
       * `mesh` for this field to be applicable.
       * 
* * map<string, string> source_labels = 7; */ @java.lang.Override public java.lang.String getSourceLabelsOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it must include the reserved gateway
       * `mesh` for this field to be applicable.
       * 
* * map<string, string> source_labels = 7; */ @java.lang.Override public java.lang.String getSourceLabelsOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearSourceLabels() { internalGetMutableSourceLabels().getMutableMap() .clear(); return this; } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it must include the reserved gateway
       * `mesh` for this field to be applicable.
       * 
* * map<string, string> source_labels = 7; */ public Builder removeSourceLabels( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } internalGetMutableSourceLabels().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableSourceLabels() { return internalGetMutableSourceLabels().getMutableMap(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it must include the reserved gateway
       * `mesh` for this field to be applicable.
       * 
* * map<string, string> source_labels = 7; */ public Builder putSourceLabels( java.lang.String key, java.lang.String value) { if (key == null) { throw new java.lang.NullPointerException(); } if (value == null) { throw new java.lang.NullPointerException(); } internalGetMutableSourceLabels().getMutableMap() .put(key, value); return this; } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it must include the reserved gateway
       * `mesh` for this field to be applicable.
       * 
* * map<string, string> source_labels = 7; */ public Builder putAllSourceLabels( java.util.Map values) { internalGetMutableSourceLabels().getMutableMap() .putAll(values); return this; } private com.google.protobuf.LazyStringList gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureGatewaysIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { gateways_ = new com.google.protobuf.LazyStringArrayList(gateways_); bitField0_ |= 0x00000004; } } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 8; * @return A list containing the gateways. */ public com.google.protobuf.ProtocolStringList getGatewaysList() { return gateways_.getUnmodifiableView(); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 8; * @return The count of gateways. */ public int getGatewaysCount() { return gateways_.size(); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 8; * @param index The index of the element to return. * @return The gateways at the given index. */ public java.lang.String getGateways(int index) { return gateways_.get(index); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 8; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ public com.google.protobuf.ByteString getGatewaysBytes(int index) { return gateways_.getByteString(index); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 8; * @param index The index to set the value at. * @param value The gateways to set. * @return This builder for chaining. */ public Builder setGateways( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureGatewaysIsMutable(); gateways_.set(index, value); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 8; * @param value The gateways to add. * @return This builder for chaining. */ public Builder addGateways( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureGatewaysIsMutable(); gateways_.add(value); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 8; * @param values The gateways to add. * @return This builder for chaining. */ public Builder addAllGateways( java.lang.Iterable values) { ensureGatewaysIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, gateways_); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 8; * @return This builder for chaining. */ public Builder clearGateways() { gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 8; * @param value The bytes of the gateways to add. * @return This builder for chaining. */ public Builder addGatewaysBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureGatewaysIsMutable(); gateways_.add(value); onChanged(); return this; } private com.google.protobuf.MapField< java.lang.String, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch> queryParams_; private com.google.protobuf.MapField internalGetQueryParams() { if (queryParams_ == null) { return com.google.protobuf.MapField.emptyMapField( QueryParamsDefaultEntryHolder.defaultEntry); } return queryParams_; } private com.google.protobuf.MapField internalGetMutableQueryParams() { onChanged();; if (queryParams_ == null) { queryParams_ = com.google.protobuf.MapField.newMapField( QueryParamsDefaultEntryHolder.defaultEntry); } if (!queryParams_.isMutable()) { queryParams_ = queryParams_.copy(); } return queryParams_; } public int getQueryParamsCount() { return internalGetQueryParams().getMap().size(); } /** *
       * Query parameters for matching.
       * Ex:
       * - For a query parameter like "?key=true", the map key would be "key" and
       *   the string match could be defined as `exact: "true"`.
       * - For a query parameter like "?key", the map key would be "key" and the
       *   string match could be defined as `exact: ""`.
       * - For a query parameter like "?key=123", the map key would be "key" and the
       *   string match could be defined as `regex: "\d+$"`. Note that this
       *   configuration will only match values like "123" but not "a123" or "123a".
       * **Note:** `prefix` matching is currently not supported.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ @java.lang.Override public boolean containsQueryParams( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetQueryParams().getMap().containsKey(key); } /** * Use {@link #getQueryParamsMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getQueryParams() { return getQueryParamsMap(); } /** *
       * Query parameters for matching.
       * Ex:
       * - For a query parameter like "?key=true", the map key would be "key" and
       *   the string match could be defined as `exact: "true"`.
       * - For a query parameter like "?key", the map key would be "key" and the
       *   string match could be defined as `exact: ""`.
       * - For a query parameter like "?key=123", the map key would be "key" and the
       *   string match could be defined as `regex: "\d+$"`. Note that this
       *   configuration will only match values like "123" but not "a123" or "123a".
       * **Note:** `prefix` matching is currently not supported.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ @java.lang.Override public java.util.Map getQueryParamsMap() { return internalGetQueryParams().getMap(); } /** *
       * Query parameters for matching.
       * Ex:
       * - For a query parameter like "?key=true", the map key would be "key" and
       *   the string match could be defined as `exact: "true"`.
       * - For a query parameter like "?key", the map key would be "key" and the
       *   string match could be defined as `exact: ""`.
       * - For a query parameter like "?key=123", the map key would be "key" and the
       *   string match could be defined as `regex: "\d+$"`. Note that this
       *   configuration will only match values like "123" but not "a123" or "123a".
       * **Note:** `prefix` matching is currently not supported.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getQueryParamsOrDefault( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetQueryParams().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
       * Query parameters for matching.
       * Ex:
       * - For a query parameter like "?key=true", the map key would be "key" and
       *   the string match could be defined as `exact: "true"`.
       * - For a query parameter like "?key", the map key would be "key" and the
       *   string match could be defined as `exact: ""`.
       * - For a query parameter like "?key=123", the map key would be "key" and the
       *   string match could be defined as `regex: "\d+$"`. Note that this
       *   configuration will only match values like "123" but not "a123" or "123a".
       * **Note:** `prefix` matching is currently not supported.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getQueryParamsOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetQueryParams().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearQueryParams() { internalGetMutableQueryParams().getMutableMap() .clear(); return this; } /** *
       * Query parameters for matching.
       * Ex:
       * - For a query parameter like "?key=true", the map key would be "key" and
       *   the string match could be defined as `exact: "true"`.
       * - For a query parameter like "?key", the map key would be "key" and the
       *   string match could be defined as `exact: ""`.
       * - For a query parameter like "?key=123", the map key would be "key" and the
       *   string match could be defined as `regex: "\d+$"`. Note that this
       *   configuration will only match values like "123" but not "a123" or "123a".
       * **Note:** `prefix` matching is currently not supported.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ public Builder removeQueryParams( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } internalGetMutableQueryParams().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableQueryParams() { return internalGetMutableQueryParams().getMutableMap(); } /** *
       * Query parameters for matching.
       * Ex:
       * - For a query parameter like "?key=true", the map key would be "key" and
       *   the string match could be defined as `exact: "true"`.
       * - For a query parameter like "?key", the map key would be "key" and the
       *   string match could be defined as `exact: ""`.
       * - For a query parameter like "?key=123", the map key would be "key" and the
       *   string match could be defined as `regex: "\d+$"`. Note that this
       *   configuration will only match values like "123" but not "a123" or "123a".
       * **Note:** `prefix` matching is currently not supported.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ public Builder putQueryParams( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (key == null) { throw new java.lang.NullPointerException(); } if (value == null) { throw new java.lang.NullPointerException(); } internalGetMutableQueryParams().getMutableMap() .put(key, value); return this; } /** *
       * Query parameters for matching.
       * Ex:
       * - For a query parameter like "?key=true", the map key would be "key" and
       *   the string match could be defined as `exact: "true"`.
       * - For a query parameter like "?key", the map key would be "key" and the
       *   string match could be defined as `exact: ""`.
       * - For a query parameter like "?key=123", the map key would be "key" and the
       *   string match could be defined as `regex: "\d+$"`. Note that this
       *   configuration will only match values like "123" but not "a123" or "123a".
       * **Note:** `prefix` matching is currently not supported.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> query_params = 9; */ public Builder putAllQueryParams( java.util.Map values) { internalGetMutableQueryParams().getMutableMap() .putAll(values); return this; } private boolean ignoreUriCase_ ; /** *
       * Flag to specify whether the URI matching should be case-insensitive.
       * **Note:** The case will be ignored only in the case of `exact` and `prefix`
       * URI matches.
       * 
* * bool ignore_uri_case = 10; * @return The ignoreUriCase. */ @java.lang.Override public boolean getIgnoreUriCase() { return ignoreUriCase_; } /** *
       * Flag to specify whether the URI matching should be case-insensitive.
       * **Note:** The case will be ignored only in the case of `exact` and `prefix`
       * URI matches.
       * 
* * bool ignore_uri_case = 10; * @param value The ignoreUriCase to set. * @return This builder for chaining. */ public Builder setIgnoreUriCase(boolean value) { ignoreUriCase_ = value; onChanged(); return this; } /** *
       * Flag to specify whether the URI matching should be case-insensitive.
       * **Note:** The case will be ignored only in the case of `exact` and `prefix`
       * URI matches.
       * 
* * bool ignore_uri_case = 10; * @return This builder for chaining. */ public Builder clearIgnoreUriCase() { ignoreUriCase_ = false; onChanged(); return this; } private com.google.protobuf.MapField< java.lang.String, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch> withoutHeaders_; private com.google.protobuf.MapField internalGetWithoutHeaders() { if (withoutHeaders_ == null) { return com.google.protobuf.MapField.emptyMapField( WithoutHeadersDefaultEntryHolder.defaultEntry); } return withoutHeaders_; } private com.google.protobuf.MapField internalGetMutableWithoutHeaders() { onChanged();; if (withoutHeaders_ == null) { withoutHeaders_ = com.google.protobuf.MapField.newMapField( WithoutHeadersDefaultEntryHolder.defaultEntry); } if (!withoutHeaders_.isMutable()) { withoutHeaders_ = withoutHeaders_.copy(); } return withoutHeaders_; } public int getWithoutHeadersCount() { return internalGetWithoutHeaders().getMap().size(); } /** *
       * withoutHeader has the same syntax with the header, but has opposite meaning.
       * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ @java.lang.Override public boolean containsWithoutHeaders( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetWithoutHeaders().getMap().containsKey(key); } /** * Use {@link #getWithoutHeadersMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getWithoutHeaders() { return getWithoutHeadersMap(); } /** *
       * withoutHeader has the same syntax with the header, but has opposite meaning.
       * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ @java.lang.Override public java.util.Map getWithoutHeadersMap() { return internalGetWithoutHeaders().getMap(); } /** *
       * withoutHeader has the same syntax with the header, but has opposite meaning.
       * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getWithoutHeadersOrDefault( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetWithoutHeaders().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
       * withoutHeader has the same syntax with the header, but has opposite meaning.
       * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getWithoutHeadersOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetWithoutHeaders().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearWithoutHeaders() { internalGetMutableWithoutHeaders().getMutableMap() .clear(); return this; } /** *
       * withoutHeader has the same syntax with the header, but has opposite meaning.
       * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ public Builder removeWithoutHeaders( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } internalGetMutableWithoutHeaders().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableWithoutHeaders() { return internalGetMutableWithoutHeaders().getMutableMap(); } /** *
       * withoutHeader has the same syntax with the header, but has opposite meaning.
       * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ public Builder putWithoutHeaders( java.lang.String key, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (key == null) { throw new java.lang.NullPointerException(); } if (value == null) { throw new java.lang.NullPointerException(); } internalGetMutableWithoutHeaders().getMutableMap() .put(key, value); return this; } /** *
       * withoutHeader has the same syntax with the header, but has opposite meaning.
       * If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
       * 
* * map<string, .istio.networking.v1alpha3.StringMatch> without_headers = 12; */ public Builder putAllWithoutHeaders( java.util.Map values) { internalGetMutableWithoutHeaders().getMutableMap() .putAll(values); return this; } private java.lang.Object sourceNamespace_ = ""; /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 13; * @return The sourceNamespace. */ public java.lang.String getSourceNamespace() { java.lang.Object ref = sourceNamespace_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sourceNamespace_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 13; * @return The bytes for sourceNamespace. */ public com.google.protobuf.ByteString getSourceNamespaceBytes() { java.lang.Object ref = sourceNamespace_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); sourceNamespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 13; * @param value The sourceNamespace to set. * @return This builder for chaining. */ public Builder setSourceNamespace( java.lang.String value) { if (value == null) { throw new NullPointerException(); } sourceNamespace_ = value; onChanged(); return this; } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 13; * @return This builder for chaining. */ public Builder clearSourceNamespace() { sourceNamespace_ = getDefaultInstance().getSourceNamespace(); onChanged(); return this; } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 13; * @param value The bytes for sourceNamespace to set. * @return This builder for chaining. */ public Builder setSourceNamespaceBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); sourceNamespace_ = value; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.HTTPMatchRequest) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.HTTPMatchRequest) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HTTPMatchRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new HTTPMatchRequest(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPMatchRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface HTTPRouteDestinationOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.HTTPRouteDestination) com.google.protobuf.MessageOrBuilder { /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the destination field is set. */ boolean hasDestination(); /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The destination. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getDestination(); /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder getDestinationOrBuilder(); /** *
     * The proportion of traffic to be forwarded to the service
     * version. (0-100). Sum of weights across destinations SHOULD BE == 100.
     * If there is only one destination in a rule, the weight value is assumed to
     * be 100.
     * 
* * int32 weight = 2; * @return The weight. */ int getWeight(); /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 7; * @return Whether the headers field is set. */ boolean hasHeaders(); /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 7; * @return The headers. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Headers getHeaders(); /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 7; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder getHeadersOrBuilder(); } /** *
   * Each routing rule is associated with one or more service versions (see
   * glossary in beginning of document). Weights associated with the version
   * determine the proportion of traffic it receives. For example, the
   * following rule will route 25% of traffic for the "reviews" service to
   * instances with the "v2" tag and the remaining traffic (i.e., 75%) to
   * "v1".
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: reviews-route
   * spec:
   *   hosts:
   *   - reviews.prod.svc.cluster.local
   *   http:
   *   - route:
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   *         subset: v2
   *       weight: 25
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   *         subset: v1
   *       weight: 75
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: reviews-route
   * spec:
   *   hosts:
   *   - reviews.prod.svc.cluster.local
   *   http:
   *   - route:
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   *         subset: v2
   *       weight: 25
   *     - destination:
   *         host: reviews.prod.svc.cluster.local
   *         subset: v1
   *       weight: 75
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * And the associated DestinationRule
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: DestinationRule
   * metadata:
   *   name: reviews-destination
   * spec:
   *   host: reviews.prod.svc.cluster.local
   *   subsets:
   *   - name: v1
   *     labels:
   *       version: v1
   *   - name: v2
   *     labels:
   *       version: v2
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: DestinationRule
   * metadata:
   *   name: reviews-destination
   * spec:
   *   host: reviews.prod.svc.cluster.local
   *   subsets:
   *   - name: v1
   *     labels:
   *       version: v1
   *   - name: v2
   *     labels:
   *       version: v2
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * Traffic can also be split across two entirely different services without
   * having to define new subsets. For example, the following rule forwards 25% of
   * traffic to reviews.com to dev.reviews.com
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: reviews-route-two-domains
   * spec:
   *   hosts:
   *   - reviews.com
   *   http:
   *   - route:
   *     - destination:
   *         host: dev.reviews.com
   *       weight: 25
   *     - destination:
   *         host: reviews.com
   *       weight: 75
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: reviews-route-two-domains
   * spec:
   *   hosts:
   *   - reviews.com
   *   http:
   *   - route:
   *     - destination:
   *         host: dev.reviews.com
   *       weight: 25
   *     - destination:
   *         host: reviews.com
   *       weight: 75
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRouteDestination} */ public static final class HTTPRouteDestination extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.HTTPRouteDestination) HTTPRouteDestinationOrBuilder { private static final long serialVersionUID = 0L; // Use HTTPRouteDestination.newBuilder() to construct. private HTTPRouteDestination(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private HTTPRouteDestination() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HTTPRouteDestination(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private HTTPRouteDestination( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder subBuilder = null; if (destination_ != null) { subBuilder = destination_.toBuilder(); } destination_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(destination_); destination_ = subBuilder.buildPartial(); } break; } case 16: { weight_ = input.readInt32(); break; } case 58: { istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder subBuilder = null; if (headers_ != null) { subBuilder = headers_.toBuilder(); } headers_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(headers_); headers_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRouteDestination_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRouteDestination_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder.class); } public static final int DESTINATION_FIELD_NUMBER = 1; private istio.networking.v1alpha3.VirtualServiceOuterClass.Destination destination_; /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the destination field is set. */ @java.lang.Override public boolean hasDestination() { return destination_ != null; } /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The destination. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getDestination() { return destination_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance() : destination_; } /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder getDestinationOrBuilder() { return getDestination(); } public static final int WEIGHT_FIELD_NUMBER = 2; private int weight_; /** *
     * The proportion of traffic to be forwarded to the service
     * version. (0-100). Sum of weights across destinations SHOULD BE == 100.
     * If there is only one destination in a rule, the weight value is assumed to
     * be 100.
     * 
* * int32 weight = 2; * @return The weight. */ @java.lang.Override public int getWeight() { return weight_; } public static final int HEADERS_FIELD_NUMBER = 7; private istio.networking.v1alpha3.VirtualServiceOuterClass.Headers headers_; /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 7; * @return Whether the headers field is set. */ @java.lang.Override public boolean hasHeaders() { return headers_ != null; } /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 7; * @return The headers. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers getHeaders() { return headers_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.getDefaultInstance() : headers_; } /** *
     * Header manipulation rules
     * 
* * .istio.networking.v1alpha3.Headers headers = 7; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder getHeadersOrBuilder() { return getHeaders(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (destination_ != null) { output.writeMessage(1, getDestination()); } if (weight_ != 0) { output.writeInt32(2, weight_); } if (headers_ != null) { output.writeMessage(7, getHeaders()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (destination_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getDestination()); } if (weight_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(2, weight_); } if (headers_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getHeaders()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination other = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination) obj; if (hasDestination() != other.hasDestination()) return false; if (hasDestination()) { if (!getDestination() .equals(other.getDestination())) return false; } if (getWeight() != other.getWeight()) return false; if (hasHeaders() != other.hasHeaders()) return false; if (hasHeaders()) { if (!getHeaders() .equals(other.getHeaders())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasDestination()) { hash = (37 * hash) + DESTINATION_FIELD_NUMBER; hash = (53 * hash) + getDestination().hashCode(); } hash = (37 * hash) + WEIGHT_FIELD_NUMBER; hash = (53 * hash) + getWeight(); if (hasHeaders()) { hash = (37 * hash) + HEADERS_FIELD_NUMBER; hash = (53 * hash) + getHeaders().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Each routing rule is associated with one or more service versions (see
     * glossary in beginning of document). Weights associated with the version
     * determine the proportion of traffic it receives. For example, the
     * following rule will route 25% of traffic for the "reviews" service to
     * instances with the "v2" tag and the remaining traffic (i.e., 75%) to
     * "v1".
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: reviews-route
     * spec:
     *   hosts:
     *   - reviews.prod.svc.cluster.local
     *   http:
     *   - route:
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v2
     *       weight: 25
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v1
     *       weight: 75
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: reviews-route
     * spec:
     *   hosts:
     *   - reviews.prod.svc.cluster.local
     *   http:
     *   - route:
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v2
     *       weight: 25
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v1
     *       weight: 75
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * And the associated DestinationRule
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: DestinationRule
     * metadata:
     *   name: reviews-destination
     * spec:
     *   host: reviews.prod.svc.cluster.local
     *   subsets:
     *   - name: v1
     *     labels:
     *       version: v1
     *   - name: v2
     *     labels:
     *       version: v2
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: DestinationRule
     * metadata:
     *   name: reviews-destination
     * spec:
     *   host: reviews.prod.svc.cluster.local
     *   subsets:
     *   - name: v1
     *     labels:
     *       version: v1
     *   - name: v2
     *     labels:
     *       version: v2
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * Traffic can also be split across two entirely different services without
     * having to define new subsets. For example, the following rule forwards 25% of
     * traffic to reviews.com to dev.reviews.com
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: reviews-route-two-domains
     * spec:
     *   hosts:
     *   - reviews.com
     *   http:
     *   - route:
     *     - destination:
     *         host: dev.reviews.com
     *       weight: 25
     *     - destination:
     *         host: reviews.com
     *       weight: 75
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: reviews-route-two-domains
     * spec:
     *   hosts:
     *   - reviews.com
     *   http:
     *   - route:
     *     - destination:
     *         host: dev.reviews.com
     *       weight: 25
     *     - destination:
     *         host: reviews.com
     *       weight: 75
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRouteDestination} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.HTTPRouteDestination) istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestinationOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRouteDestination_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRouteDestination_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); if (destinationBuilder_ == null) { destination_ = null; } else { destination_ = null; destinationBuilder_ = null; } weight_ = 0; if (headersBuilder_ == null) { headers_ = null; } else { headers_ = null; headersBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRouteDestination_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination build() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination result = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination(this); if (destinationBuilder_ == null) { result.destination_ = destination_; } else { result.destination_ = destinationBuilder_.build(); } result.weight_ = weight_; if (headersBuilder_ == null) { result.headers_ = headers_; } else { result.headers_ = headersBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination.getDefaultInstance()) return this; if (other.hasDestination()) { mergeDestination(other.getDestination()); } if (other.getWeight() != 0) { setWeight(other.getWeight()); } if (other.hasHeaders()) { mergeHeaders(other.getHeaders()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Destination destination_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Destination, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder> destinationBuilder_; /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the destination field is set. */ public boolean hasDestination() { return destinationBuilder_ != null || destination_ != null; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The destination. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getDestination() { if (destinationBuilder_ == null) { return destination_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance() : destination_; } else { return destinationBuilder_.getMessage(); } } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder setDestination(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination value) { if (destinationBuilder_ == null) { if (value == null) { throw new NullPointerException(); } destination_ = value; onChanged(); } else { destinationBuilder_.setMessage(value); } return this; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder setDestination( istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder builderForValue) { if (destinationBuilder_ == null) { destination_ = builderForValue.build(); onChanged(); } else { destinationBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder mergeDestination(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination value) { if (destinationBuilder_ == null) { if (destination_ != null) { destination_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.newBuilder(destination_).mergeFrom(value).buildPartial(); } else { destination_ = value; } onChanged(); } else { destinationBuilder_.mergeFrom(value); } return this; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder clearDestination() { if (destinationBuilder_ == null) { destination_ = null; onChanged(); } else { destination_ = null; destinationBuilder_ = null; } return this; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder getDestinationBuilder() { onChanged(); return getDestinationFieldBuilder().getBuilder(); } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder getDestinationOrBuilder() { if (destinationBuilder_ != null) { return destinationBuilder_.getMessageOrBuilder(); } else { return destination_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance() : destination_; } } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Destination, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder> getDestinationFieldBuilder() { if (destinationBuilder_ == null) { destinationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Destination, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder>( getDestination(), getParentForChildren(), isClean()); destination_ = null; } return destinationBuilder_; } private int weight_ ; /** *
       * The proportion of traffic to be forwarded to the service
       * version. (0-100). Sum of weights across destinations SHOULD BE == 100.
       * If there is only one destination in a rule, the weight value is assumed to
       * be 100.
       * 
* * int32 weight = 2; * @return The weight. */ @java.lang.Override public int getWeight() { return weight_; } /** *
       * The proportion of traffic to be forwarded to the service
       * version. (0-100). Sum of weights across destinations SHOULD BE == 100.
       * If there is only one destination in a rule, the weight value is assumed to
       * be 100.
       * 
* * int32 weight = 2; * @param value The weight to set. * @return This builder for chaining. */ public Builder setWeight(int value) { weight_ = value; onChanged(); return this; } /** *
       * The proportion of traffic to be forwarded to the service
       * version. (0-100). Sum of weights across destinations SHOULD BE == 100.
       * If there is only one destination in a rule, the weight value is assumed to
       * be 100.
       * 
* * int32 weight = 2; * @return This builder for chaining. */ public Builder clearWeight() { weight_ = 0; onChanged(); return this; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Headers headers_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder> headersBuilder_; /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 7; * @return Whether the headers field is set. */ public boolean hasHeaders() { return headersBuilder_ != null || headers_ != null; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 7; * @return The headers. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers getHeaders() { if (headersBuilder_ == null) { return headers_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.getDefaultInstance() : headers_; } else { return headersBuilder_.getMessage(); } } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 7; */ public Builder setHeaders(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers value) { if (headersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } headers_ = value; onChanged(); } else { headersBuilder_.setMessage(value); } return this; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 7; */ public Builder setHeaders( istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder builderForValue) { if (headersBuilder_ == null) { headers_ = builderForValue.build(); onChanged(); } else { headersBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 7; */ public Builder mergeHeaders(istio.networking.v1alpha3.VirtualServiceOuterClass.Headers value) { if (headersBuilder_ == null) { if (headers_ != null) { headers_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.newBuilder(headers_).mergeFrom(value).buildPartial(); } else { headers_ = value; } onChanged(); } else { headersBuilder_.mergeFrom(value); } return this; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 7; */ public Builder clearHeaders() { if (headersBuilder_ == null) { headers_ = null; onChanged(); } else { headers_ = null; headersBuilder_ = null; } return this; } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 7; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder getHeadersBuilder() { onChanged(); return getHeadersFieldBuilder().getBuilder(); } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 7; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder getHeadersOrBuilder() { if (headersBuilder_ != null) { return headersBuilder_.getMessageOrBuilder(); } else { return headers_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.getDefaultInstance() : headers_; } } /** *
       * Header manipulation rules
       * 
* * .istio.networking.v1alpha3.Headers headers = 7; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder> getHeadersFieldBuilder() { if (headersBuilder_ == null) { headersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Headers, istio.networking.v1alpha3.VirtualServiceOuterClass.Headers.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HeadersOrBuilder>( getHeaders(), getParentForChildren(), isClean()); headers_ = null; } return headersBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.HTTPRouteDestination) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.HTTPRouteDestination) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HTTPRouteDestination parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new HTTPRouteDestination(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRouteDestination getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface RouteDestinationOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.RouteDestination) com.google.protobuf.MessageOrBuilder { /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the destination field is set. */ boolean hasDestination(); /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The destination. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getDestination(); /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder getDestinationOrBuilder(); /** *
     * The proportion of traffic to be forwarded to the service
     * version. If there is only one destination in a rule, all traffic will be
     * routed to it irrespective of the weight.
     * 
* * int32 weight = 2; * @return The weight. */ int getWeight(); } /** *
   * L4 routing rule weighted destination.
   * 
* * Protobuf type {@code istio.networking.v1alpha3.RouteDestination} */ public static final class RouteDestination extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.RouteDestination) RouteDestinationOrBuilder { private static final long serialVersionUID = 0L; // Use RouteDestination.newBuilder() to construct. private RouteDestination(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private RouteDestination() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new RouteDestination(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private RouteDestination( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder subBuilder = null; if (destination_ != null) { subBuilder = destination_.toBuilder(); } destination_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(destination_); destination_ = subBuilder.buildPartial(); } break; } case 16: { weight_ = input.readInt32(); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_RouteDestination_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_RouteDestination_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.class, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder.class); } public static final int DESTINATION_FIELD_NUMBER = 1; private istio.networking.v1alpha3.VirtualServiceOuterClass.Destination destination_; /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the destination field is set. */ @java.lang.Override public boolean hasDestination() { return destination_ != null; } /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The destination. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getDestination() { return destination_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance() : destination_; } /** *
     * Destination uniquely identifies the instances of a service
     * to which the request/connection should be forwarded to.
     * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder getDestinationOrBuilder() { return getDestination(); } public static final int WEIGHT_FIELD_NUMBER = 2; private int weight_; /** *
     * The proportion of traffic to be forwarded to the service
     * version. If there is only one destination in a rule, all traffic will be
     * routed to it irrespective of the weight.
     * 
* * int32 weight = 2; * @return The weight. */ @java.lang.Override public int getWeight() { return weight_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (destination_ != null) { output.writeMessage(1, getDestination()); } if (weight_ != 0) { output.writeInt32(2, weight_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (destination_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getDestination()); } if (weight_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(2, weight_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination other = (istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination) obj; if (hasDestination() != other.hasDestination()) return false; if (hasDestination()) { if (!getDestination() .equals(other.getDestination())) return false; } if (getWeight() != other.getWeight()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasDestination()) { hash = (37 * hash) + DESTINATION_FIELD_NUMBER; hash = (53 * hash) + getDestination().hashCode(); } hash = (37 * hash) + WEIGHT_FIELD_NUMBER; hash = (53 * hash) + getWeight(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * L4 routing rule weighted destination.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.RouteDestination} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.RouteDestination) istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestinationOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_RouteDestination_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_RouteDestination_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.class, istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); if (destinationBuilder_ == null) { destination_ = null; } else { destination_ = null; destinationBuilder_ = null; } weight_ = 0; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_RouteDestination_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination build() { istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination result = new istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination(this); if (destinationBuilder_ == null) { result.destination_ = destination_; } else { result.destination_ = destinationBuilder_.build(); } result.weight_ = weight_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination.getDefaultInstance()) return this; if (other.hasDestination()) { mergeDestination(other.getDestination()); } if (other.getWeight() != 0) { setWeight(other.getWeight()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Destination destination_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Destination, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder> destinationBuilder_; /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the destination field is set. */ public boolean hasDestination() { return destinationBuilder_ != null || destination_ != null; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The destination. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination getDestination() { if (destinationBuilder_ == null) { return destination_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance() : destination_; } else { return destinationBuilder_.getMessage(); } } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder setDestination(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination value) { if (destinationBuilder_ == null) { if (value == null) { throw new NullPointerException(); } destination_ = value; onChanged(); } else { destinationBuilder_.setMessage(value); } return this; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder setDestination( istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder builderForValue) { if (destinationBuilder_ == null) { destination_ = builderForValue.build(); onChanged(); } else { destinationBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder mergeDestination(istio.networking.v1alpha3.VirtualServiceOuterClass.Destination value) { if (destinationBuilder_ == null) { if (destination_ != null) { destination_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.newBuilder(destination_).mergeFrom(value).buildPartial(); } else { destination_ = value; } onChanged(); } else { destinationBuilder_.mergeFrom(value); } return this; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public Builder clearDestination() { if (destinationBuilder_ == null) { destination_ = null; onChanged(); } else { destination_ = null; destinationBuilder_ = null; } return this; } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder getDestinationBuilder() { onChanged(); return getDestinationFieldBuilder().getBuilder(); } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder getDestinationOrBuilder() { if (destinationBuilder_ != null) { return destinationBuilder_.getMessageOrBuilder(); } else { return destination_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.getDefaultInstance() : destination_; } } /** *
       * Destination uniquely identifies the instances of a service
       * to which the request/connection should be forwarded to.
       * 
* * .istio.networking.v1alpha3.Destination destination = 1 [(.google.api.field_behavior) = REQUIRED]; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Destination, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder> getDestinationFieldBuilder() { if (destinationBuilder_ == null) { destinationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Destination, istio.networking.v1alpha3.VirtualServiceOuterClass.Destination.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.DestinationOrBuilder>( getDestination(), getParentForChildren(), isClean()); destination_ = null; } return destinationBuilder_; } private int weight_ ; /** *
       * The proportion of traffic to be forwarded to the service
       * version. If there is only one destination in a rule, all traffic will be
       * routed to it irrespective of the weight.
       * 
* * int32 weight = 2; * @return The weight. */ @java.lang.Override public int getWeight() { return weight_; } /** *
       * The proportion of traffic to be forwarded to the service
       * version. If there is only one destination in a rule, all traffic will be
       * routed to it irrespective of the weight.
       * 
* * int32 weight = 2; * @param value The weight to set. * @return This builder for chaining. */ public Builder setWeight(int value) { weight_ = value; onChanged(); return this; } /** *
       * The proportion of traffic to be forwarded to the service
       * version. If there is only one destination in a rule, all traffic will be
       * routed to it irrespective of the weight.
       * 
* * int32 weight = 2; * @return This builder for chaining. */ public Builder clearWeight() { weight_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.RouteDestination) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.RouteDestination) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RouteDestination parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new RouteDestination(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.RouteDestination getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface L4MatchAttributesOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.L4MatchAttributes) com.google.protobuf.MessageOrBuilder { /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 1; * @return A list containing the destinationSubnets. */ java.util.List getDestinationSubnetsList(); /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 1; * @return The count of destinationSubnets. */ int getDestinationSubnetsCount(); /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 1; * @param index The index of the element to return. * @return The destinationSubnets at the given index. */ java.lang.String getDestinationSubnets(int index); /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 1; * @param index The index of the value to return. * @return The bytes of the destinationSubnets at the given index. */ com.google.protobuf.ByteString getDestinationSubnetsBytes(int index); /** *
     * Specifies the port on the host that is being addressed. Many services
     * only expose a single port or label ports with the protocols they support,
     * in these cases it is not required to explicitly select the port.
     * 
* * uint32 port = 2; * @return The port. */ int getPort(); /** *
     * IPv4 or IPv6 ip address of source with optional subnet. E.g., a.b.c.d/xx
     * form or just a.b.c.d
     * $hide_from_docs
     * 
* * string source_subnet = 3; * @return The sourceSubnet. */ java.lang.String getSourceSubnet(); /** *
     * IPv4 or IPv6 ip address of source with optional subnet. E.g., a.b.c.d/xx
     * form or just a.b.c.d
     * $hide_from_docs
     * 
* * string source_subnet = 3; * @return The bytes for sourceSubnet. */ com.google.protobuf.ByteString getSourceSubnetBytes(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 4; */ int getSourceLabelsCount(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 4; */ boolean containsSourceLabels( java.lang.String key); /** * Use {@link #getSourceLabelsMap()} instead. */ @java.lang.Deprecated java.util.Map getSourceLabels(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 4; */ java.util.Map getSourceLabelsMap(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 4; */ java.lang.String getSourceLabelsOrDefault( java.lang.String key, java.lang.String defaultValue); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 4; */ java.lang.String getSourceLabelsOrThrow( java.lang.String key); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 5; * @return A list containing the gateways. */ java.util.List getGatewaysList(); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 5; * @return The count of gateways. */ int getGatewaysCount(); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 5; * @param index The index of the element to return. * @return The gateways at the given index. */ java.lang.String getGateways(int index); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 5; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ com.google.protobuf.ByteString getGatewaysBytes(int index); /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 6; * @return The sourceNamespace. */ java.lang.String getSourceNamespace(); /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 6; * @return The bytes for sourceNamespace. */ com.google.protobuf.ByteString getSourceNamespaceBytes(); } /** *
   * L4 connection match attributes. Note that L4 connection matching support
   * is incomplete.
   * 
* * Protobuf type {@code istio.networking.v1alpha3.L4MatchAttributes} */ public static final class L4MatchAttributes extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.L4MatchAttributes) L4MatchAttributesOrBuilder { private static final long serialVersionUID = 0L; // Use L4MatchAttributes.newBuilder() to construct. private L4MatchAttributes(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private L4MatchAttributes() { destinationSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY; sourceSubnet_ = ""; gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; sourceNamespace_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new L4MatchAttributes(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private L4MatchAttributes( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { destinationSubnets_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000001; } destinationSubnets_.add(s); break; } case 16: { port_ = input.readUInt32(); break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); sourceSubnet_ = s; break; } case 34: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { sourceLabels_ = com.google.protobuf.MapField.newMapField( SourceLabelsDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000002; } com.google.protobuf.MapEntry sourceLabels__ = input.readMessage( SourceLabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); sourceLabels_.getMutableMap().put( sourceLabels__.getKey(), sourceLabels__.getValue()); break; } case 42: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000004) != 0)) { gateways_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000004; } gateways_.add(s); break; } case 50: { java.lang.String s = input.readStringRequireUtf8(); sourceNamespace_ = s; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { destinationSubnets_ = destinationSubnets_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000004) != 0)) { gateways_ = gateways_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_L4MatchAttributes_descriptor; } @SuppressWarnings({"rawtypes"}) @java.lang.Override protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 4: return internalGetSourceLabels(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_L4MatchAttributes_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.class, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder.class); } public static final int DESTINATION_SUBNETS_FIELD_NUMBER = 1; private com.google.protobuf.LazyStringList destinationSubnets_; /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 1; * @return A list containing the destinationSubnets. */ public com.google.protobuf.ProtocolStringList getDestinationSubnetsList() { return destinationSubnets_; } /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 1; * @return The count of destinationSubnets. */ public int getDestinationSubnetsCount() { return destinationSubnets_.size(); } /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 1; * @param index The index of the element to return. * @return The destinationSubnets at the given index. */ public java.lang.String getDestinationSubnets(int index) { return destinationSubnets_.get(index); } /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 1; * @param index The index of the value to return. * @return The bytes of the destinationSubnets at the given index. */ public com.google.protobuf.ByteString getDestinationSubnetsBytes(int index) { return destinationSubnets_.getByteString(index); } public static final int PORT_FIELD_NUMBER = 2; private int port_; /** *
     * Specifies the port on the host that is being addressed. Many services
     * only expose a single port or label ports with the protocols they support,
     * in these cases it is not required to explicitly select the port.
     * 
* * uint32 port = 2; * @return The port. */ @java.lang.Override public int getPort() { return port_; } public static final int SOURCE_SUBNET_FIELD_NUMBER = 3; private volatile java.lang.Object sourceSubnet_; /** *
     * IPv4 or IPv6 ip address of source with optional subnet. E.g., a.b.c.d/xx
     * form or just a.b.c.d
     * $hide_from_docs
     * 
* * string source_subnet = 3; * @return The sourceSubnet. */ @java.lang.Override public java.lang.String getSourceSubnet() { java.lang.Object ref = sourceSubnet_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sourceSubnet_ = s; return s; } } /** *
     * IPv4 or IPv6 ip address of source with optional subnet. E.g., a.b.c.d/xx
     * form or just a.b.c.d
     * $hide_from_docs
     * 
* * string source_subnet = 3; * @return The bytes for sourceSubnet. */ @java.lang.Override public com.google.protobuf.ByteString getSourceSubnetBytes() { java.lang.Object ref = sourceSubnet_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); sourceSubnet_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SOURCE_LABELS_FIELD_NUMBER = 4; private static final class SourceLabelsDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_L4MatchAttributes_SourceLabelsEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, ""); } private com.google.protobuf.MapField< java.lang.String, java.lang.String> sourceLabels_; private com.google.protobuf.MapField internalGetSourceLabels() { if (sourceLabels_ == null) { return com.google.protobuf.MapField.emptyMapField( SourceLabelsDefaultEntryHolder.defaultEntry); } return sourceLabels_; } public int getSourceLabelsCount() { return internalGetSourceLabels().getMap().size(); } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 4; */ @java.lang.Override public boolean containsSourceLabels( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetSourceLabels().getMap().containsKey(key); } /** * Use {@link #getSourceLabelsMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getSourceLabels() { return getSourceLabelsMap(); } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 4; */ @java.lang.Override public java.util.Map getSourceLabelsMap() { return internalGetSourceLabels().getMap(); } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 4; */ @java.lang.Override public java.lang.String getSourceLabelsOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 4; */ @java.lang.Override public java.lang.String getSourceLabelsOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int GATEWAYS_FIELD_NUMBER = 5; private com.google.protobuf.LazyStringList gateways_; /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 5; * @return A list containing the gateways. */ public com.google.protobuf.ProtocolStringList getGatewaysList() { return gateways_; } /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 5; * @return The count of gateways. */ public int getGatewaysCount() { return gateways_.size(); } /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 5; * @param index The index of the element to return. * @return The gateways at the given index. */ public java.lang.String getGateways(int index) { return gateways_.get(index); } /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 5; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ public com.google.protobuf.ByteString getGatewaysBytes(int index) { return gateways_.getByteString(index); } public static final int SOURCE_NAMESPACE_FIELD_NUMBER = 6; private volatile java.lang.Object sourceNamespace_; /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 6; * @return The sourceNamespace. */ @java.lang.Override public java.lang.String getSourceNamespace() { java.lang.Object ref = sourceNamespace_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sourceNamespace_ = s; return s; } } /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 6; * @return The bytes for sourceNamespace. */ @java.lang.Override public com.google.protobuf.ByteString getSourceNamespaceBytes() { java.lang.Object ref = sourceNamespace_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); sourceNamespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < destinationSubnets_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, destinationSubnets_.getRaw(i)); } if (port_ != 0) { output.writeUInt32(2, port_); } if (!getSourceSubnetBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, sourceSubnet_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetSourceLabels(), SourceLabelsDefaultEntryHolder.defaultEntry, 4); for (int i = 0; i < gateways_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, gateways_.getRaw(i)); } if (!getSourceNamespaceBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 6, sourceNamespace_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; { int dataSize = 0; for (int i = 0; i < destinationSubnets_.size(); i++) { dataSize += computeStringSizeNoTag(destinationSubnets_.getRaw(i)); } size += dataSize; size += 1 * getDestinationSubnetsList().size(); } if (port_ != 0) { size += com.google.protobuf.CodedOutputStream .computeUInt32Size(2, port_); } if (!getSourceSubnetBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, sourceSubnet_); } for (java.util.Map.Entry entry : internalGetSourceLabels().getMap().entrySet()) { com.google.protobuf.MapEntry sourceLabels__ = SourceLabelsDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, sourceLabels__); } { int dataSize = 0; for (int i = 0; i < gateways_.size(); i++) { dataSize += computeStringSizeNoTag(gateways_.getRaw(i)); } size += dataSize; size += 1 * getGatewaysList().size(); } if (!getSourceNamespaceBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, sourceNamespace_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes other = (istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes) obj; if (!getDestinationSubnetsList() .equals(other.getDestinationSubnetsList())) return false; if (getPort() != other.getPort()) return false; if (!getSourceSubnet() .equals(other.getSourceSubnet())) return false; if (!internalGetSourceLabels().equals( other.internalGetSourceLabels())) return false; if (!getGatewaysList() .equals(other.getGatewaysList())) return false; if (!getSourceNamespace() .equals(other.getSourceNamespace())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getDestinationSubnetsCount() > 0) { hash = (37 * hash) + DESTINATION_SUBNETS_FIELD_NUMBER; hash = (53 * hash) + getDestinationSubnetsList().hashCode(); } hash = (37 * hash) + PORT_FIELD_NUMBER; hash = (53 * hash) + getPort(); hash = (37 * hash) + SOURCE_SUBNET_FIELD_NUMBER; hash = (53 * hash) + getSourceSubnet().hashCode(); if (!internalGetSourceLabels().getMap().isEmpty()) { hash = (37 * hash) + SOURCE_LABELS_FIELD_NUMBER; hash = (53 * hash) + internalGetSourceLabels().hashCode(); } if (getGatewaysCount() > 0) { hash = (37 * hash) + GATEWAYS_FIELD_NUMBER; hash = (53 * hash) + getGatewaysList().hashCode(); } hash = (37 * hash) + SOURCE_NAMESPACE_FIELD_NUMBER; hash = (53 * hash) + getSourceNamespace().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * L4 connection match attributes. Note that L4 connection matching support
     * is incomplete.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.L4MatchAttributes} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.L4MatchAttributes) istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributesOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_L4MatchAttributes_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 4: return internalGetSourceLabels(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { case 4: return internalGetMutableSourceLabels(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_L4MatchAttributes_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.class, istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); destinationSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); port_ = 0; sourceSubnet_ = ""; internalGetMutableSourceLabels().clear(); gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); sourceNamespace_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_L4MatchAttributes_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes build() { istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes result = new istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes(this); int from_bitField0_ = bitField0_; if (((bitField0_ & 0x00000001) != 0)) { destinationSubnets_ = destinationSubnets_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000001); } result.destinationSubnets_ = destinationSubnets_; result.port_ = port_; result.sourceSubnet_ = sourceSubnet_; result.sourceLabels_ = internalGetSourceLabels(); result.sourceLabels_.makeImmutable(); if (((bitField0_ & 0x00000004) != 0)) { gateways_ = gateways_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000004); } result.gateways_ = gateways_; result.sourceNamespace_ = sourceNamespace_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes.getDefaultInstance()) return this; if (!other.destinationSubnets_.isEmpty()) { if (destinationSubnets_.isEmpty()) { destinationSubnets_ = other.destinationSubnets_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureDestinationSubnetsIsMutable(); destinationSubnets_.addAll(other.destinationSubnets_); } onChanged(); } if (other.getPort() != 0) { setPort(other.getPort()); } if (!other.getSourceSubnet().isEmpty()) { sourceSubnet_ = other.sourceSubnet_; onChanged(); } internalGetMutableSourceLabels().mergeFrom( other.internalGetSourceLabels()); if (!other.gateways_.isEmpty()) { if (gateways_.isEmpty()) { gateways_ = other.gateways_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureGatewaysIsMutable(); gateways_.addAll(other.gateways_); } onChanged(); } if (!other.getSourceNamespace().isEmpty()) { sourceNamespace_ = other.sourceNamespace_; onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private com.google.protobuf.LazyStringList destinationSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureDestinationSubnetsIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { destinationSubnets_ = new com.google.protobuf.LazyStringArrayList(destinationSubnets_); bitField0_ |= 0x00000001; } } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 1; * @return A list containing the destinationSubnets. */ public com.google.protobuf.ProtocolStringList getDestinationSubnetsList() { return destinationSubnets_.getUnmodifiableView(); } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 1; * @return The count of destinationSubnets. */ public int getDestinationSubnetsCount() { return destinationSubnets_.size(); } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 1; * @param index The index of the element to return. * @return The destinationSubnets at the given index. */ public java.lang.String getDestinationSubnets(int index) { return destinationSubnets_.get(index); } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 1; * @param index The index of the value to return. * @return The bytes of the destinationSubnets at the given index. */ public com.google.protobuf.ByteString getDestinationSubnetsBytes(int index) { return destinationSubnets_.getByteString(index); } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 1; * @param index The index to set the value at. * @param value The destinationSubnets to set. * @return This builder for chaining. */ public Builder setDestinationSubnets( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureDestinationSubnetsIsMutable(); destinationSubnets_.set(index, value); onChanged(); return this; } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 1; * @param value The destinationSubnets to add. * @return This builder for chaining. */ public Builder addDestinationSubnets( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureDestinationSubnetsIsMutable(); destinationSubnets_.add(value); onChanged(); return this; } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 1; * @param values The destinationSubnets to add. * @return This builder for chaining. */ public Builder addAllDestinationSubnets( java.lang.Iterable values) { ensureDestinationSubnetsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, destinationSubnets_); onChanged(); return this; } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 1; * @return This builder for chaining. */ public Builder clearDestinationSubnets() { destinationSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 1; * @param value The bytes of the destinationSubnets to add. * @return This builder for chaining. */ public Builder addDestinationSubnetsBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureDestinationSubnetsIsMutable(); destinationSubnets_.add(value); onChanged(); return this; } private int port_ ; /** *
       * Specifies the port on the host that is being addressed. Many services
       * only expose a single port or label ports with the protocols they support,
       * in these cases it is not required to explicitly select the port.
       * 
* * uint32 port = 2; * @return The port. */ @java.lang.Override public int getPort() { return port_; } /** *
       * Specifies the port on the host that is being addressed. Many services
       * only expose a single port or label ports with the protocols they support,
       * in these cases it is not required to explicitly select the port.
       * 
* * uint32 port = 2; * @param value The port to set. * @return This builder for chaining. */ public Builder setPort(int value) { port_ = value; onChanged(); return this; } /** *
       * Specifies the port on the host that is being addressed. Many services
       * only expose a single port or label ports with the protocols they support,
       * in these cases it is not required to explicitly select the port.
       * 
* * uint32 port = 2; * @return This builder for chaining. */ public Builder clearPort() { port_ = 0; onChanged(); return this; } private java.lang.Object sourceSubnet_ = ""; /** *
       * IPv4 or IPv6 ip address of source with optional subnet. E.g., a.b.c.d/xx
       * form or just a.b.c.d
       * $hide_from_docs
       * 
* * string source_subnet = 3; * @return The sourceSubnet. */ public java.lang.String getSourceSubnet() { java.lang.Object ref = sourceSubnet_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sourceSubnet_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * IPv4 or IPv6 ip address of source with optional subnet. E.g., a.b.c.d/xx
       * form or just a.b.c.d
       * $hide_from_docs
       * 
* * string source_subnet = 3; * @return The bytes for sourceSubnet. */ public com.google.protobuf.ByteString getSourceSubnetBytes() { java.lang.Object ref = sourceSubnet_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); sourceSubnet_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * IPv4 or IPv6 ip address of source with optional subnet. E.g., a.b.c.d/xx
       * form or just a.b.c.d
       * $hide_from_docs
       * 
* * string source_subnet = 3; * @param value The sourceSubnet to set. * @return This builder for chaining. */ public Builder setSourceSubnet( java.lang.String value) { if (value == null) { throw new NullPointerException(); } sourceSubnet_ = value; onChanged(); return this; } /** *
       * IPv4 or IPv6 ip address of source with optional subnet. E.g., a.b.c.d/xx
       * form or just a.b.c.d
       * $hide_from_docs
       * 
* * string source_subnet = 3; * @return This builder for chaining. */ public Builder clearSourceSubnet() { sourceSubnet_ = getDefaultInstance().getSourceSubnet(); onChanged(); return this; } /** *
       * IPv4 or IPv6 ip address of source with optional subnet. E.g., a.b.c.d/xx
       * form or just a.b.c.d
       * $hide_from_docs
       * 
* * string source_subnet = 3; * @param value The bytes for sourceSubnet to set. * @return This builder for chaining. */ public Builder setSourceSubnetBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); sourceSubnet_ = value; onChanged(); return this; } private com.google.protobuf.MapField< java.lang.String, java.lang.String> sourceLabels_; private com.google.protobuf.MapField internalGetSourceLabels() { if (sourceLabels_ == null) { return com.google.protobuf.MapField.emptyMapField( SourceLabelsDefaultEntryHolder.defaultEntry); } return sourceLabels_; } private com.google.protobuf.MapField internalGetMutableSourceLabels() { onChanged();; if (sourceLabels_ == null) { sourceLabels_ = com.google.protobuf.MapField.newMapField( SourceLabelsDefaultEntryHolder.defaultEntry); } if (!sourceLabels_.isMutable()) { sourceLabels_ = sourceLabels_.copy(); } return sourceLabels_; } public int getSourceLabelsCount() { return internalGetSourceLabels().getMap().size(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 4; */ @java.lang.Override public boolean containsSourceLabels( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetSourceLabels().getMap().containsKey(key); } /** * Use {@link #getSourceLabelsMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getSourceLabels() { return getSourceLabelsMap(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 4; */ @java.lang.Override public java.util.Map getSourceLabelsMap() { return internalGetSourceLabels().getMap(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 4; */ @java.lang.Override public java.lang.String getSourceLabelsOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 4; */ @java.lang.Override public java.lang.String getSourceLabelsOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearSourceLabels() { internalGetMutableSourceLabels().getMutableMap() .clear(); return this; } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 4; */ public Builder removeSourceLabels( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } internalGetMutableSourceLabels().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableSourceLabels() { return internalGetMutableSourceLabels().getMutableMap(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 4; */ public Builder putSourceLabels( java.lang.String key, java.lang.String value) { if (key == null) { throw new java.lang.NullPointerException(); } if (value == null) { throw new java.lang.NullPointerException(); } internalGetMutableSourceLabels().getMutableMap() .put(key, value); return this; } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 4; */ public Builder putAllSourceLabels( java.util.Map values) { internalGetMutableSourceLabels().getMutableMap() .putAll(values); return this; } private com.google.protobuf.LazyStringList gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureGatewaysIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { gateways_ = new com.google.protobuf.LazyStringArrayList(gateways_); bitField0_ |= 0x00000004; } } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 5; * @return A list containing the gateways. */ public com.google.protobuf.ProtocolStringList getGatewaysList() { return gateways_.getUnmodifiableView(); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 5; * @return The count of gateways. */ public int getGatewaysCount() { return gateways_.size(); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 5; * @param index The index of the element to return. * @return The gateways at the given index. */ public java.lang.String getGateways(int index) { return gateways_.get(index); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 5; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ public com.google.protobuf.ByteString getGatewaysBytes(int index) { return gateways_.getByteString(index); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 5; * @param index The index to set the value at. * @param value The gateways to set. * @return This builder for chaining. */ public Builder setGateways( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureGatewaysIsMutable(); gateways_.set(index, value); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 5; * @param value The gateways to add. * @return This builder for chaining. */ public Builder addGateways( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureGatewaysIsMutable(); gateways_.add(value); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 5; * @param values The gateways to add. * @return This builder for chaining. */ public Builder addAllGateways( java.lang.Iterable values) { ensureGatewaysIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, gateways_); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 5; * @return This builder for chaining. */ public Builder clearGateways() { gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 5; * @param value The bytes of the gateways to add. * @return This builder for chaining. */ public Builder addGatewaysBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureGatewaysIsMutable(); gateways_.add(value); onChanged(); return this; } private java.lang.Object sourceNamespace_ = ""; /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 6; * @return The sourceNamespace. */ public java.lang.String getSourceNamespace() { java.lang.Object ref = sourceNamespace_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sourceNamespace_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 6; * @return The bytes for sourceNamespace. */ public com.google.protobuf.ByteString getSourceNamespaceBytes() { java.lang.Object ref = sourceNamespace_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); sourceNamespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 6; * @param value The sourceNamespace to set. * @return This builder for chaining. */ public Builder setSourceNamespace( java.lang.String value) { if (value == null) { throw new NullPointerException(); } sourceNamespace_ = value; onChanged(); return this; } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 6; * @return This builder for chaining. */ public Builder clearSourceNamespace() { sourceNamespace_ = getDefaultInstance().getSourceNamespace(); onChanged(); return this; } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 6; * @param value The bytes for sourceNamespace to set. * @return This builder for chaining. */ public Builder setSourceNamespaceBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); sourceNamespace_ = value; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.L4MatchAttributes) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.L4MatchAttributes) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public L4MatchAttributes parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new L4MatchAttributes(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.L4MatchAttributes getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface TLSMatchAttributesOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.TLSMatchAttributes) com.google.protobuf.MessageOrBuilder { /** *
     * SNI (server name indicator) to match on. Wildcard prefixes
     * can be used in the SNI value, e.g., *.com will match foo.example.com
     * as well as example.com. An SNI value must be a subset (i.e., fall
     * within the domain) of the corresponding virtual serivce's hosts.
     * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return A list containing the sniHosts. */ java.util.List getSniHostsList(); /** *
     * SNI (server name indicator) to match on. Wildcard prefixes
     * can be used in the SNI value, e.g., *.com will match foo.example.com
     * as well as example.com. An SNI value must be a subset (i.e., fall
     * within the domain) of the corresponding virtual serivce's hosts.
     * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The count of sniHosts. */ int getSniHostsCount(); /** *
     * SNI (server name indicator) to match on. Wildcard prefixes
     * can be used in the SNI value, e.g., *.com will match foo.example.com
     * as well as example.com. An SNI value must be a subset (i.e., fall
     * within the domain) of the corresponding virtual serivce's hosts.
     * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the element to return. * @return The sniHosts at the given index. */ java.lang.String getSniHosts(int index); /** *
     * SNI (server name indicator) to match on. Wildcard prefixes
     * can be used in the SNI value, e.g., *.com will match foo.example.com
     * as well as example.com. An SNI value must be a subset (i.e., fall
     * within the domain) of the corresponding virtual serivce's hosts.
     * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the value to return. * @return The bytes of the sniHosts at the given index. */ com.google.protobuf.ByteString getSniHostsBytes(int index); /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 2; * @return A list containing the destinationSubnets. */ java.util.List getDestinationSubnetsList(); /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 2; * @return The count of destinationSubnets. */ int getDestinationSubnetsCount(); /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 2; * @param index The index of the element to return. * @return The destinationSubnets at the given index. */ java.lang.String getDestinationSubnets(int index); /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 2; * @param index The index of the value to return. * @return The bytes of the destinationSubnets at the given index. */ com.google.protobuf.ByteString getDestinationSubnetsBytes(int index); /** *
     * Specifies the port on the host that is being addressed. Many services
     * only expose a single port or label ports with the protocols they
     * support, in these cases it is not required to explicitly select the
     * port.
     * 
* * uint32 port = 3; * @return The port. */ int getPort(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 5; */ int getSourceLabelsCount(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 5; */ boolean containsSourceLabels( java.lang.String key); /** * Use {@link #getSourceLabelsMap()} instead. */ @java.lang.Deprecated java.util.Map getSourceLabels(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 5; */ java.util.Map getSourceLabelsMap(); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 5; */ java.lang.String getSourceLabelsOrDefault( java.lang.String key, java.lang.String defaultValue); /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 5; */ java.lang.String getSourceLabelsOrThrow( java.lang.String key); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 6; * @return A list containing the gateways. */ java.util.List getGatewaysList(); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 6; * @return The count of gateways. */ int getGatewaysCount(); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 6; * @param index The index of the element to return. * @return The gateways at the given index. */ java.lang.String getGateways(int index); /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 6; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ com.google.protobuf.ByteString getGatewaysBytes(int index); /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 7; * @return The sourceNamespace. */ java.lang.String getSourceNamespace(); /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 7; * @return The bytes for sourceNamespace. */ com.google.protobuf.ByteString getSourceNamespaceBytes(); } /** *
   * TLS connection match attributes.
   * 
* * Protobuf type {@code istio.networking.v1alpha3.TLSMatchAttributes} */ public static final class TLSMatchAttributes extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.TLSMatchAttributes) TLSMatchAttributesOrBuilder { private static final long serialVersionUID = 0L; // Use TLSMatchAttributes.newBuilder() to construct. private TLSMatchAttributes(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private TLSMatchAttributes() { sniHosts_ = com.google.protobuf.LazyStringArrayList.EMPTY; destinationSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY; gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; sourceNamespace_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new TLSMatchAttributes(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private TLSMatchAttributes( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { sniHosts_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000001; } sniHosts_.add(s); break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000002) != 0)) { destinationSubnets_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000002; } destinationSubnets_.add(s); break; } case 24: { port_ = input.readUInt32(); break; } case 42: { if (!((mutable_bitField0_ & 0x00000004) != 0)) { sourceLabels_ = com.google.protobuf.MapField.newMapField( SourceLabelsDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000004; } com.google.protobuf.MapEntry sourceLabels__ = input.readMessage( SourceLabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); sourceLabels_.getMutableMap().put( sourceLabels__.getKey(), sourceLabels__.getValue()); break; } case 50: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000008) != 0)) { gateways_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000008; } gateways_.add(s); break; } case 58: { java.lang.String s = input.readStringRequireUtf8(); sourceNamespace_ = s; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { sniHosts_ = sniHosts_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000002) != 0)) { destinationSubnets_ = destinationSubnets_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000008) != 0)) { gateways_ = gateways_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSMatchAttributes_descriptor; } @SuppressWarnings({"rawtypes"}) @java.lang.Override protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 5: return internalGetSourceLabels(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSMatchAttributes_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.class, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder.class); } public static final int SNI_HOSTS_FIELD_NUMBER = 1; private com.google.protobuf.LazyStringList sniHosts_; /** *
     * SNI (server name indicator) to match on. Wildcard prefixes
     * can be used in the SNI value, e.g., *.com will match foo.example.com
     * as well as example.com. An SNI value must be a subset (i.e., fall
     * within the domain) of the corresponding virtual serivce's hosts.
     * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return A list containing the sniHosts. */ public com.google.protobuf.ProtocolStringList getSniHostsList() { return sniHosts_; } /** *
     * SNI (server name indicator) to match on. Wildcard prefixes
     * can be used in the SNI value, e.g., *.com will match foo.example.com
     * as well as example.com. An SNI value must be a subset (i.e., fall
     * within the domain) of the corresponding virtual serivce's hosts.
     * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The count of sniHosts. */ public int getSniHostsCount() { return sniHosts_.size(); } /** *
     * SNI (server name indicator) to match on. Wildcard prefixes
     * can be used in the SNI value, e.g., *.com will match foo.example.com
     * as well as example.com. An SNI value must be a subset (i.e., fall
     * within the domain) of the corresponding virtual serivce's hosts.
     * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the element to return. * @return The sniHosts at the given index. */ public java.lang.String getSniHosts(int index) { return sniHosts_.get(index); } /** *
     * SNI (server name indicator) to match on. Wildcard prefixes
     * can be used in the SNI value, e.g., *.com will match foo.example.com
     * as well as example.com. An SNI value must be a subset (i.e., fall
     * within the domain) of the corresponding virtual serivce's hosts.
     * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the value to return. * @return The bytes of the sniHosts at the given index. */ public com.google.protobuf.ByteString getSniHostsBytes(int index) { return sniHosts_.getByteString(index); } public static final int DESTINATION_SUBNETS_FIELD_NUMBER = 2; private com.google.protobuf.LazyStringList destinationSubnets_; /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 2; * @return A list containing the destinationSubnets. */ public com.google.protobuf.ProtocolStringList getDestinationSubnetsList() { return destinationSubnets_; } /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 2; * @return The count of destinationSubnets. */ public int getDestinationSubnetsCount() { return destinationSubnets_.size(); } /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 2; * @param index The index of the element to return. * @return The destinationSubnets at the given index. */ public java.lang.String getDestinationSubnets(int index) { return destinationSubnets_.get(index); } /** *
     * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
     * a.b.c.d/xx form or just a.b.c.d.
     * 
* * repeated string destination_subnets = 2; * @param index The index of the value to return. * @return The bytes of the destinationSubnets at the given index. */ public com.google.protobuf.ByteString getDestinationSubnetsBytes(int index) { return destinationSubnets_.getByteString(index); } public static final int PORT_FIELD_NUMBER = 3; private int port_; /** *
     * Specifies the port on the host that is being addressed. Many services
     * only expose a single port or label ports with the protocols they
     * support, in these cases it is not required to explicitly select the
     * port.
     * 
* * uint32 port = 3; * @return The port. */ @java.lang.Override public int getPort() { return port_; } public static final int SOURCE_LABELS_FIELD_NUMBER = 5; private static final class SourceLabelsDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSMatchAttributes_SourceLabelsEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, ""); } private com.google.protobuf.MapField< java.lang.String, java.lang.String> sourceLabels_; private com.google.protobuf.MapField internalGetSourceLabels() { if (sourceLabels_ == null) { return com.google.protobuf.MapField.emptyMapField( SourceLabelsDefaultEntryHolder.defaultEntry); } return sourceLabels_; } public int getSourceLabelsCount() { return internalGetSourceLabels().getMap().size(); } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 5; */ @java.lang.Override public boolean containsSourceLabels( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetSourceLabels().getMap().containsKey(key); } /** * Use {@link #getSourceLabelsMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getSourceLabels() { return getSourceLabelsMap(); } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 5; */ @java.lang.Override public java.util.Map getSourceLabelsMap() { return internalGetSourceLabels().getMap(); } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 5; */ @java.lang.Override public java.lang.String getSourceLabelsOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
     * One or more labels that constrain the applicability of a rule to
     * workloads with the given labels. If the VirtualService has a list of
     * gateways specified in the top-level `gateways` field, it should include the reserved gateway
     * `mesh` in order for this field to be applicable.
     * 
* * map<string, string> source_labels = 5; */ @java.lang.Override public java.lang.String getSourceLabelsOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int GATEWAYS_FIELD_NUMBER = 6; private com.google.protobuf.LazyStringList gateways_; /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 6; * @return A list containing the gateways. */ public com.google.protobuf.ProtocolStringList getGatewaysList() { return gateways_; } /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 6; * @return The count of gateways. */ public int getGatewaysCount() { return gateways_.size(); } /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 6; * @param index The index of the element to return. * @return The gateways at the given index. */ public java.lang.String getGateways(int index) { return gateways_.get(index); } /** *
     * Names of gateways where the rule should be applied. Gateway names
     * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
     * match is independent of sourceLabels.
     * 
* * repeated string gateways = 6; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ public com.google.protobuf.ByteString getGatewaysBytes(int index) { return gateways_.getByteString(index); } public static final int SOURCE_NAMESPACE_FIELD_NUMBER = 7; private volatile java.lang.Object sourceNamespace_; /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 7; * @return The sourceNamespace. */ @java.lang.Override public java.lang.String getSourceNamespace() { java.lang.Object ref = sourceNamespace_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sourceNamespace_ = s; return s; } } /** *
     * Source namespace constraining the applicability of a rule to workloads in that namespace.
     * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
     * it must include the reserved gateway `mesh` for this field to be applicable.
     * 
* * string source_namespace = 7; * @return The bytes for sourceNamespace. */ @java.lang.Override public com.google.protobuf.ByteString getSourceNamespaceBytes() { java.lang.Object ref = sourceNamespace_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); sourceNamespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < sniHosts_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, sniHosts_.getRaw(i)); } for (int i = 0; i < destinationSubnets_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, destinationSubnets_.getRaw(i)); } if (port_ != 0) { output.writeUInt32(3, port_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetSourceLabels(), SourceLabelsDefaultEntryHolder.defaultEntry, 5); for (int i = 0; i < gateways_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 6, gateways_.getRaw(i)); } if (!getSourceNamespaceBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 7, sourceNamespace_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; { int dataSize = 0; for (int i = 0; i < sniHosts_.size(); i++) { dataSize += computeStringSizeNoTag(sniHosts_.getRaw(i)); } size += dataSize; size += 1 * getSniHostsList().size(); } { int dataSize = 0; for (int i = 0; i < destinationSubnets_.size(); i++) { dataSize += computeStringSizeNoTag(destinationSubnets_.getRaw(i)); } size += dataSize; size += 1 * getDestinationSubnetsList().size(); } if (port_ != 0) { size += com.google.protobuf.CodedOutputStream .computeUInt32Size(3, port_); } for (java.util.Map.Entry entry : internalGetSourceLabels().getMap().entrySet()) { com.google.protobuf.MapEntry sourceLabels__ = SourceLabelsDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, sourceLabels__); } { int dataSize = 0; for (int i = 0; i < gateways_.size(); i++) { dataSize += computeStringSizeNoTag(gateways_.getRaw(i)); } size += dataSize; size += 1 * getGatewaysList().size(); } if (!getSourceNamespaceBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, sourceNamespace_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes other = (istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes) obj; if (!getSniHostsList() .equals(other.getSniHostsList())) return false; if (!getDestinationSubnetsList() .equals(other.getDestinationSubnetsList())) return false; if (getPort() != other.getPort()) return false; if (!internalGetSourceLabels().equals( other.internalGetSourceLabels())) return false; if (!getGatewaysList() .equals(other.getGatewaysList())) return false; if (!getSourceNamespace() .equals(other.getSourceNamespace())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getSniHostsCount() > 0) { hash = (37 * hash) + SNI_HOSTS_FIELD_NUMBER; hash = (53 * hash) + getSniHostsList().hashCode(); } if (getDestinationSubnetsCount() > 0) { hash = (37 * hash) + DESTINATION_SUBNETS_FIELD_NUMBER; hash = (53 * hash) + getDestinationSubnetsList().hashCode(); } hash = (37 * hash) + PORT_FIELD_NUMBER; hash = (53 * hash) + getPort(); if (!internalGetSourceLabels().getMap().isEmpty()) { hash = (37 * hash) + SOURCE_LABELS_FIELD_NUMBER; hash = (53 * hash) + internalGetSourceLabels().hashCode(); } if (getGatewaysCount() > 0) { hash = (37 * hash) + GATEWAYS_FIELD_NUMBER; hash = (53 * hash) + getGatewaysList().hashCode(); } hash = (37 * hash) + SOURCE_NAMESPACE_FIELD_NUMBER; hash = (53 * hash) + getSourceNamespace().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * TLS connection match attributes.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.TLSMatchAttributes} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.TLSMatchAttributes) istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributesOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSMatchAttributes_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 5: return internalGetSourceLabels(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { case 5: return internalGetMutableSourceLabels(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSMatchAttributes_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.class, istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); sniHosts_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); destinationSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000002); port_ = 0; internalGetMutableSourceLabels().clear(); gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000008); sourceNamespace_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_TLSMatchAttributes_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes build() { istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes result = new istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes(this); int from_bitField0_ = bitField0_; if (((bitField0_ & 0x00000001) != 0)) { sniHosts_ = sniHosts_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000001); } result.sniHosts_ = sniHosts_; if (((bitField0_ & 0x00000002) != 0)) { destinationSubnets_ = destinationSubnets_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000002); } result.destinationSubnets_ = destinationSubnets_; result.port_ = port_; result.sourceLabels_ = internalGetSourceLabels(); result.sourceLabels_.makeImmutable(); if (((bitField0_ & 0x00000008) != 0)) { gateways_ = gateways_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000008); } result.gateways_ = gateways_; result.sourceNamespace_ = sourceNamespace_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes.getDefaultInstance()) return this; if (!other.sniHosts_.isEmpty()) { if (sniHosts_.isEmpty()) { sniHosts_ = other.sniHosts_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureSniHostsIsMutable(); sniHosts_.addAll(other.sniHosts_); } onChanged(); } if (!other.destinationSubnets_.isEmpty()) { if (destinationSubnets_.isEmpty()) { destinationSubnets_ = other.destinationSubnets_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureDestinationSubnetsIsMutable(); destinationSubnets_.addAll(other.destinationSubnets_); } onChanged(); } if (other.getPort() != 0) { setPort(other.getPort()); } internalGetMutableSourceLabels().mergeFrom( other.internalGetSourceLabels()); if (!other.gateways_.isEmpty()) { if (gateways_.isEmpty()) { gateways_ = other.gateways_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureGatewaysIsMutable(); gateways_.addAll(other.gateways_); } onChanged(); } if (!other.getSourceNamespace().isEmpty()) { sourceNamespace_ = other.sourceNamespace_; onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private com.google.protobuf.LazyStringList sniHosts_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureSniHostsIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { sniHosts_ = new com.google.protobuf.LazyStringArrayList(sniHosts_); bitField0_ |= 0x00000001; } } /** *
       * SNI (server name indicator) to match on. Wildcard prefixes
       * can be used in the SNI value, e.g., *.com will match foo.example.com
       * as well as example.com. An SNI value must be a subset (i.e., fall
       * within the domain) of the corresponding virtual serivce's hosts.
       * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return A list containing the sniHosts. */ public com.google.protobuf.ProtocolStringList getSniHostsList() { return sniHosts_.getUnmodifiableView(); } /** *
       * SNI (server name indicator) to match on. Wildcard prefixes
       * can be used in the SNI value, e.g., *.com will match foo.example.com
       * as well as example.com. An SNI value must be a subset (i.e., fall
       * within the domain) of the corresponding virtual serivce's hosts.
       * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The count of sniHosts. */ public int getSniHostsCount() { return sniHosts_.size(); } /** *
       * SNI (server name indicator) to match on. Wildcard prefixes
       * can be used in the SNI value, e.g., *.com will match foo.example.com
       * as well as example.com. An SNI value must be a subset (i.e., fall
       * within the domain) of the corresponding virtual serivce's hosts.
       * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the element to return. * @return The sniHosts at the given index. */ public java.lang.String getSniHosts(int index) { return sniHosts_.get(index); } /** *
       * SNI (server name indicator) to match on. Wildcard prefixes
       * can be used in the SNI value, e.g., *.com will match foo.example.com
       * as well as example.com. An SNI value must be a subset (i.e., fall
       * within the domain) of the corresponding virtual serivce's hosts.
       * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param index The index of the value to return. * @return The bytes of the sniHosts at the given index. */ public com.google.protobuf.ByteString getSniHostsBytes(int index) { return sniHosts_.getByteString(index); } /** *
       * SNI (server name indicator) to match on. Wildcard prefixes
       * can be used in the SNI value, e.g., *.com will match foo.example.com
       * as well as example.com. An SNI value must be a subset (i.e., fall
       * within the domain) of the corresponding virtual serivce's hosts.
       * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param index The index to set the value at. * @param value The sniHosts to set. * @return This builder for chaining. */ public Builder setSniHosts( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSniHostsIsMutable(); sniHosts_.set(index, value); onChanged(); return this; } /** *
       * SNI (server name indicator) to match on. Wildcard prefixes
       * can be used in the SNI value, e.g., *.com will match foo.example.com
       * as well as example.com. An SNI value must be a subset (i.e., fall
       * within the domain) of the corresponding virtual serivce's hosts.
       * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param value The sniHosts to add. * @return This builder for chaining. */ public Builder addSniHosts( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSniHostsIsMutable(); sniHosts_.add(value); onChanged(); return this; } /** *
       * SNI (server name indicator) to match on. Wildcard prefixes
       * can be used in the SNI value, e.g., *.com will match foo.example.com
       * as well as example.com. An SNI value must be a subset (i.e., fall
       * within the domain) of the corresponding virtual serivce's hosts.
       * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param values The sniHosts to add. * @return This builder for chaining. */ public Builder addAllSniHosts( java.lang.Iterable values) { ensureSniHostsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, sniHosts_); onChanged(); return this; } /** *
       * SNI (server name indicator) to match on. Wildcard prefixes
       * can be used in the SNI value, e.g., *.com will match foo.example.com
       * as well as example.com. An SNI value must be a subset (i.e., fall
       * within the domain) of the corresponding virtual serivce's hosts.
       * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return This builder for chaining. */ public Builder clearSniHosts() { sniHosts_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
       * SNI (server name indicator) to match on. Wildcard prefixes
       * can be used in the SNI value, e.g., *.com will match foo.example.com
       * as well as example.com. An SNI value must be a subset (i.e., fall
       * within the domain) of the corresponding virtual serivce's hosts.
       * 
* * repeated string sni_hosts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param value The bytes of the sniHosts to add. * @return This builder for chaining. */ public Builder addSniHostsBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureSniHostsIsMutable(); sniHosts_.add(value); onChanged(); return this; } private com.google.protobuf.LazyStringList destinationSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureDestinationSubnetsIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { destinationSubnets_ = new com.google.protobuf.LazyStringArrayList(destinationSubnets_); bitField0_ |= 0x00000002; } } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 2; * @return A list containing the destinationSubnets. */ public com.google.protobuf.ProtocolStringList getDestinationSubnetsList() { return destinationSubnets_.getUnmodifiableView(); } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 2; * @return The count of destinationSubnets. */ public int getDestinationSubnetsCount() { return destinationSubnets_.size(); } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 2; * @param index The index of the element to return. * @return The destinationSubnets at the given index. */ public java.lang.String getDestinationSubnets(int index) { return destinationSubnets_.get(index); } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 2; * @param index The index of the value to return. * @return The bytes of the destinationSubnets at the given index. */ public com.google.protobuf.ByteString getDestinationSubnetsBytes(int index) { return destinationSubnets_.getByteString(index); } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 2; * @param index The index to set the value at. * @param value The destinationSubnets to set. * @return This builder for chaining. */ public Builder setDestinationSubnets( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureDestinationSubnetsIsMutable(); destinationSubnets_.set(index, value); onChanged(); return this; } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 2; * @param value The destinationSubnets to add. * @return This builder for chaining. */ public Builder addDestinationSubnets( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureDestinationSubnetsIsMutable(); destinationSubnets_.add(value); onChanged(); return this; } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 2; * @param values The destinationSubnets to add. * @return This builder for chaining. */ public Builder addAllDestinationSubnets( java.lang.Iterable values) { ensureDestinationSubnetsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, destinationSubnets_); onChanged(); return this; } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 2; * @return This builder for chaining. */ public Builder clearDestinationSubnets() { destinationSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** *
       * IPv4 or IPv6 ip addresses of destination with optional subnet.  E.g.,
       * a.b.c.d/xx form or just a.b.c.d.
       * 
* * repeated string destination_subnets = 2; * @param value The bytes of the destinationSubnets to add. * @return This builder for chaining. */ public Builder addDestinationSubnetsBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureDestinationSubnetsIsMutable(); destinationSubnets_.add(value); onChanged(); return this; } private int port_ ; /** *
       * Specifies the port on the host that is being addressed. Many services
       * only expose a single port or label ports with the protocols they
       * support, in these cases it is not required to explicitly select the
       * port.
       * 
* * uint32 port = 3; * @return The port. */ @java.lang.Override public int getPort() { return port_; } /** *
       * Specifies the port on the host that is being addressed. Many services
       * only expose a single port or label ports with the protocols they
       * support, in these cases it is not required to explicitly select the
       * port.
       * 
* * uint32 port = 3; * @param value The port to set. * @return This builder for chaining. */ public Builder setPort(int value) { port_ = value; onChanged(); return this; } /** *
       * Specifies the port on the host that is being addressed. Many services
       * only expose a single port or label ports with the protocols they
       * support, in these cases it is not required to explicitly select the
       * port.
       * 
* * uint32 port = 3; * @return This builder for chaining. */ public Builder clearPort() { port_ = 0; onChanged(); return this; } private com.google.protobuf.MapField< java.lang.String, java.lang.String> sourceLabels_; private com.google.protobuf.MapField internalGetSourceLabels() { if (sourceLabels_ == null) { return com.google.protobuf.MapField.emptyMapField( SourceLabelsDefaultEntryHolder.defaultEntry); } return sourceLabels_; } private com.google.protobuf.MapField internalGetMutableSourceLabels() { onChanged();; if (sourceLabels_ == null) { sourceLabels_ = com.google.protobuf.MapField.newMapField( SourceLabelsDefaultEntryHolder.defaultEntry); } if (!sourceLabels_.isMutable()) { sourceLabels_ = sourceLabels_.copy(); } return sourceLabels_; } public int getSourceLabelsCount() { return internalGetSourceLabels().getMap().size(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 5; */ @java.lang.Override public boolean containsSourceLabels( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetSourceLabels().getMap().containsKey(key); } /** * Use {@link #getSourceLabelsMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getSourceLabels() { return getSourceLabelsMap(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 5; */ @java.lang.Override public java.util.Map getSourceLabelsMap() { return internalGetSourceLabels().getMap(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 5; */ @java.lang.Override public java.lang.String getSourceLabelsOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 5; */ @java.lang.Override public java.lang.String getSourceLabelsOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetSourceLabels().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearSourceLabels() { internalGetMutableSourceLabels().getMutableMap() .clear(); return this; } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 5; */ public Builder removeSourceLabels( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } internalGetMutableSourceLabels().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableSourceLabels() { return internalGetMutableSourceLabels().getMutableMap(); } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 5; */ public Builder putSourceLabels( java.lang.String key, java.lang.String value) { if (key == null) { throw new java.lang.NullPointerException(); } if (value == null) { throw new java.lang.NullPointerException(); } internalGetMutableSourceLabels().getMutableMap() .put(key, value); return this; } /** *
       * One or more labels that constrain the applicability of a rule to
       * workloads with the given labels. If the VirtualService has a list of
       * gateways specified in the top-level `gateways` field, it should include the reserved gateway
       * `mesh` in order for this field to be applicable.
       * 
* * map<string, string> source_labels = 5; */ public Builder putAllSourceLabels( java.util.Map values) { internalGetMutableSourceLabels().getMutableMap() .putAll(values); return this; } private com.google.protobuf.LazyStringList gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureGatewaysIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { gateways_ = new com.google.protobuf.LazyStringArrayList(gateways_); bitField0_ |= 0x00000008; } } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 6; * @return A list containing the gateways. */ public com.google.protobuf.ProtocolStringList getGatewaysList() { return gateways_.getUnmodifiableView(); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 6; * @return The count of gateways. */ public int getGatewaysCount() { return gateways_.size(); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 6; * @param index The index of the element to return. * @return The gateways at the given index. */ public java.lang.String getGateways(int index) { return gateways_.get(index); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 6; * @param index The index of the value to return. * @return The bytes of the gateways at the given index. */ public com.google.protobuf.ByteString getGatewaysBytes(int index) { return gateways_.getByteString(index); } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 6; * @param index The index to set the value at. * @param value The gateways to set. * @return This builder for chaining. */ public Builder setGateways( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureGatewaysIsMutable(); gateways_.set(index, value); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 6; * @param value The gateways to add. * @return This builder for chaining. */ public Builder addGateways( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureGatewaysIsMutable(); gateways_.add(value); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 6; * @param values The gateways to add. * @return This builder for chaining. */ public Builder addAllGateways( java.lang.Iterable values) { ensureGatewaysIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, gateways_); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 6; * @return This builder for chaining. */ public Builder clearGateways() { gateways_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000008); onChanged(); return this; } /** *
       * Names of gateways where the rule should be applied. Gateway names
       * in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
       * match is independent of sourceLabels.
       * 
* * repeated string gateways = 6; * @param value The bytes of the gateways to add. * @return This builder for chaining. */ public Builder addGatewaysBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureGatewaysIsMutable(); gateways_.add(value); onChanged(); return this; } private java.lang.Object sourceNamespace_ = ""; /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 7; * @return The sourceNamespace. */ public java.lang.String getSourceNamespace() { java.lang.Object ref = sourceNamespace_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sourceNamespace_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 7; * @return The bytes for sourceNamespace. */ public com.google.protobuf.ByteString getSourceNamespaceBytes() { java.lang.Object ref = sourceNamespace_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); sourceNamespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 7; * @param value The sourceNamespace to set. * @return This builder for chaining. */ public Builder setSourceNamespace( java.lang.String value) { if (value == null) { throw new NullPointerException(); } sourceNamespace_ = value; onChanged(); return this; } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 7; * @return This builder for chaining. */ public Builder clearSourceNamespace() { sourceNamespace_ = getDefaultInstance().getSourceNamespace(); onChanged(); return this; } /** *
       * Source namespace constraining the applicability of a rule to workloads in that namespace.
       * If the VirtualService has a list of gateways specified in the top-level `gateways` field,
       * it must include the reserved gateway `mesh` for this field to be applicable.
       * 
* * string source_namespace = 7; * @param value The bytes for sourceNamespace to set. * @return This builder for chaining. */ public Builder setSourceNamespaceBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); sourceNamespace_ = value; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.TLSMatchAttributes) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.TLSMatchAttributes) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public TLSMatchAttributes parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new TLSMatchAttributes(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.TLSMatchAttributes getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface HTTPRedirectOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.HTTPRedirect) com.google.protobuf.MessageOrBuilder { /** *
     * On a redirect, overwrite the Path portion of the URL with this
     * value. Note that the entire path will be replaced, irrespective of the
     * request URI being matched as an exact path or prefix.
     * 
* * string uri = 1; * @return The uri. */ java.lang.String getUri(); /** *
     * On a redirect, overwrite the Path portion of the URL with this
     * value. Note that the entire path will be replaced, irrespective of the
     * request URI being matched as an exact path or prefix.
     * 
* * string uri = 1; * @return The bytes for uri. */ com.google.protobuf.ByteString getUriBytes(); /** *
     * On a redirect, overwrite the Authority/Host portion of the URL with
     * this value.
     * 
* * string authority = 2; * @return The authority. */ java.lang.String getAuthority(); /** *
     * On a redirect, overwrite the Authority/Host portion of the URL with
     * this value.
     * 
* * string authority = 2; * @return The bytes for authority. */ com.google.protobuf.ByteString getAuthorityBytes(); /** *
     * On a redirect, Specifies the HTTP status code to use in the redirect
     * response. The default response code is MOVED_PERMANENTLY (301).
     * 
* * uint32 redirect_code = 3; * @return The redirectCode. */ int getRedirectCode(); } /** *
   * HTTPRedirect can be used to send a 301 redirect response to the caller,
   * where the Authority/Host and the URI in the response can be swapped with
   * the specified values. For example, the following rule redirects
   * requests for /v1/getProductRatings API on the ratings service to
   * /v1/bookRatings provided by the bookratings service.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - match:
   *     - uri:
   *         exact: /v1/getProductRatings
   *     redirect:
   *       uri: /v1/bookRatings
   *       authority: newratings.default.svc.cluster.local
   *   ...
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - match:
   *     - uri:
   *         exact: /v1/getProductRatings
   *     redirect:
   *       uri: /v1/bookRatings
   *       authority: newratings.default.svc.cluster.local
   *   ...
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRedirect} */ public static final class HTTPRedirect extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.HTTPRedirect) HTTPRedirectOrBuilder { private static final long serialVersionUID = 0L; // Use HTTPRedirect.newBuilder() to construct. private HTTPRedirect(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private HTTPRedirect() { uri_ = ""; authority_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HTTPRedirect(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private HTTPRedirect( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); uri_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); authority_ = s; break; } case 24: { redirectCode_ = input.readUInt32(); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRedirect_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRedirect_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.Builder.class); } public static final int URI_FIELD_NUMBER = 1; private volatile java.lang.Object uri_; /** *
     * On a redirect, overwrite the Path portion of the URL with this
     * value. Note that the entire path will be replaced, irrespective of the
     * request URI being matched as an exact path or prefix.
     * 
* * string uri = 1; * @return The uri. */ @java.lang.Override public java.lang.String getUri() { java.lang.Object ref = uri_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); uri_ = s; return s; } } /** *
     * On a redirect, overwrite the Path portion of the URL with this
     * value. Note that the entire path will be replaced, irrespective of the
     * request URI being matched as an exact path or prefix.
     * 
* * string uri = 1; * @return The bytes for uri. */ @java.lang.Override public com.google.protobuf.ByteString getUriBytes() { java.lang.Object ref = uri_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); uri_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int AUTHORITY_FIELD_NUMBER = 2; private volatile java.lang.Object authority_; /** *
     * On a redirect, overwrite the Authority/Host portion of the URL with
     * this value.
     * 
* * string authority = 2; * @return The authority. */ @java.lang.Override public java.lang.String getAuthority() { java.lang.Object ref = authority_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); authority_ = s; return s; } } /** *
     * On a redirect, overwrite the Authority/Host portion of the URL with
     * this value.
     * 
* * string authority = 2; * @return The bytes for authority. */ @java.lang.Override public com.google.protobuf.ByteString getAuthorityBytes() { java.lang.Object ref = authority_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); authority_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int REDIRECT_CODE_FIELD_NUMBER = 3; private int redirectCode_; /** *
     * On a redirect, Specifies the HTTP status code to use in the redirect
     * response. The default response code is MOVED_PERMANENTLY (301).
     * 
* * uint32 redirect_code = 3; * @return The redirectCode. */ @java.lang.Override public int getRedirectCode() { return redirectCode_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!getUriBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uri_); } if (!getAuthorityBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, authority_); } if (redirectCode_ != 0) { output.writeUInt32(3, redirectCode_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getUriBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uri_); } if (!getAuthorityBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, authority_); } if (redirectCode_ != 0) { size += com.google.protobuf.CodedOutputStream .computeUInt32Size(3, redirectCode_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect other = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect) obj; if (!getUri() .equals(other.getUri())) return false; if (!getAuthority() .equals(other.getAuthority())) return false; if (getRedirectCode() != other.getRedirectCode()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + URI_FIELD_NUMBER; hash = (53 * hash) + getUri().hashCode(); hash = (37 * hash) + AUTHORITY_FIELD_NUMBER; hash = (53 * hash) + getAuthority().hashCode(); hash = (37 * hash) + REDIRECT_CODE_FIELD_NUMBER; hash = (53 * hash) + getRedirectCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * HTTPRedirect can be used to send a 301 redirect response to the caller,
     * where the Authority/Host and the URI in the response can be swapped with
     * the specified values. For example, the following rule redirects
     * requests for /v1/getProductRatings API on the ratings service to
     * /v1/bookRatings provided by the bookratings service.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - match:
     *     - uri:
     *         exact: /v1/getProductRatings
     *     redirect:
     *       uri: /v1/bookRatings
     *       authority: newratings.default.svc.cluster.local
     *   ...
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - match:
     *     - uri:
     *         exact: /v1/getProductRatings
     *     redirect:
     *       uri: /v1/bookRatings
     *       authority: newratings.default.svc.cluster.local
     *   ...
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRedirect} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.HTTPRedirect) istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirectOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRedirect_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRedirect_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); uri_ = ""; authority_ = ""; redirectCode_ = 0; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRedirect_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect build() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect result = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect(this); result.uri_ = uri_; result.authority_ = authority_; result.redirectCode_ = redirectCode_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect.getDefaultInstance()) return this; if (!other.getUri().isEmpty()) { uri_ = other.uri_; onChanged(); } if (!other.getAuthority().isEmpty()) { authority_ = other.authority_; onChanged(); } if (other.getRedirectCode() != 0) { setRedirectCode(other.getRedirectCode()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private java.lang.Object uri_ = ""; /** *
       * On a redirect, overwrite the Path portion of the URL with this
       * value. Note that the entire path will be replaced, irrespective of the
       * request URI being matched as an exact path or prefix.
       * 
* * string uri = 1; * @return The uri. */ public java.lang.String getUri() { java.lang.Object ref = uri_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); uri_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * On a redirect, overwrite the Path portion of the URL with this
       * value. Note that the entire path will be replaced, irrespective of the
       * request URI being matched as an exact path or prefix.
       * 
* * string uri = 1; * @return The bytes for uri. */ public com.google.protobuf.ByteString getUriBytes() { java.lang.Object ref = uri_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); uri_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * On a redirect, overwrite the Path portion of the URL with this
       * value. Note that the entire path will be replaced, irrespective of the
       * request URI being matched as an exact path or prefix.
       * 
* * string uri = 1; * @param value The uri to set. * @return This builder for chaining. */ public Builder setUri( java.lang.String value) { if (value == null) { throw new NullPointerException(); } uri_ = value; onChanged(); return this; } /** *
       * On a redirect, overwrite the Path portion of the URL with this
       * value. Note that the entire path will be replaced, irrespective of the
       * request URI being matched as an exact path or prefix.
       * 
* * string uri = 1; * @return This builder for chaining. */ public Builder clearUri() { uri_ = getDefaultInstance().getUri(); onChanged(); return this; } /** *
       * On a redirect, overwrite the Path portion of the URL with this
       * value. Note that the entire path will be replaced, irrespective of the
       * request URI being matched as an exact path or prefix.
       * 
* * string uri = 1; * @param value The bytes for uri to set. * @return This builder for chaining. */ public Builder setUriBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); uri_ = value; onChanged(); return this; } private java.lang.Object authority_ = ""; /** *
       * On a redirect, overwrite the Authority/Host portion of the URL with
       * this value.
       * 
* * string authority = 2; * @return The authority. */ public java.lang.String getAuthority() { java.lang.Object ref = authority_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); authority_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * On a redirect, overwrite the Authority/Host portion of the URL with
       * this value.
       * 
* * string authority = 2; * @return The bytes for authority. */ public com.google.protobuf.ByteString getAuthorityBytes() { java.lang.Object ref = authority_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); authority_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * On a redirect, overwrite the Authority/Host portion of the URL with
       * this value.
       * 
* * string authority = 2; * @param value The authority to set. * @return This builder for chaining. */ public Builder setAuthority( java.lang.String value) { if (value == null) { throw new NullPointerException(); } authority_ = value; onChanged(); return this; } /** *
       * On a redirect, overwrite the Authority/Host portion of the URL with
       * this value.
       * 
* * string authority = 2; * @return This builder for chaining. */ public Builder clearAuthority() { authority_ = getDefaultInstance().getAuthority(); onChanged(); return this; } /** *
       * On a redirect, overwrite the Authority/Host portion of the URL with
       * this value.
       * 
* * string authority = 2; * @param value The bytes for authority to set. * @return This builder for chaining. */ public Builder setAuthorityBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); authority_ = value; onChanged(); return this; } private int redirectCode_ ; /** *
       * On a redirect, Specifies the HTTP status code to use in the redirect
       * response. The default response code is MOVED_PERMANENTLY (301).
       * 
* * uint32 redirect_code = 3; * @return The redirectCode. */ @java.lang.Override public int getRedirectCode() { return redirectCode_; } /** *
       * On a redirect, Specifies the HTTP status code to use in the redirect
       * response. The default response code is MOVED_PERMANENTLY (301).
       * 
* * uint32 redirect_code = 3; * @param value The redirectCode to set. * @return This builder for chaining. */ public Builder setRedirectCode(int value) { redirectCode_ = value; onChanged(); return this; } /** *
       * On a redirect, Specifies the HTTP status code to use in the redirect
       * response. The default response code is MOVED_PERMANENTLY (301).
       * 
* * uint32 redirect_code = 3; * @return This builder for chaining. */ public Builder clearRedirectCode() { redirectCode_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.HTTPRedirect) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.HTTPRedirect) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HTTPRedirect parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new HTTPRedirect(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRedirect getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface HTTPRewriteOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.HTTPRewrite) com.google.protobuf.MessageOrBuilder { /** *
     * rewrite the path (or the prefix) portion of the URI with this
     * value. If the original URI was matched based on prefix, the value
     * provided in this field will replace the corresponding matched prefix.
     * 
* * string uri = 1; * @return The uri. */ java.lang.String getUri(); /** *
     * rewrite the path (or the prefix) portion of the URI with this
     * value. If the original URI was matched based on prefix, the value
     * provided in this field will replace the corresponding matched prefix.
     * 
* * string uri = 1; * @return The bytes for uri. */ com.google.protobuf.ByteString getUriBytes(); /** *
     * rewrite the Authority/Host header with this value.
     * 
* * string authority = 2; * @return The authority. */ java.lang.String getAuthority(); /** *
     * rewrite the Authority/Host header with this value.
     * 
* * string authority = 2; * @return The bytes for authority. */ com.google.protobuf.ByteString getAuthorityBytes(); } /** *
   * HTTPRewrite can be used to rewrite specific parts of a HTTP request
   * before forwarding the request to the destination. Rewrite primitive can
   * be used only with HTTPRouteDestination. The following example
   * demonstrates how to rewrite the URL prefix for api call (/ratings) to
   * ratings service before making the actual API call.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - match:
   *     - uri:
   *         prefix: /ratings
   *     rewrite:
   *       uri: /v1/bookRatings
   *     route:
   *     - destination:
   *         host: ratings.prod.svc.cluster.local
   *         subset: v1
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - match:
   *     - uri:
   *         prefix: /ratings
   *     rewrite:
   *       uri: /v1/bookRatings
   *     route:
   *     - destination:
   *         host: ratings.prod.svc.cluster.local
   *         subset: v1
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRewrite} */ public static final class HTTPRewrite extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.HTTPRewrite) HTTPRewriteOrBuilder { private static final long serialVersionUID = 0L; // Use HTTPRewrite.newBuilder() to construct. private HTTPRewrite(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private HTTPRewrite() { uri_ = ""; authority_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HTTPRewrite(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private HTTPRewrite( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); uri_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); authority_ = s; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRewrite_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRewrite_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.Builder.class); } public static final int URI_FIELD_NUMBER = 1; private volatile java.lang.Object uri_; /** *
     * rewrite the path (or the prefix) portion of the URI with this
     * value. If the original URI was matched based on prefix, the value
     * provided in this field will replace the corresponding matched prefix.
     * 
* * string uri = 1; * @return The uri. */ @java.lang.Override public java.lang.String getUri() { java.lang.Object ref = uri_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); uri_ = s; return s; } } /** *
     * rewrite the path (or the prefix) portion of the URI with this
     * value. If the original URI was matched based on prefix, the value
     * provided in this field will replace the corresponding matched prefix.
     * 
* * string uri = 1; * @return The bytes for uri. */ @java.lang.Override public com.google.protobuf.ByteString getUriBytes() { java.lang.Object ref = uri_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); uri_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int AUTHORITY_FIELD_NUMBER = 2; private volatile java.lang.Object authority_; /** *
     * rewrite the Authority/Host header with this value.
     * 
* * string authority = 2; * @return The authority. */ @java.lang.Override public java.lang.String getAuthority() { java.lang.Object ref = authority_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); authority_ = s; return s; } } /** *
     * rewrite the Authority/Host header with this value.
     * 
* * string authority = 2; * @return The bytes for authority. */ @java.lang.Override public com.google.protobuf.ByteString getAuthorityBytes() { java.lang.Object ref = authority_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); authority_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!getUriBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uri_); } if (!getAuthorityBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, authority_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getUriBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uri_); } if (!getAuthorityBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, authority_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite other = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite) obj; if (!getUri() .equals(other.getUri())) return false; if (!getAuthority() .equals(other.getAuthority())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + URI_FIELD_NUMBER; hash = (53 * hash) + getUri().hashCode(); hash = (37 * hash) + AUTHORITY_FIELD_NUMBER; hash = (53 * hash) + getAuthority().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * HTTPRewrite can be used to rewrite specific parts of a HTTP request
     * before forwarding the request to the destination. Rewrite primitive can
     * be used only with HTTPRouteDestination. The following example
     * demonstrates how to rewrite the URL prefix for api call (/ratings) to
     * ratings service before making the actual API call.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - match:
     *     - uri:
     *         prefix: /ratings
     *     rewrite:
     *       uri: /v1/bookRatings
     *     route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     *         subset: v1
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - match:
     *     - uri:
     *         prefix: /ratings
     *     rewrite:
     *       uri: /v1/bookRatings
     *     route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     *         subset: v1
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRewrite} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.HTTPRewrite) istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewriteOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRewrite_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRewrite_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); uri_ = ""; authority_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRewrite_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite build() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite result = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite(this); result.uri_ = uri_; result.authority_ = authority_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite.getDefaultInstance()) return this; if (!other.getUri().isEmpty()) { uri_ = other.uri_; onChanged(); } if (!other.getAuthority().isEmpty()) { authority_ = other.authority_; onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private java.lang.Object uri_ = ""; /** *
       * rewrite the path (or the prefix) portion of the URI with this
       * value. If the original URI was matched based on prefix, the value
       * provided in this field will replace the corresponding matched prefix.
       * 
* * string uri = 1; * @return The uri. */ public java.lang.String getUri() { java.lang.Object ref = uri_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); uri_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * rewrite the path (or the prefix) portion of the URI with this
       * value. If the original URI was matched based on prefix, the value
       * provided in this field will replace the corresponding matched prefix.
       * 
* * string uri = 1; * @return The bytes for uri. */ public com.google.protobuf.ByteString getUriBytes() { java.lang.Object ref = uri_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); uri_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * rewrite the path (or the prefix) portion of the URI with this
       * value. If the original URI was matched based on prefix, the value
       * provided in this field will replace the corresponding matched prefix.
       * 
* * string uri = 1; * @param value The uri to set. * @return This builder for chaining. */ public Builder setUri( java.lang.String value) { if (value == null) { throw new NullPointerException(); } uri_ = value; onChanged(); return this; } /** *
       * rewrite the path (or the prefix) portion of the URI with this
       * value. If the original URI was matched based on prefix, the value
       * provided in this field will replace the corresponding matched prefix.
       * 
* * string uri = 1; * @return This builder for chaining. */ public Builder clearUri() { uri_ = getDefaultInstance().getUri(); onChanged(); return this; } /** *
       * rewrite the path (or the prefix) portion of the URI with this
       * value. If the original URI was matched based on prefix, the value
       * provided in this field will replace the corresponding matched prefix.
       * 
* * string uri = 1; * @param value The bytes for uri to set. * @return This builder for chaining. */ public Builder setUriBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); uri_ = value; onChanged(); return this; } private java.lang.Object authority_ = ""; /** *
       * rewrite the Authority/Host header with this value.
       * 
* * string authority = 2; * @return The authority. */ public java.lang.String getAuthority() { java.lang.Object ref = authority_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); authority_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * rewrite the Authority/Host header with this value.
       * 
* * string authority = 2; * @return The bytes for authority. */ public com.google.protobuf.ByteString getAuthorityBytes() { java.lang.Object ref = authority_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); authority_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * rewrite the Authority/Host header with this value.
       * 
* * string authority = 2; * @param value The authority to set. * @return This builder for chaining. */ public Builder setAuthority( java.lang.String value) { if (value == null) { throw new NullPointerException(); } authority_ = value; onChanged(); return this; } /** *
       * rewrite the Authority/Host header with this value.
       * 
* * string authority = 2; * @return This builder for chaining. */ public Builder clearAuthority() { authority_ = getDefaultInstance().getAuthority(); onChanged(); return this; } /** *
       * rewrite the Authority/Host header with this value.
       * 
* * string authority = 2; * @param value The bytes for authority to set. * @return This builder for chaining. */ public Builder setAuthorityBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); authority_ = value; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.HTTPRewrite) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.HTTPRewrite) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HTTPRewrite parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new HTTPRewrite(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRewrite getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface StringMatchOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.StringMatch) com.google.protobuf.MessageOrBuilder { /** *
     * exact string match
     * 
* * string exact = 1; * @return Whether the exact field is set. */ boolean hasExact(); /** *
     * exact string match
     * 
* * string exact = 1; * @return The exact. */ java.lang.String getExact(); /** *
     * exact string match
     * 
* * string exact = 1; * @return The bytes for exact. */ com.google.protobuf.ByteString getExactBytes(); /** *
     * prefix-based match
     * 
* * string prefix = 2; * @return Whether the prefix field is set. */ boolean hasPrefix(); /** *
     * prefix-based match
     * 
* * string prefix = 2; * @return The prefix. */ java.lang.String getPrefix(); /** *
     * prefix-based match
     * 
* * string prefix = 2; * @return The bytes for prefix. */ com.google.protobuf.ByteString getPrefixBytes(); /** *
     * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
     * 
* * string regex = 3; * @return Whether the regex field is set. */ boolean hasRegex(); /** *
     * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
     * 
* * string regex = 3; * @return The regex. */ java.lang.String getRegex(); /** *
     * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
     * 
* * string regex = 3; * @return The bytes for regex. */ com.google.protobuf.ByteString getRegexBytes(); public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.MatchTypeCase getMatchTypeCase(); } /** *
   * Describes how to match a given string in HTTP headers. Match is
   * case-sensitive.
   * 
* * Protobuf type {@code istio.networking.v1alpha3.StringMatch} */ public static final class StringMatch extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.StringMatch) StringMatchOrBuilder { private static final long serialVersionUID = 0L; // Use StringMatch.newBuilder() to construct. private StringMatch(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private StringMatch() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new StringMatch(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private StringMatch( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); matchTypeCase_ = 1; matchType_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); matchTypeCase_ = 2; matchType_ = s; break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); matchTypeCase_ = 3; matchType_ = s; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_StringMatch_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_StringMatch_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.class, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder.class); } private int matchTypeCase_ = 0; private java.lang.Object matchType_; public enum MatchTypeCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { EXACT(1), PREFIX(2), REGEX(3), MATCHTYPE_NOT_SET(0); private final int value; private MatchTypeCase(int value) { this.value = value; } /** * @param value The number of the enum to look for. * @return The enum associated with the given number. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static MatchTypeCase valueOf(int value) { return forNumber(value); } public static MatchTypeCase forNumber(int value) { switch (value) { case 1: return EXACT; case 2: return PREFIX; case 3: return REGEX; case 0: return MATCHTYPE_NOT_SET; default: return null; } } public int getNumber() { return this.value; } }; public MatchTypeCase getMatchTypeCase() { return MatchTypeCase.forNumber( matchTypeCase_); } public static final int EXACT_FIELD_NUMBER = 1; /** *
     * exact string match
     * 
* * string exact = 1; * @return Whether the exact field is set. */ public boolean hasExact() { return matchTypeCase_ == 1; } /** *
     * exact string match
     * 
* * string exact = 1; * @return The exact. */ public java.lang.String getExact() { java.lang.Object ref = ""; if (matchTypeCase_ == 1) { ref = matchType_; } if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (matchTypeCase_ == 1) { matchType_ = s; } return s; } } /** *
     * exact string match
     * 
* * string exact = 1; * @return The bytes for exact. */ public com.google.protobuf.ByteString getExactBytes() { java.lang.Object ref = ""; if (matchTypeCase_ == 1) { ref = matchType_; } if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (matchTypeCase_ == 1) { matchType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int PREFIX_FIELD_NUMBER = 2; /** *
     * prefix-based match
     * 
* * string prefix = 2; * @return Whether the prefix field is set. */ public boolean hasPrefix() { return matchTypeCase_ == 2; } /** *
     * prefix-based match
     * 
* * string prefix = 2; * @return The prefix. */ public java.lang.String getPrefix() { java.lang.Object ref = ""; if (matchTypeCase_ == 2) { ref = matchType_; } if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (matchTypeCase_ == 2) { matchType_ = s; } return s; } } /** *
     * prefix-based match
     * 
* * string prefix = 2; * @return The bytes for prefix. */ public com.google.protobuf.ByteString getPrefixBytes() { java.lang.Object ref = ""; if (matchTypeCase_ == 2) { ref = matchType_; } if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (matchTypeCase_ == 2) { matchType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int REGEX_FIELD_NUMBER = 3; /** *
     * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
     * 
* * string regex = 3; * @return Whether the regex field is set. */ public boolean hasRegex() { return matchTypeCase_ == 3; } /** *
     * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
     * 
* * string regex = 3; * @return The regex. */ public java.lang.String getRegex() { java.lang.Object ref = ""; if (matchTypeCase_ == 3) { ref = matchType_; } if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (matchTypeCase_ == 3) { matchType_ = s; } return s; } } /** *
     * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
     * 
* * string regex = 3; * @return The bytes for regex. */ public com.google.protobuf.ByteString getRegexBytes() { java.lang.Object ref = ""; if (matchTypeCase_ == 3) { ref = matchType_; } if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (matchTypeCase_ == 3) { matchType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (matchTypeCase_ == 1) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, matchType_); } if (matchTypeCase_ == 2) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, matchType_); } if (matchTypeCase_ == 3) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, matchType_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (matchTypeCase_ == 1) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, matchType_); } if (matchTypeCase_ == 2) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, matchType_); } if (matchTypeCase_ == 3) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, matchType_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch other = (istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch) obj; if (!getMatchTypeCase().equals(other.getMatchTypeCase())) return false; switch (matchTypeCase_) { case 1: if (!getExact() .equals(other.getExact())) return false; break; case 2: if (!getPrefix() .equals(other.getPrefix())) return false; break; case 3: if (!getRegex() .equals(other.getRegex())) return false; break; case 0: default: } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); switch (matchTypeCase_) { case 1: hash = (37 * hash) + EXACT_FIELD_NUMBER; hash = (53 * hash) + getExact().hashCode(); break; case 2: hash = (37 * hash) + PREFIX_FIELD_NUMBER; hash = (53 * hash) + getPrefix().hashCode(); break; case 3: hash = (37 * hash) + REGEX_FIELD_NUMBER; hash = (53 * hash) + getRegex().hashCode(); break; case 0: default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Describes how to match a given string in HTTP headers. Match is
     * case-sensitive.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.StringMatch} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.StringMatch) istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_StringMatch_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_StringMatch_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.class, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); matchTypeCase_ = 0; matchType_ = null; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_StringMatch_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch build() { istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch result = new istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch(this); if (matchTypeCase_ == 1) { result.matchType_ = matchType_; } if (matchTypeCase_ == 2) { result.matchType_ = matchType_; } if (matchTypeCase_ == 3) { result.matchType_ = matchType_; } result.matchTypeCase_ = matchTypeCase_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance()) return this; switch (other.getMatchTypeCase()) { case EXACT: { matchTypeCase_ = 1; matchType_ = other.matchType_; onChanged(); break; } case PREFIX: { matchTypeCase_ = 2; matchType_ = other.matchType_; onChanged(); break; } case REGEX: { matchTypeCase_ = 3; matchType_ = other.matchType_; onChanged(); break; } case MATCHTYPE_NOT_SET: { break; } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int matchTypeCase_ = 0; private java.lang.Object matchType_; public MatchTypeCase getMatchTypeCase() { return MatchTypeCase.forNumber( matchTypeCase_); } public Builder clearMatchType() { matchTypeCase_ = 0; matchType_ = null; onChanged(); return this; } /** *
       * exact string match
       * 
* * string exact = 1; * @return Whether the exact field is set. */ @java.lang.Override public boolean hasExact() { return matchTypeCase_ == 1; } /** *
       * exact string match
       * 
* * string exact = 1; * @return The exact. */ @java.lang.Override public java.lang.String getExact() { java.lang.Object ref = ""; if (matchTypeCase_ == 1) { ref = matchType_; } if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (matchTypeCase_ == 1) { matchType_ = s; } return s; } else { return (java.lang.String) ref; } } /** *
       * exact string match
       * 
* * string exact = 1; * @return The bytes for exact. */ @java.lang.Override public com.google.protobuf.ByteString getExactBytes() { java.lang.Object ref = ""; if (matchTypeCase_ == 1) { ref = matchType_; } if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (matchTypeCase_ == 1) { matchType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * exact string match
       * 
* * string exact = 1; * @param value The exact to set. * @return This builder for chaining. */ public Builder setExact( java.lang.String value) { if (value == null) { throw new NullPointerException(); } matchTypeCase_ = 1; matchType_ = value; onChanged(); return this; } /** *
       * exact string match
       * 
* * string exact = 1; * @return This builder for chaining. */ public Builder clearExact() { if (matchTypeCase_ == 1) { matchTypeCase_ = 0; matchType_ = null; onChanged(); } return this; } /** *
       * exact string match
       * 
* * string exact = 1; * @param value The bytes for exact to set. * @return This builder for chaining. */ public Builder setExactBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); matchTypeCase_ = 1; matchType_ = value; onChanged(); return this; } /** *
       * prefix-based match
       * 
* * string prefix = 2; * @return Whether the prefix field is set. */ @java.lang.Override public boolean hasPrefix() { return matchTypeCase_ == 2; } /** *
       * prefix-based match
       * 
* * string prefix = 2; * @return The prefix. */ @java.lang.Override public java.lang.String getPrefix() { java.lang.Object ref = ""; if (matchTypeCase_ == 2) { ref = matchType_; } if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (matchTypeCase_ == 2) { matchType_ = s; } return s; } else { return (java.lang.String) ref; } } /** *
       * prefix-based match
       * 
* * string prefix = 2; * @return The bytes for prefix. */ @java.lang.Override public com.google.protobuf.ByteString getPrefixBytes() { java.lang.Object ref = ""; if (matchTypeCase_ == 2) { ref = matchType_; } if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (matchTypeCase_ == 2) { matchType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * prefix-based match
       * 
* * string prefix = 2; * @param value The prefix to set. * @return This builder for chaining. */ public Builder setPrefix( java.lang.String value) { if (value == null) { throw new NullPointerException(); } matchTypeCase_ = 2; matchType_ = value; onChanged(); return this; } /** *
       * prefix-based match
       * 
* * string prefix = 2; * @return This builder for chaining. */ public Builder clearPrefix() { if (matchTypeCase_ == 2) { matchTypeCase_ = 0; matchType_ = null; onChanged(); } return this; } /** *
       * prefix-based match
       * 
* * string prefix = 2; * @param value The bytes for prefix to set. * @return This builder for chaining. */ public Builder setPrefixBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); matchTypeCase_ = 2; matchType_ = value; onChanged(); return this; } /** *
       * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
       * 
* * string regex = 3; * @return Whether the regex field is set. */ @java.lang.Override public boolean hasRegex() { return matchTypeCase_ == 3; } /** *
       * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
       * 
* * string regex = 3; * @return The regex. */ @java.lang.Override public java.lang.String getRegex() { java.lang.Object ref = ""; if (matchTypeCase_ == 3) { ref = matchType_; } if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (matchTypeCase_ == 3) { matchType_ = s; } return s; } else { return (java.lang.String) ref; } } /** *
       * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
       * 
* * string regex = 3; * @return The bytes for regex. */ @java.lang.Override public com.google.protobuf.ByteString getRegexBytes() { java.lang.Object ref = ""; if (matchTypeCase_ == 3) { ref = matchType_; } if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (matchTypeCase_ == 3) { matchType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
       * 
* * string regex = 3; * @param value The regex to set. * @return This builder for chaining. */ public Builder setRegex( java.lang.String value) { if (value == null) { throw new NullPointerException(); } matchTypeCase_ = 3; matchType_ = value; onChanged(); return this; } /** *
       * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
       * 
* * string regex = 3; * @return This builder for chaining. */ public Builder clearRegex() { if (matchTypeCase_ == 3) { matchTypeCase_ = 0; matchType_ = null; onChanged(); } return this; } /** *
       * RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
       * 
* * string regex = 3; * @param value The bytes for regex to set. * @return This builder for chaining. */ public Builder setRegexBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); matchTypeCase_ = 3; matchType_ = value; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.StringMatch) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.StringMatch) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public StringMatch parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new StringMatch(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface HTTPRetryOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.HTTPRetry) com.google.protobuf.MessageOrBuilder { /** *
     * Number of retries to be allowed for a given request. The interval
     * between retries will be determined automatically (25ms+). When request 
     * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute) 
     * or `per_try_timeout` is configured, the actual number of retries attempted also depends on
     * the specified request `timeout` and `per_try_timeout` values.
     * 
* * int32 attempts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The attempts. */ int getAttempts(); /** *
     * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
     * Default is same value as request 
     * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
     * which means no timeout.
     * 
* * .google.protobuf.Duration per_try_timeout = 2; * @return Whether the perTryTimeout field is set. */ boolean hasPerTryTimeout(); /** *
     * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
     * Default is same value as request 
     * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
     * which means no timeout.
     * 
* * .google.protobuf.Duration per_try_timeout = 2; * @return The perTryTimeout. */ com.google.protobuf.Duration getPerTryTimeout(); /** *
     * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
     * Default is same value as request 
     * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
     * which means no timeout.
     * 
* * .google.protobuf.Duration per_try_timeout = 2; */ com.google.protobuf.DurationOrBuilder getPerTryTimeoutOrBuilder(); /** *
     * Specifies the conditions under which retry takes place.
     * One or more policies can be specified using a ‘,’ delimited list.
     * See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
     * and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
     * 
* * string retry_on = 3; * @return The retryOn. */ java.lang.String getRetryOn(); /** *
     * Specifies the conditions under which retry takes place.
     * One or more policies can be specified using a ‘,’ delimited list.
     * See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
     * and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
     * 
* * string retry_on = 3; * @return The bytes for retryOn. */ com.google.protobuf.ByteString getRetryOnBytes(); /** *
     * Flag to specify whether the retries should retry to other localities.
     * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
     * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; * @return Whether the retryRemoteLocalities field is set. */ boolean hasRetryRemoteLocalities(); /** *
     * Flag to specify whether the retries should retry to other localities.
     * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
     * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; * @return The retryRemoteLocalities. */ com.google.protobuf.BoolValue getRetryRemoteLocalities(); /** *
     * Flag to specify whether the retries should retry to other localities.
     * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
     * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; */ com.google.protobuf.BoolValueOrBuilder getRetryRemoteLocalitiesOrBuilder(); } /** *
   * Describes the retry policy to use when a HTTP request fails. For
   * example, the following rule sets the maximum number of retries to 3 when
   * calling ratings:v1 service, with a 2s timeout per retry attempt.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - route:
   *     - destination:
   *         host: ratings.prod.svc.cluster.local
   *         subset: v1
   *     retries:
   *       attempts: 3
   *       perTryTimeout: 2s
   *       retryOn: gateway-error,connect-failure,refused-stream
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - route:
   *     - destination:
   *         host: ratings.prod.svc.cluster.local
   *         subset: v1
   *     retries:
   *       attempts: 3
   *       perTryTimeout: 2s
   *       retryOn: gateway-error,connect-failure,refused-stream
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRetry} */ public static final class HTTPRetry extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.HTTPRetry) HTTPRetryOrBuilder { private static final long serialVersionUID = 0L; // Use HTTPRetry.newBuilder() to construct. private HTTPRetry(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private HTTPRetry() { retryOn_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HTTPRetry(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private HTTPRetry( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { attempts_ = input.readInt32(); break; } case 18: { com.google.protobuf.Duration.Builder subBuilder = null; if (perTryTimeout_ != null) { subBuilder = perTryTimeout_.toBuilder(); } perTryTimeout_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(perTryTimeout_); perTryTimeout_ = subBuilder.buildPartial(); } break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); retryOn_ = s; break; } case 34: { com.google.protobuf.BoolValue.Builder subBuilder = null; if (retryRemoteLocalities_ != null) { subBuilder = retryRemoteLocalities_.toBuilder(); } retryRemoteLocalities_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(retryRemoteLocalities_); retryRemoteLocalities_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRetry_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRetry_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.Builder.class); } public static final int ATTEMPTS_FIELD_NUMBER = 1; private int attempts_; /** *
     * Number of retries to be allowed for a given request. The interval
     * between retries will be determined automatically (25ms+). When request 
     * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute) 
     * or `per_try_timeout` is configured, the actual number of retries attempted also depends on
     * the specified request `timeout` and `per_try_timeout` values.
     * 
* * int32 attempts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The attempts. */ @java.lang.Override public int getAttempts() { return attempts_; } public static final int PER_TRY_TIMEOUT_FIELD_NUMBER = 2; private com.google.protobuf.Duration perTryTimeout_; /** *
     * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
     * Default is same value as request 
     * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
     * which means no timeout.
     * 
* * .google.protobuf.Duration per_try_timeout = 2; * @return Whether the perTryTimeout field is set. */ @java.lang.Override public boolean hasPerTryTimeout() { return perTryTimeout_ != null; } /** *
     * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
     * Default is same value as request 
     * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
     * which means no timeout.
     * 
* * .google.protobuf.Duration per_try_timeout = 2; * @return The perTryTimeout. */ @java.lang.Override public com.google.protobuf.Duration getPerTryTimeout() { return perTryTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : perTryTimeout_; } /** *
     * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
     * Default is same value as request 
     * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
     * which means no timeout.
     * 
* * .google.protobuf.Duration per_try_timeout = 2; */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getPerTryTimeoutOrBuilder() { return getPerTryTimeout(); } public static final int RETRY_ON_FIELD_NUMBER = 3; private volatile java.lang.Object retryOn_; /** *
     * Specifies the conditions under which retry takes place.
     * One or more policies can be specified using a ‘,’ delimited list.
     * See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
     * and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
     * 
* * string retry_on = 3; * @return The retryOn. */ @java.lang.Override public java.lang.String getRetryOn() { java.lang.Object ref = retryOn_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); retryOn_ = s; return s; } } /** *
     * Specifies the conditions under which retry takes place.
     * One or more policies can be specified using a ‘,’ delimited list.
     * See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
     * and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
     * 
* * string retry_on = 3; * @return The bytes for retryOn. */ @java.lang.Override public com.google.protobuf.ByteString getRetryOnBytes() { java.lang.Object ref = retryOn_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); retryOn_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int RETRY_REMOTE_LOCALITIES_FIELD_NUMBER = 4; private com.google.protobuf.BoolValue retryRemoteLocalities_; /** *
     * Flag to specify whether the retries should retry to other localities.
     * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
     * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; * @return Whether the retryRemoteLocalities field is set. */ @java.lang.Override public boolean hasRetryRemoteLocalities() { return retryRemoteLocalities_ != null; } /** *
     * Flag to specify whether the retries should retry to other localities.
     * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
     * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; * @return The retryRemoteLocalities. */ @java.lang.Override public com.google.protobuf.BoolValue getRetryRemoteLocalities() { return retryRemoteLocalities_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : retryRemoteLocalities_; } /** *
     * Flag to specify whether the retries should retry to other localities.
     * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
     * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; */ @java.lang.Override public com.google.protobuf.BoolValueOrBuilder getRetryRemoteLocalitiesOrBuilder() { return getRetryRemoteLocalities(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (attempts_ != 0) { output.writeInt32(1, attempts_); } if (perTryTimeout_ != null) { output.writeMessage(2, getPerTryTimeout()); } if (!getRetryOnBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, retryOn_); } if (retryRemoteLocalities_ != null) { output.writeMessage(4, getRetryRemoteLocalities()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (attempts_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(1, attempts_); } if (perTryTimeout_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getPerTryTimeout()); } if (!getRetryOnBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, retryOn_); } if (retryRemoteLocalities_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getRetryRemoteLocalities()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry other = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry) obj; if (getAttempts() != other.getAttempts()) return false; if (hasPerTryTimeout() != other.hasPerTryTimeout()) return false; if (hasPerTryTimeout()) { if (!getPerTryTimeout() .equals(other.getPerTryTimeout())) return false; } if (!getRetryOn() .equals(other.getRetryOn())) return false; if (hasRetryRemoteLocalities() != other.hasRetryRemoteLocalities()) return false; if (hasRetryRemoteLocalities()) { if (!getRetryRemoteLocalities() .equals(other.getRetryRemoteLocalities())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + ATTEMPTS_FIELD_NUMBER; hash = (53 * hash) + getAttempts(); if (hasPerTryTimeout()) { hash = (37 * hash) + PER_TRY_TIMEOUT_FIELD_NUMBER; hash = (53 * hash) + getPerTryTimeout().hashCode(); } hash = (37 * hash) + RETRY_ON_FIELD_NUMBER; hash = (53 * hash) + getRetryOn().hashCode(); if (hasRetryRemoteLocalities()) { hash = (37 * hash) + RETRY_REMOTE_LOCALITIES_FIELD_NUMBER; hash = (53 * hash) + getRetryRemoteLocalities().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Describes the retry policy to use when a HTTP request fails. For
     * example, the following rule sets the maximum number of retries to 3 when
     * calling ratings:v1 service, with a 2s timeout per retry attempt.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     *         subset: v1
     *     retries:
     *       attempts: 3
     *       perTryTimeout: 2s
     *       retryOn: gateway-error,connect-failure,refused-stream
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     *         subset: v1
     *     retries:
     *       attempts: 3
     *       perTryTimeout: 2s
     *       retryOn: gateway-error,connect-failure,refused-stream
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPRetry} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.HTTPRetry) istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetryOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRetry_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRetry_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); attempts_ = 0; if (perTryTimeoutBuilder_ == null) { perTryTimeout_ = null; } else { perTryTimeout_ = null; perTryTimeoutBuilder_ = null; } retryOn_ = ""; if (retryRemoteLocalitiesBuilder_ == null) { retryRemoteLocalities_ = null; } else { retryRemoteLocalities_ = null; retryRemoteLocalitiesBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPRetry_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry build() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry result = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry(this); result.attempts_ = attempts_; if (perTryTimeoutBuilder_ == null) { result.perTryTimeout_ = perTryTimeout_; } else { result.perTryTimeout_ = perTryTimeoutBuilder_.build(); } result.retryOn_ = retryOn_; if (retryRemoteLocalitiesBuilder_ == null) { result.retryRemoteLocalities_ = retryRemoteLocalities_; } else { result.retryRemoteLocalities_ = retryRemoteLocalitiesBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry.getDefaultInstance()) return this; if (other.getAttempts() != 0) { setAttempts(other.getAttempts()); } if (other.hasPerTryTimeout()) { mergePerTryTimeout(other.getPerTryTimeout()); } if (!other.getRetryOn().isEmpty()) { retryOn_ = other.retryOn_; onChanged(); } if (other.hasRetryRemoteLocalities()) { mergeRetryRemoteLocalities(other.getRetryRemoteLocalities()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int attempts_ ; /** *
       * Number of retries to be allowed for a given request. The interval
       * between retries will be determined automatically (25ms+). When request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute) 
       * or `per_try_timeout` is configured, the actual number of retries attempted also depends on
       * the specified request `timeout` and `per_try_timeout` values.
       * 
* * int32 attempts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return The attempts. */ @java.lang.Override public int getAttempts() { return attempts_; } /** *
       * Number of retries to be allowed for a given request. The interval
       * between retries will be determined automatically (25ms+). When request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute) 
       * or `per_try_timeout` is configured, the actual number of retries attempted also depends on
       * the specified request `timeout` and `per_try_timeout` values.
       * 
* * int32 attempts = 1 [(.google.api.field_behavior) = REQUIRED]; * @param value The attempts to set. * @return This builder for chaining. */ public Builder setAttempts(int value) { attempts_ = value; onChanged(); return this; } /** *
       * Number of retries to be allowed for a given request. The interval
       * between retries will be determined automatically (25ms+). When request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute) 
       * or `per_try_timeout` is configured, the actual number of retries attempted also depends on
       * the specified request `timeout` and `per_try_timeout` values.
       * 
* * int32 attempts = 1 [(.google.api.field_behavior) = REQUIRED]; * @return This builder for chaining. */ public Builder clearAttempts() { attempts_ = 0; onChanged(); return this; } private com.google.protobuf.Duration perTryTimeout_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> perTryTimeoutBuilder_; /** *
       * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
       * Default is same value as request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
       * which means no timeout.
       * 
* * .google.protobuf.Duration per_try_timeout = 2; * @return Whether the perTryTimeout field is set. */ public boolean hasPerTryTimeout() { return perTryTimeoutBuilder_ != null || perTryTimeout_ != null; } /** *
       * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
       * Default is same value as request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
       * which means no timeout.
       * 
* * .google.protobuf.Duration per_try_timeout = 2; * @return The perTryTimeout. */ public com.google.protobuf.Duration getPerTryTimeout() { if (perTryTimeoutBuilder_ == null) { return perTryTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : perTryTimeout_; } else { return perTryTimeoutBuilder_.getMessage(); } } /** *
       * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
       * Default is same value as request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
       * which means no timeout.
       * 
* * .google.protobuf.Duration per_try_timeout = 2; */ public Builder setPerTryTimeout(com.google.protobuf.Duration value) { if (perTryTimeoutBuilder_ == null) { if (value == null) { throw new NullPointerException(); } perTryTimeout_ = value; onChanged(); } else { perTryTimeoutBuilder_.setMessage(value); } return this; } /** *
       * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
       * Default is same value as request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
       * which means no timeout.
       * 
* * .google.protobuf.Duration per_try_timeout = 2; */ public Builder setPerTryTimeout( com.google.protobuf.Duration.Builder builderForValue) { if (perTryTimeoutBuilder_ == null) { perTryTimeout_ = builderForValue.build(); onChanged(); } else { perTryTimeoutBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
       * Default is same value as request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
       * which means no timeout.
       * 
* * .google.protobuf.Duration per_try_timeout = 2; */ public Builder mergePerTryTimeout(com.google.protobuf.Duration value) { if (perTryTimeoutBuilder_ == null) { if (perTryTimeout_ != null) { perTryTimeout_ = com.google.protobuf.Duration.newBuilder(perTryTimeout_).mergeFrom(value).buildPartial(); } else { perTryTimeout_ = value; } onChanged(); } else { perTryTimeoutBuilder_.mergeFrom(value); } return this; } /** *
       * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
       * Default is same value as request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
       * which means no timeout.
       * 
* * .google.protobuf.Duration per_try_timeout = 2; */ public Builder clearPerTryTimeout() { if (perTryTimeoutBuilder_ == null) { perTryTimeout_ = null; onChanged(); } else { perTryTimeout_ = null; perTryTimeoutBuilder_ = null; } return this; } /** *
       * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
       * Default is same value as request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
       * which means no timeout.
       * 
* * .google.protobuf.Duration per_try_timeout = 2; */ public com.google.protobuf.Duration.Builder getPerTryTimeoutBuilder() { onChanged(); return getPerTryTimeoutFieldBuilder().getBuilder(); } /** *
       * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
       * Default is same value as request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
       * which means no timeout.
       * 
* * .google.protobuf.Duration per_try_timeout = 2; */ public com.google.protobuf.DurationOrBuilder getPerTryTimeoutOrBuilder() { if (perTryTimeoutBuilder_ != null) { return perTryTimeoutBuilder_.getMessageOrBuilder(); } else { return perTryTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : perTryTimeout_; } } /** *
       * Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
       * Default is same value as request 
       * `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), 
       * which means no timeout.
       * 
* * .google.protobuf.Duration per_try_timeout = 2; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getPerTryTimeoutFieldBuilder() { if (perTryTimeoutBuilder_ == null) { perTryTimeoutBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getPerTryTimeout(), getParentForChildren(), isClean()); perTryTimeout_ = null; } return perTryTimeoutBuilder_; } private java.lang.Object retryOn_ = ""; /** *
       * Specifies the conditions under which retry takes place.
       * One or more policies can be specified using a ‘,’ delimited list.
       * See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
       * and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
       * 
* * string retry_on = 3; * @return The retryOn. */ public java.lang.String getRetryOn() { java.lang.Object ref = retryOn_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); retryOn_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * Specifies the conditions under which retry takes place.
       * One or more policies can be specified using a ‘,’ delimited list.
       * See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
       * and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
       * 
* * string retry_on = 3; * @return The bytes for retryOn. */ public com.google.protobuf.ByteString getRetryOnBytes() { java.lang.Object ref = retryOn_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); retryOn_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * Specifies the conditions under which retry takes place.
       * One or more policies can be specified using a ‘,’ delimited list.
       * See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
       * and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
       * 
* * string retry_on = 3; * @param value The retryOn to set. * @return This builder for chaining. */ public Builder setRetryOn( java.lang.String value) { if (value == null) { throw new NullPointerException(); } retryOn_ = value; onChanged(); return this; } /** *
       * Specifies the conditions under which retry takes place.
       * One or more policies can be specified using a ‘,’ delimited list.
       * See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
       * and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
       * 
* * string retry_on = 3; * @return This builder for chaining. */ public Builder clearRetryOn() { retryOn_ = getDefaultInstance().getRetryOn(); onChanged(); return this; } /** *
       * Specifies the conditions under which retry takes place.
       * One or more policies can be specified using a ‘,’ delimited list.
       * See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
       * and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
       * 
* * string retry_on = 3; * @param value The bytes for retryOn to set. * @return This builder for chaining. */ public Builder setRetryOnBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); retryOn_ = value; onChanged(); return this; } private com.google.protobuf.BoolValue retryRemoteLocalities_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> retryRemoteLocalitiesBuilder_; /** *
       * Flag to specify whether the retries should retry to other localities.
       * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
       * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; * @return Whether the retryRemoteLocalities field is set. */ public boolean hasRetryRemoteLocalities() { return retryRemoteLocalitiesBuilder_ != null || retryRemoteLocalities_ != null; } /** *
       * Flag to specify whether the retries should retry to other localities.
       * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
       * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; * @return The retryRemoteLocalities. */ public com.google.protobuf.BoolValue getRetryRemoteLocalities() { if (retryRemoteLocalitiesBuilder_ == null) { return retryRemoteLocalities_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : retryRemoteLocalities_; } else { return retryRemoteLocalitiesBuilder_.getMessage(); } } /** *
       * Flag to specify whether the retries should retry to other localities.
       * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
       * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; */ public Builder setRetryRemoteLocalities(com.google.protobuf.BoolValue value) { if (retryRemoteLocalitiesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } retryRemoteLocalities_ = value; onChanged(); } else { retryRemoteLocalitiesBuilder_.setMessage(value); } return this; } /** *
       * Flag to specify whether the retries should retry to other localities.
       * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
       * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; */ public Builder setRetryRemoteLocalities( com.google.protobuf.BoolValue.Builder builderForValue) { if (retryRemoteLocalitiesBuilder_ == null) { retryRemoteLocalities_ = builderForValue.build(); onChanged(); } else { retryRemoteLocalitiesBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Flag to specify whether the retries should retry to other localities.
       * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
       * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; */ public Builder mergeRetryRemoteLocalities(com.google.protobuf.BoolValue value) { if (retryRemoteLocalitiesBuilder_ == null) { if (retryRemoteLocalities_ != null) { retryRemoteLocalities_ = com.google.protobuf.BoolValue.newBuilder(retryRemoteLocalities_).mergeFrom(value).buildPartial(); } else { retryRemoteLocalities_ = value; } onChanged(); } else { retryRemoteLocalitiesBuilder_.mergeFrom(value); } return this; } /** *
       * Flag to specify whether the retries should retry to other localities.
       * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
       * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; */ public Builder clearRetryRemoteLocalities() { if (retryRemoteLocalitiesBuilder_ == null) { retryRemoteLocalities_ = null; onChanged(); } else { retryRemoteLocalities_ = null; retryRemoteLocalitiesBuilder_ = null; } return this; } /** *
       * Flag to specify whether the retries should retry to other localities.
       * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
       * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; */ public com.google.protobuf.BoolValue.Builder getRetryRemoteLocalitiesBuilder() { onChanged(); return getRetryRemoteLocalitiesFieldBuilder().getBuilder(); } /** *
       * Flag to specify whether the retries should retry to other localities.
       * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
       * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; */ public com.google.protobuf.BoolValueOrBuilder getRetryRemoteLocalitiesOrBuilder() { if (retryRemoteLocalitiesBuilder_ != null) { return retryRemoteLocalitiesBuilder_.getMessageOrBuilder(); } else { return retryRemoteLocalities_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : retryRemoteLocalities_; } } /** *
       * Flag to specify whether the retries should retry to other localities.
       * See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details.
       * 
* * .google.protobuf.BoolValue retry_remote_localities = 4; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> getRetryRemoteLocalitiesFieldBuilder() { if (retryRemoteLocalitiesBuilder_ == null) { retryRemoteLocalitiesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>( getRetryRemoteLocalities(), getParentForChildren(), isClean()); retryRemoteLocalities_ = null; } return retryRemoteLocalitiesBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.HTTPRetry) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.HTTPRetry) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HTTPRetry parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new HTTPRetry(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPRetry getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface CorsPolicyOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.CorsPolicy) com.google.protobuf.MessageOrBuilder { /** *
     * The list of origins that are allowed to perform CORS requests. The
     * content will be serialized into the Access-Control-Allow-Origin
     * header. Wildcard * will allow all origins.
     * $hide_from_docs
     * 
* * repeated string allow_origin = 1 [deprecated = true]; * @return A list containing the allowOrigin. */ @java.lang.Deprecated java.util.List getAllowOriginList(); /** *
     * The list of origins that are allowed to perform CORS requests. The
     * content will be serialized into the Access-Control-Allow-Origin
     * header. Wildcard * will allow all origins.
     * $hide_from_docs
     * 
* * repeated string allow_origin = 1 [deprecated = true]; * @return The count of allowOrigin. */ @java.lang.Deprecated int getAllowOriginCount(); /** *
     * The list of origins that are allowed to perform CORS requests. The
     * content will be serialized into the Access-Control-Allow-Origin
     * header. Wildcard * will allow all origins.
     * $hide_from_docs
     * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param index The index of the element to return. * @return The allowOrigin at the given index. */ @java.lang.Deprecated java.lang.String getAllowOrigin(int index); /** *
     * The list of origins that are allowed to perform CORS requests. The
     * content will be serialized into the Access-Control-Allow-Origin
     * header. Wildcard * will allow all origins.
     * $hide_from_docs
     * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param index The index of the value to return. * @return The bytes of the allowOrigin at the given index. */ @java.lang.Deprecated com.google.protobuf.ByteString getAllowOriginBytes(int index); /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ java.util.List getAllowOriginsList(); /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getAllowOrigins(int index); /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ int getAllowOriginsCount(); /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ java.util.List getAllowOriginsOrBuilderList(); /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getAllowOriginsOrBuilder( int index); /** *
     * List of HTTP methods allowed to access the resource. The content will
     * be serialized into the Access-Control-Allow-Methods header.
     * 
* * repeated string allow_methods = 2; * @return A list containing the allowMethods. */ java.util.List getAllowMethodsList(); /** *
     * List of HTTP methods allowed to access the resource. The content will
     * be serialized into the Access-Control-Allow-Methods header.
     * 
* * repeated string allow_methods = 2; * @return The count of allowMethods. */ int getAllowMethodsCount(); /** *
     * List of HTTP methods allowed to access the resource. The content will
     * be serialized into the Access-Control-Allow-Methods header.
     * 
* * repeated string allow_methods = 2; * @param index The index of the element to return. * @return The allowMethods at the given index. */ java.lang.String getAllowMethods(int index); /** *
     * List of HTTP methods allowed to access the resource. The content will
     * be serialized into the Access-Control-Allow-Methods header.
     * 
* * repeated string allow_methods = 2; * @param index The index of the value to return. * @return The bytes of the allowMethods at the given index. */ com.google.protobuf.ByteString getAllowMethodsBytes(int index); /** *
     * List of HTTP headers that can be used when requesting the
     * resource. Serialized to Access-Control-Allow-Headers header.
     * 
* * repeated string allow_headers = 3; * @return A list containing the allowHeaders. */ java.util.List getAllowHeadersList(); /** *
     * List of HTTP headers that can be used when requesting the
     * resource. Serialized to Access-Control-Allow-Headers header.
     * 
* * repeated string allow_headers = 3; * @return The count of allowHeaders. */ int getAllowHeadersCount(); /** *
     * List of HTTP headers that can be used when requesting the
     * resource. Serialized to Access-Control-Allow-Headers header.
     * 
* * repeated string allow_headers = 3; * @param index The index of the element to return. * @return The allowHeaders at the given index. */ java.lang.String getAllowHeaders(int index); /** *
     * List of HTTP headers that can be used when requesting the
     * resource. Serialized to Access-Control-Allow-Headers header.
     * 
* * repeated string allow_headers = 3; * @param index The index of the value to return. * @return The bytes of the allowHeaders at the given index. */ com.google.protobuf.ByteString getAllowHeadersBytes(int index); /** *
     * A list of HTTP headers that the browsers are allowed to
     * access. Serialized into Access-Control-Expose-Headers header.
     * 
* * repeated string expose_headers = 4; * @return A list containing the exposeHeaders. */ java.util.List getExposeHeadersList(); /** *
     * A list of HTTP headers that the browsers are allowed to
     * access. Serialized into Access-Control-Expose-Headers header.
     * 
* * repeated string expose_headers = 4; * @return The count of exposeHeaders. */ int getExposeHeadersCount(); /** *
     * A list of HTTP headers that the browsers are allowed to
     * access. Serialized into Access-Control-Expose-Headers header.
     * 
* * repeated string expose_headers = 4; * @param index The index of the element to return. * @return The exposeHeaders at the given index. */ java.lang.String getExposeHeaders(int index); /** *
     * A list of HTTP headers that the browsers are allowed to
     * access. Serialized into Access-Control-Expose-Headers header.
     * 
* * repeated string expose_headers = 4; * @param index The index of the value to return. * @return The bytes of the exposeHeaders at the given index. */ com.google.protobuf.ByteString getExposeHeadersBytes(int index); /** *
     * Specifies how long the results of a preflight request can be
     * cached. Translates to the `Access-Control-Max-Age` header.
     * 
* * .google.protobuf.Duration max_age = 5; * @return Whether the maxAge field is set. */ boolean hasMaxAge(); /** *
     * Specifies how long the results of a preflight request can be
     * cached. Translates to the `Access-Control-Max-Age` header.
     * 
* * .google.protobuf.Duration max_age = 5; * @return The maxAge. */ com.google.protobuf.Duration getMaxAge(); /** *
     * Specifies how long the results of a preflight request can be
     * cached. Translates to the `Access-Control-Max-Age` header.
     * 
* * .google.protobuf.Duration max_age = 5; */ com.google.protobuf.DurationOrBuilder getMaxAgeOrBuilder(); /** *
     * Indicates whether the caller is allowed to send the actual request
     * (not the preflight) using credentials. Translates to
     * `Access-Control-Allow-Credentials` header.
     * 
* * .google.protobuf.BoolValue allow_credentials = 6; * @return Whether the allowCredentials field is set. */ boolean hasAllowCredentials(); /** *
     * Indicates whether the caller is allowed to send the actual request
     * (not the preflight) using credentials. Translates to
     * `Access-Control-Allow-Credentials` header.
     * 
* * .google.protobuf.BoolValue allow_credentials = 6; * @return The allowCredentials. */ com.google.protobuf.BoolValue getAllowCredentials(); /** *
     * Indicates whether the caller is allowed to send the actual request
     * (not the preflight) using credentials. Translates to
     * `Access-Control-Allow-Credentials` header.
     * 
* * .google.protobuf.BoolValue allow_credentials = 6; */ com.google.protobuf.BoolValueOrBuilder getAllowCredentialsOrBuilder(); } /** *
   * Describes the Cross-Origin Resource Sharing (CORS) policy, for a given
   * service. Refer to [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)
   * for further details about cross origin resource sharing. For example,
   * the following rule restricts cross origin requests to those originating
   * from example.com domain using HTTP POST/GET, and sets the
   * `Access-Control-Allow-Credentials` header to false. In addition, it only
   * exposes `X-Foo-bar` header and sets an expiry period of 1 day.
   * {{<tabset category-name="example">}}
   * {{<tab name="v1alpha3" category-value="v1alpha3">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1alpha3
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - route:
   *     - destination:
   *         host: ratings.prod.svc.cluster.local
   *         subset: v1
   *     corsPolicy:
   *       allowOrigins:
   *       - exact: https://example.com
   *       allowMethods:
   *       - POST
   *       - GET
   *       allowCredentials: false
   *       allowHeaders:
   *       - X-Foo-Bar
   *       maxAge: "24h"
   * ```
   * {{</tab>}}
   * {{<tab name="v1beta1" category-value="v1beta1">}}
   * ```yaml
   * apiVersion: networking.istio.io/v1beta1
   * kind: VirtualService
   * metadata:
   *   name: ratings-route
   * spec:
   *   hosts:
   *   - ratings.prod.svc.cluster.local
   *   http:
   *   - route:
   *     - destination:
   *         host: ratings.prod.svc.cluster.local
   *         subset: v1
   *     corsPolicy:
   *       allowOrigins:
   *       - exact: https://example.com
   *       allowMethods:
   *       - POST
   *       - GET
   *       allowCredentials: false
   *       allowHeaders:
   *       - X-Foo-Bar
   *       maxAge: "24h"
   * ```
   * {{</tab>}}
   * {{</tabset>}}
   * 
* * Protobuf type {@code istio.networking.v1alpha3.CorsPolicy} */ public static final class CorsPolicy extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.CorsPolicy) CorsPolicyOrBuilder { private static final long serialVersionUID = 0L; // Use CorsPolicy.newBuilder() to construct. private CorsPolicy(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private CorsPolicy() { allowOrigin_ = com.google.protobuf.LazyStringArrayList.EMPTY; allowOrigins_ = java.util.Collections.emptyList(); allowMethods_ = com.google.protobuf.LazyStringArrayList.EMPTY; allowHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; exposeHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new CorsPolicy(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private CorsPolicy( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { allowOrigin_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000001; } allowOrigin_.add(s); break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000004) != 0)) { allowMethods_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000004; } allowMethods_.add(s); break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000008) != 0)) { allowHeaders_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000008; } allowHeaders_.add(s); break; } case 34: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000010) != 0)) { exposeHeaders_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000010; } exposeHeaders_.add(s); break; } case 42: { com.google.protobuf.Duration.Builder subBuilder = null; if (maxAge_ != null) { subBuilder = maxAge_.toBuilder(); } maxAge_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(maxAge_); maxAge_ = subBuilder.buildPartial(); } break; } case 50: { com.google.protobuf.BoolValue.Builder subBuilder = null; if (allowCredentials_ != null) { subBuilder = allowCredentials_.toBuilder(); } allowCredentials_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(allowCredentials_); allowCredentials_ = subBuilder.buildPartial(); } break; } case 58: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { allowOrigins_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000002; } allowOrigins_.add( input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.parser(), extensionRegistry)); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { allowOrigin_ = allowOrigin_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000004) != 0)) { allowMethods_ = allowMethods_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000008) != 0)) { allowHeaders_ = allowHeaders_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000010) != 0)) { exposeHeaders_ = exposeHeaders_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000002) != 0)) { allowOrigins_ = java.util.Collections.unmodifiableList(allowOrigins_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_CorsPolicy_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_CorsPolicy_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.class, istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.Builder.class); } public static final int ALLOW_ORIGIN_FIELD_NUMBER = 1; private com.google.protobuf.LazyStringList allowOrigin_; /** *
     * The list of origins that are allowed to perform CORS requests. The
     * content will be serialized into the Access-Control-Allow-Origin
     * header. Wildcard * will allow all origins.
     * $hide_from_docs
     * 
* * repeated string allow_origin = 1 [deprecated = true]; * @return A list containing the allowOrigin. */ @java.lang.Deprecated public com.google.protobuf.ProtocolStringList getAllowOriginList() { return allowOrigin_; } /** *
     * The list of origins that are allowed to perform CORS requests. The
     * content will be serialized into the Access-Control-Allow-Origin
     * header. Wildcard * will allow all origins.
     * $hide_from_docs
     * 
* * repeated string allow_origin = 1 [deprecated = true]; * @return The count of allowOrigin. */ @java.lang.Deprecated public int getAllowOriginCount() { return allowOrigin_.size(); } /** *
     * The list of origins that are allowed to perform CORS requests. The
     * content will be serialized into the Access-Control-Allow-Origin
     * header. Wildcard * will allow all origins.
     * $hide_from_docs
     * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param index The index of the element to return. * @return The allowOrigin at the given index. */ @java.lang.Deprecated public java.lang.String getAllowOrigin(int index) { return allowOrigin_.get(index); } /** *
     * The list of origins that are allowed to perform CORS requests. The
     * content will be serialized into the Access-Control-Allow-Origin
     * header. Wildcard * will allow all origins.
     * $hide_from_docs
     * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param index The index of the value to return. * @return The bytes of the allowOrigin at the given index. */ @java.lang.Deprecated public com.google.protobuf.ByteString getAllowOriginBytes(int index) { return allowOrigin_.getByteString(index); } public static final int ALLOW_ORIGINS_FIELD_NUMBER = 7; private java.util.List allowOrigins_; /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ @java.lang.Override public java.util.List getAllowOriginsList() { return allowOrigins_; } /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ @java.lang.Override public java.util.List getAllowOriginsOrBuilderList() { return allowOrigins_; } /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ @java.lang.Override public int getAllowOriginsCount() { return allowOrigins_.size(); } /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getAllowOrigins(int index) { return allowOrigins_.get(index); } /** *
     * String patterns that match allowed origins.
     * An origin is allowed if any of the string matchers match.
     * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
     * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getAllowOriginsOrBuilder( int index) { return allowOrigins_.get(index); } public static final int ALLOW_METHODS_FIELD_NUMBER = 2; private com.google.protobuf.LazyStringList allowMethods_; /** *
     * List of HTTP methods allowed to access the resource. The content will
     * be serialized into the Access-Control-Allow-Methods header.
     * 
* * repeated string allow_methods = 2; * @return A list containing the allowMethods. */ public com.google.protobuf.ProtocolStringList getAllowMethodsList() { return allowMethods_; } /** *
     * List of HTTP methods allowed to access the resource. The content will
     * be serialized into the Access-Control-Allow-Methods header.
     * 
* * repeated string allow_methods = 2; * @return The count of allowMethods. */ public int getAllowMethodsCount() { return allowMethods_.size(); } /** *
     * List of HTTP methods allowed to access the resource. The content will
     * be serialized into the Access-Control-Allow-Methods header.
     * 
* * repeated string allow_methods = 2; * @param index The index of the element to return. * @return The allowMethods at the given index. */ public java.lang.String getAllowMethods(int index) { return allowMethods_.get(index); } /** *
     * List of HTTP methods allowed to access the resource. The content will
     * be serialized into the Access-Control-Allow-Methods header.
     * 
* * repeated string allow_methods = 2; * @param index The index of the value to return. * @return The bytes of the allowMethods at the given index. */ public com.google.protobuf.ByteString getAllowMethodsBytes(int index) { return allowMethods_.getByteString(index); } public static final int ALLOW_HEADERS_FIELD_NUMBER = 3; private com.google.protobuf.LazyStringList allowHeaders_; /** *
     * List of HTTP headers that can be used when requesting the
     * resource. Serialized to Access-Control-Allow-Headers header.
     * 
* * repeated string allow_headers = 3; * @return A list containing the allowHeaders. */ public com.google.protobuf.ProtocolStringList getAllowHeadersList() { return allowHeaders_; } /** *
     * List of HTTP headers that can be used when requesting the
     * resource. Serialized to Access-Control-Allow-Headers header.
     * 
* * repeated string allow_headers = 3; * @return The count of allowHeaders. */ public int getAllowHeadersCount() { return allowHeaders_.size(); } /** *
     * List of HTTP headers that can be used when requesting the
     * resource. Serialized to Access-Control-Allow-Headers header.
     * 
* * repeated string allow_headers = 3; * @param index The index of the element to return. * @return The allowHeaders at the given index. */ public java.lang.String getAllowHeaders(int index) { return allowHeaders_.get(index); } /** *
     * List of HTTP headers that can be used when requesting the
     * resource. Serialized to Access-Control-Allow-Headers header.
     * 
* * repeated string allow_headers = 3; * @param index The index of the value to return. * @return The bytes of the allowHeaders at the given index. */ public com.google.protobuf.ByteString getAllowHeadersBytes(int index) { return allowHeaders_.getByteString(index); } public static final int EXPOSE_HEADERS_FIELD_NUMBER = 4; private com.google.protobuf.LazyStringList exposeHeaders_; /** *
     * A list of HTTP headers that the browsers are allowed to
     * access. Serialized into Access-Control-Expose-Headers header.
     * 
* * repeated string expose_headers = 4; * @return A list containing the exposeHeaders. */ public com.google.protobuf.ProtocolStringList getExposeHeadersList() { return exposeHeaders_; } /** *
     * A list of HTTP headers that the browsers are allowed to
     * access. Serialized into Access-Control-Expose-Headers header.
     * 
* * repeated string expose_headers = 4; * @return The count of exposeHeaders. */ public int getExposeHeadersCount() { return exposeHeaders_.size(); } /** *
     * A list of HTTP headers that the browsers are allowed to
     * access. Serialized into Access-Control-Expose-Headers header.
     * 
* * repeated string expose_headers = 4; * @param index The index of the element to return. * @return The exposeHeaders at the given index. */ public java.lang.String getExposeHeaders(int index) { return exposeHeaders_.get(index); } /** *
     * A list of HTTP headers that the browsers are allowed to
     * access. Serialized into Access-Control-Expose-Headers header.
     * 
* * repeated string expose_headers = 4; * @param index The index of the value to return. * @return The bytes of the exposeHeaders at the given index. */ public com.google.protobuf.ByteString getExposeHeadersBytes(int index) { return exposeHeaders_.getByteString(index); } public static final int MAX_AGE_FIELD_NUMBER = 5; private com.google.protobuf.Duration maxAge_; /** *
     * Specifies how long the results of a preflight request can be
     * cached. Translates to the `Access-Control-Max-Age` header.
     * 
* * .google.protobuf.Duration max_age = 5; * @return Whether the maxAge field is set. */ @java.lang.Override public boolean hasMaxAge() { return maxAge_ != null; } /** *
     * Specifies how long the results of a preflight request can be
     * cached. Translates to the `Access-Control-Max-Age` header.
     * 
* * .google.protobuf.Duration max_age = 5; * @return The maxAge. */ @java.lang.Override public com.google.protobuf.Duration getMaxAge() { return maxAge_ == null ? com.google.protobuf.Duration.getDefaultInstance() : maxAge_; } /** *
     * Specifies how long the results of a preflight request can be
     * cached. Translates to the `Access-Control-Max-Age` header.
     * 
* * .google.protobuf.Duration max_age = 5; */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getMaxAgeOrBuilder() { return getMaxAge(); } public static final int ALLOW_CREDENTIALS_FIELD_NUMBER = 6; private com.google.protobuf.BoolValue allowCredentials_; /** *
     * Indicates whether the caller is allowed to send the actual request
     * (not the preflight) using credentials. Translates to
     * `Access-Control-Allow-Credentials` header.
     * 
* * .google.protobuf.BoolValue allow_credentials = 6; * @return Whether the allowCredentials field is set. */ @java.lang.Override public boolean hasAllowCredentials() { return allowCredentials_ != null; } /** *
     * Indicates whether the caller is allowed to send the actual request
     * (not the preflight) using credentials. Translates to
     * `Access-Control-Allow-Credentials` header.
     * 
* * .google.protobuf.BoolValue allow_credentials = 6; * @return The allowCredentials. */ @java.lang.Override public com.google.protobuf.BoolValue getAllowCredentials() { return allowCredentials_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : allowCredentials_; } /** *
     * Indicates whether the caller is allowed to send the actual request
     * (not the preflight) using credentials. Translates to
     * `Access-Control-Allow-Credentials` header.
     * 
* * .google.protobuf.BoolValue allow_credentials = 6; */ @java.lang.Override public com.google.protobuf.BoolValueOrBuilder getAllowCredentialsOrBuilder() { return getAllowCredentials(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < allowOrigin_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, allowOrigin_.getRaw(i)); } for (int i = 0; i < allowMethods_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, allowMethods_.getRaw(i)); } for (int i = 0; i < allowHeaders_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, allowHeaders_.getRaw(i)); } for (int i = 0; i < exposeHeaders_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, exposeHeaders_.getRaw(i)); } if (maxAge_ != null) { output.writeMessage(5, getMaxAge()); } if (allowCredentials_ != null) { output.writeMessage(6, getAllowCredentials()); } for (int i = 0; i < allowOrigins_.size(); i++) { output.writeMessage(7, allowOrigins_.get(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; { int dataSize = 0; for (int i = 0; i < allowOrigin_.size(); i++) { dataSize += computeStringSizeNoTag(allowOrigin_.getRaw(i)); } size += dataSize; size += 1 * getAllowOriginList().size(); } { int dataSize = 0; for (int i = 0; i < allowMethods_.size(); i++) { dataSize += computeStringSizeNoTag(allowMethods_.getRaw(i)); } size += dataSize; size += 1 * getAllowMethodsList().size(); } { int dataSize = 0; for (int i = 0; i < allowHeaders_.size(); i++) { dataSize += computeStringSizeNoTag(allowHeaders_.getRaw(i)); } size += dataSize; size += 1 * getAllowHeadersList().size(); } { int dataSize = 0; for (int i = 0; i < exposeHeaders_.size(); i++) { dataSize += computeStringSizeNoTag(exposeHeaders_.getRaw(i)); } size += dataSize; size += 1 * getExposeHeadersList().size(); } if (maxAge_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getMaxAge()); } if (allowCredentials_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getAllowCredentials()); } for (int i = 0; i < allowOrigins_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, allowOrigins_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy other = (istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy) obj; if (!getAllowOriginList() .equals(other.getAllowOriginList())) return false; if (!getAllowOriginsList() .equals(other.getAllowOriginsList())) return false; if (!getAllowMethodsList() .equals(other.getAllowMethodsList())) return false; if (!getAllowHeadersList() .equals(other.getAllowHeadersList())) return false; if (!getExposeHeadersList() .equals(other.getExposeHeadersList())) return false; if (hasMaxAge() != other.hasMaxAge()) return false; if (hasMaxAge()) { if (!getMaxAge() .equals(other.getMaxAge())) return false; } if (hasAllowCredentials() != other.hasAllowCredentials()) return false; if (hasAllowCredentials()) { if (!getAllowCredentials() .equals(other.getAllowCredentials())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getAllowOriginCount() > 0) { hash = (37 * hash) + ALLOW_ORIGIN_FIELD_NUMBER; hash = (53 * hash) + getAllowOriginList().hashCode(); } if (getAllowOriginsCount() > 0) { hash = (37 * hash) + ALLOW_ORIGINS_FIELD_NUMBER; hash = (53 * hash) + getAllowOriginsList().hashCode(); } if (getAllowMethodsCount() > 0) { hash = (37 * hash) + ALLOW_METHODS_FIELD_NUMBER; hash = (53 * hash) + getAllowMethodsList().hashCode(); } if (getAllowHeadersCount() > 0) { hash = (37 * hash) + ALLOW_HEADERS_FIELD_NUMBER; hash = (53 * hash) + getAllowHeadersList().hashCode(); } if (getExposeHeadersCount() > 0) { hash = (37 * hash) + EXPOSE_HEADERS_FIELD_NUMBER; hash = (53 * hash) + getExposeHeadersList().hashCode(); } if (hasMaxAge()) { hash = (37 * hash) + MAX_AGE_FIELD_NUMBER; hash = (53 * hash) + getMaxAge().hashCode(); } if (hasAllowCredentials()) { hash = (37 * hash) + ALLOW_CREDENTIALS_FIELD_NUMBER; hash = (53 * hash) + getAllowCredentials().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Describes the Cross-Origin Resource Sharing (CORS) policy, for a given
     * service. Refer to [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)
     * for further details about cross origin resource sharing. For example,
     * the following rule restricts cross origin requests to those originating
     * from example.com domain using HTTP POST/GET, and sets the
     * `Access-Control-Allow-Credentials` header to false. In addition, it only
     * exposes `X-Foo-bar` header and sets an expiry period of 1 day.
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     *         subset: v1
     *     corsPolicy:
     *       allowOrigins:
     *       - exact: https://example.com
     *       allowMethods:
     *       - POST
     *       - GET
     *       allowCredentials: false
     *       allowHeaders:
     *       - X-Foo-Bar
     *       maxAge: "24h"
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     *         subset: v1
     *     corsPolicy:
     *       allowOrigins:
     *       - exact: https://example.com
     *       allowMethods:
     *       - POST
     *       - GET
     *       allowCredentials: false
     *       allowHeaders:
     *       - X-Foo-Bar
     *       maxAge: "24h"
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * 
* * Protobuf type {@code istio.networking.v1alpha3.CorsPolicy} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.CorsPolicy) istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicyOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_CorsPolicy_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_CorsPolicy_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.class, istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getAllowOriginsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); allowOrigin_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); if (allowOriginsBuilder_ == null) { allowOrigins_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { allowOriginsBuilder_.clear(); } allowMethods_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); allowHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000008); exposeHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000010); if (maxAgeBuilder_ == null) { maxAge_ = null; } else { maxAge_ = null; maxAgeBuilder_ = null; } if (allowCredentialsBuilder_ == null) { allowCredentials_ = null; } else { allowCredentials_ = null; allowCredentialsBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_CorsPolicy_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy build() { istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy result = new istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy(this); int from_bitField0_ = bitField0_; if (((bitField0_ & 0x00000001) != 0)) { allowOrigin_ = allowOrigin_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000001); } result.allowOrigin_ = allowOrigin_; if (allowOriginsBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { allowOrigins_ = java.util.Collections.unmodifiableList(allowOrigins_); bitField0_ = (bitField0_ & ~0x00000002); } result.allowOrigins_ = allowOrigins_; } else { result.allowOrigins_ = allowOriginsBuilder_.build(); } if (((bitField0_ & 0x00000004) != 0)) { allowMethods_ = allowMethods_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000004); } result.allowMethods_ = allowMethods_; if (((bitField0_ & 0x00000008) != 0)) { allowHeaders_ = allowHeaders_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000008); } result.allowHeaders_ = allowHeaders_; if (((bitField0_ & 0x00000010) != 0)) { exposeHeaders_ = exposeHeaders_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000010); } result.exposeHeaders_ = exposeHeaders_; if (maxAgeBuilder_ == null) { result.maxAge_ = maxAge_; } else { result.maxAge_ = maxAgeBuilder_.build(); } if (allowCredentialsBuilder_ == null) { result.allowCredentials_ = allowCredentials_; } else { result.allowCredentials_ = allowCredentialsBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy.getDefaultInstance()) return this; if (!other.allowOrigin_.isEmpty()) { if (allowOrigin_.isEmpty()) { allowOrigin_ = other.allowOrigin_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureAllowOriginIsMutable(); allowOrigin_.addAll(other.allowOrigin_); } onChanged(); } if (allowOriginsBuilder_ == null) { if (!other.allowOrigins_.isEmpty()) { if (allowOrigins_.isEmpty()) { allowOrigins_ = other.allowOrigins_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureAllowOriginsIsMutable(); allowOrigins_.addAll(other.allowOrigins_); } onChanged(); } } else { if (!other.allowOrigins_.isEmpty()) { if (allowOriginsBuilder_.isEmpty()) { allowOriginsBuilder_.dispose(); allowOriginsBuilder_ = null; allowOrigins_ = other.allowOrigins_; bitField0_ = (bitField0_ & ~0x00000002); allowOriginsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getAllowOriginsFieldBuilder() : null; } else { allowOriginsBuilder_.addAllMessages(other.allowOrigins_); } } } if (!other.allowMethods_.isEmpty()) { if (allowMethods_.isEmpty()) { allowMethods_ = other.allowMethods_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureAllowMethodsIsMutable(); allowMethods_.addAll(other.allowMethods_); } onChanged(); } if (!other.allowHeaders_.isEmpty()) { if (allowHeaders_.isEmpty()) { allowHeaders_ = other.allowHeaders_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureAllowHeadersIsMutable(); allowHeaders_.addAll(other.allowHeaders_); } onChanged(); } if (!other.exposeHeaders_.isEmpty()) { if (exposeHeaders_.isEmpty()) { exposeHeaders_ = other.exposeHeaders_; bitField0_ = (bitField0_ & ~0x00000010); } else { ensureExposeHeadersIsMutable(); exposeHeaders_.addAll(other.exposeHeaders_); } onChanged(); } if (other.hasMaxAge()) { mergeMaxAge(other.getMaxAge()); } if (other.hasAllowCredentials()) { mergeAllowCredentials(other.getAllowCredentials()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private com.google.protobuf.LazyStringList allowOrigin_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureAllowOriginIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { allowOrigin_ = new com.google.protobuf.LazyStringArrayList(allowOrigin_); bitField0_ |= 0x00000001; } } /** *
       * The list of origins that are allowed to perform CORS requests. The
       * content will be serialized into the Access-Control-Allow-Origin
       * header. Wildcard * will allow all origins.
       * $hide_from_docs
       * 
* * repeated string allow_origin = 1 [deprecated = true]; * @return A list containing the allowOrigin. */ @java.lang.Deprecated public com.google.protobuf.ProtocolStringList getAllowOriginList() { return allowOrigin_.getUnmodifiableView(); } /** *
       * The list of origins that are allowed to perform CORS requests. The
       * content will be serialized into the Access-Control-Allow-Origin
       * header. Wildcard * will allow all origins.
       * $hide_from_docs
       * 
* * repeated string allow_origin = 1 [deprecated = true]; * @return The count of allowOrigin. */ @java.lang.Deprecated public int getAllowOriginCount() { return allowOrigin_.size(); } /** *
       * The list of origins that are allowed to perform CORS requests. The
       * content will be serialized into the Access-Control-Allow-Origin
       * header. Wildcard * will allow all origins.
       * $hide_from_docs
       * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param index The index of the element to return. * @return The allowOrigin at the given index. */ @java.lang.Deprecated public java.lang.String getAllowOrigin(int index) { return allowOrigin_.get(index); } /** *
       * The list of origins that are allowed to perform CORS requests. The
       * content will be serialized into the Access-Control-Allow-Origin
       * header. Wildcard * will allow all origins.
       * $hide_from_docs
       * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param index The index of the value to return. * @return The bytes of the allowOrigin at the given index. */ @java.lang.Deprecated public com.google.protobuf.ByteString getAllowOriginBytes(int index) { return allowOrigin_.getByteString(index); } /** *
       * The list of origins that are allowed to perform CORS requests. The
       * content will be serialized into the Access-Control-Allow-Origin
       * header. Wildcard * will allow all origins.
       * $hide_from_docs
       * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param index The index to set the value at. * @param value The allowOrigin to set. * @return This builder for chaining. */ @java.lang.Deprecated public Builder setAllowOrigin( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureAllowOriginIsMutable(); allowOrigin_.set(index, value); onChanged(); return this; } /** *
       * The list of origins that are allowed to perform CORS requests. The
       * content will be serialized into the Access-Control-Allow-Origin
       * header. Wildcard * will allow all origins.
       * $hide_from_docs
       * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param value The allowOrigin to add. * @return This builder for chaining. */ @java.lang.Deprecated public Builder addAllowOrigin( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureAllowOriginIsMutable(); allowOrigin_.add(value); onChanged(); return this; } /** *
       * The list of origins that are allowed to perform CORS requests. The
       * content will be serialized into the Access-Control-Allow-Origin
       * header. Wildcard * will allow all origins.
       * $hide_from_docs
       * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param values The allowOrigin to add. * @return This builder for chaining. */ @java.lang.Deprecated public Builder addAllAllowOrigin( java.lang.Iterable values) { ensureAllowOriginIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, allowOrigin_); onChanged(); return this; } /** *
       * The list of origins that are allowed to perform CORS requests. The
       * content will be serialized into the Access-Control-Allow-Origin
       * header. Wildcard * will allow all origins.
       * $hide_from_docs
       * 
* * repeated string allow_origin = 1 [deprecated = true]; * @return This builder for chaining. */ @java.lang.Deprecated public Builder clearAllowOrigin() { allowOrigin_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
       * The list of origins that are allowed to perform CORS requests. The
       * content will be serialized into the Access-Control-Allow-Origin
       * header. Wildcard * will allow all origins.
       * $hide_from_docs
       * 
* * repeated string allow_origin = 1 [deprecated = true]; * @param value The bytes of the allowOrigin to add. * @return This builder for chaining. */ @java.lang.Deprecated public Builder addAllowOriginBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureAllowOriginIsMutable(); allowOrigin_.add(value); onChanged(); return this; } private java.util.List allowOrigins_ = java.util.Collections.emptyList(); private void ensureAllowOriginsIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { allowOrigins_ = new java.util.ArrayList(allowOrigins_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> allowOriginsBuilder_; /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public java.util.List getAllowOriginsList() { if (allowOriginsBuilder_ == null) { return java.util.Collections.unmodifiableList(allowOrigins_); } else { return allowOriginsBuilder_.getMessageList(); } } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public int getAllowOriginsCount() { if (allowOriginsBuilder_ == null) { return allowOrigins_.size(); } else { return allowOriginsBuilder_.getCount(); } } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch getAllowOrigins(int index) { if (allowOriginsBuilder_ == null) { return allowOrigins_.get(index); } else { return allowOriginsBuilder_.getMessage(index); } } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public Builder setAllowOrigins( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (allowOriginsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureAllowOriginsIsMutable(); allowOrigins_.set(index, value); onChanged(); } else { allowOriginsBuilder_.setMessage(index, value); } return this; } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public Builder setAllowOrigins( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder builderForValue) { if (allowOriginsBuilder_ == null) { ensureAllowOriginsIsMutable(); allowOrigins_.set(index, builderForValue.build()); onChanged(); } else { allowOriginsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public Builder addAllowOrigins(istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (allowOriginsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureAllowOriginsIsMutable(); allowOrigins_.add(value); onChanged(); } else { allowOriginsBuilder_.addMessage(value); } return this; } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public Builder addAllowOrigins( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch value) { if (allowOriginsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureAllowOriginsIsMutable(); allowOrigins_.add(index, value); onChanged(); } else { allowOriginsBuilder_.addMessage(index, value); } return this; } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public Builder addAllowOrigins( istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder builderForValue) { if (allowOriginsBuilder_ == null) { ensureAllowOriginsIsMutable(); allowOrigins_.add(builderForValue.build()); onChanged(); } else { allowOriginsBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public Builder addAllowOrigins( int index, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder builderForValue) { if (allowOriginsBuilder_ == null) { ensureAllowOriginsIsMutable(); allowOrigins_.add(index, builderForValue.build()); onChanged(); } else { allowOriginsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public Builder addAllAllowOrigins( java.lang.Iterable values) { if (allowOriginsBuilder_ == null) { ensureAllowOriginsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, allowOrigins_); onChanged(); } else { allowOriginsBuilder_.addAllMessages(values); } return this; } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public Builder clearAllowOrigins() { if (allowOriginsBuilder_ == null) { allowOrigins_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { allowOriginsBuilder_.clear(); } return this; } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public Builder removeAllowOrigins(int index) { if (allowOriginsBuilder_ == null) { ensureAllowOriginsIsMutable(); allowOrigins_.remove(index); onChanged(); } else { allowOriginsBuilder_.remove(index); } return this; } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder getAllowOriginsBuilder( int index) { return getAllowOriginsFieldBuilder().getBuilder(index); } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder getAllowOriginsOrBuilder( int index) { if (allowOriginsBuilder_ == null) { return allowOrigins_.get(index); } else { return allowOriginsBuilder_.getMessageOrBuilder(index); } } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public java.util.List getAllowOriginsOrBuilderList() { if (allowOriginsBuilder_ != null) { return allowOriginsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(allowOrigins_); } } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder addAllowOriginsBuilder() { return getAllowOriginsFieldBuilder().addBuilder( istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance()); } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder addAllowOriginsBuilder( int index) { return getAllowOriginsFieldBuilder().addBuilder( index, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.getDefaultInstance()); } /** *
       * String patterns that match allowed origins.
       * An origin is allowed if any of the string matchers match.
       * If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
       * 
* * repeated .istio.networking.v1alpha3.StringMatch allow_origins = 7; */ public java.util.List getAllowOriginsBuilderList() { return getAllowOriginsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder> getAllowOriginsFieldBuilder() { if (allowOriginsBuilder_ == null) { allowOriginsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatch.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.StringMatchOrBuilder>( allowOrigins_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); allowOrigins_ = null; } return allowOriginsBuilder_; } private com.google.protobuf.LazyStringList allowMethods_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureAllowMethodsIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { allowMethods_ = new com.google.protobuf.LazyStringArrayList(allowMethods_); bitField0_ |= 0x00000004; } } /** *
       * List of HTTP methods allowed to access the resource. The content will
       * be serialized into the Access-Control-Allow-Methods header.
       * 
* * repeated string allow_methods = 2; * @return A list containing the allowMethods. */ public com.google.protobuf.ProtocolStringList getAllowMethodsList() { return allowMethods_.getUnmodifiableView(); } /** *
       * List of HTTP methods allowed to access the resource. The content will
       * be serialized into the Access-Control-Allow-Methods header.
       * 
* * repeated string allow_methods = 2; * @return The count of allowMethods. */ public int getAllowMethodsCount() { return allowMethods_.size(); } /** *
       * List of HTTP methods allowed to access the resource. The content will
       * be serialized into the Access-Control-Allow-Methods header.
       * 
* * repeated string allow_methods = 2; * @param index The index of the element to return. * @return The allowMethods at the given index. */ public java.lang.String getAllowMethods(int index) { return allowMethods_.get(index); } /** *
       * List of HTTP methods allowed to access the resource. The content will
       * be serialized into the Access-Control-Allow-Methods header.
       * 
* * repeated string allow_methods = 2; * @param index The index of the value to return. * @return The bytes of the allowMethods at the given index. */ public com.google.protobuf.ByteString getAllowMethodsBytes(int index) { return allowMethods_.getByteString(index); } /** *
       * List of HTTP methods allowed to access the resource. The content will
       * be serialized into the Access-Control-Allow-Methods header.
       * 
* * repeated string allow_methods = 2; * @param index The index to set the value at. * @param value The allowMethods to set. * @return This builder for chaining. */ public Builder setAllowMethods( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureAllowMethodsIsMutable(); allowMethods_.set(index, value); onChanged(); return this; } /** *
       * List of HTTP methods allowed to access the resource. The content will
       * be serialized into the Access-Control-Allow-Methods header.
       * 
* * repeated string allow_methods = 2; * @param value The allowMethods to add. * @return This builder for chaining. */ public Builder addAllowMethods( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureAllowMethodsIsMutable(); allowMethods_.add(value); onChanged(); return this; } /** *
       * List of HTTP methods allowed to access the resource. The content will
       * be serialized into the Access-Control-Allow-Methods header.
       * 
* * repeated string allow_methods = 2; * @param values The allowMethods to add. * @return This builder for chaining. */ public Builder addAllAllowMethods( java.lang.Iterable values) { ensureAllowMethodsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, allowMethods_); onChanged(); return this; } /** *
       * List of HTTP methods allowed to access the resource. The content will
       * be serialized into the Access-Control-Allow-Methods header.
       * 
* * repeated string allow_methods = 2; * @return This builder for chaining. */ public Builder clearAllowMethods() { allowMethods_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } /** *
       * List of HTTP methods allowed to access the resource. The content will
       * be serialized into the Access-Control-Allow-Methods header.
       * 
* * repeated string allow_methods = 2; * @param value The bytes of the allowMethods to add. * @return This builder for chaining. */ public Builder addAllowMethodsBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureAllowMethodsIsMutable(); allowMethods_.add(value); onChanged(); return this; } private com.google.protobuf.LazyStringList allowHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureAllowHeadersIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { allowHeaders_ = new com.google.protobuf.LazyStringArrayList(allowHeaders_); bitField0_ |= 0x00000008; } } /** *
       * List of HTTP headers that can be used when requesting the
       * resource. Serialized to Access-Control-Allow-Headers header.
       * 
* * repeated string allow_headers = 3; * @return A list containing the allowHeaders. */ public com.google.protobuf.ProtocolStringList getAllowHeadersList() { return allowHeaders_.getUnmodifiableView(); } /** *
       * List of HTTP headers that can be used when requesting the
       * resource. Serialized to Access-Control-Allow-Headers header.
       * 
* * repeated string allow_headers = 3; * @return The count of allowHeaders. */ public int getAllowHeadersCount() { return allowHeaders_.size(); } /** *
       * List of HTTP headers that can be used when requesting the
       * resource. Serialized to Access-Control-Allow-Headers header.
       * 
* * repeated string allow_headers = 3; * @param index The index of the element to return. * @return The allowHeaders at the given index. */ public java.lang.String getAllowHeaders(int index) { return allowHeaders_.get(index); } /** *
       * List of HTTP headers that can be used when requesting the
       * resource. Serialized to Access-Control-Allow-Headers header.
       * 
* * repeated string allow_headers = 3; * @param index The index of the value to return. * @return The bytes of the allowHeaders at the given index. */ public com.google.protobuf.ByteString getAllowHeadersBytes(int index) { return allowHeaders_.getByteString(index); } /** *
       * List of HTTP headers that can be used when requesting the
       * resource. Serialized to Access-Control-Allow-Headers header.
       * 
* * repeated string allow_headers = 3; * @param index The index to set the value at. * @param value The allowHeaders to set. * @return This builder for chaining. */ public Builder setAllowHeaders( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureAllowHeadersIsMutable(); allowHeaders_.set(index, value); onChanged(); return this; } /** *
       * List of HTTP headers that can be used when requesting the
       * resource. Serialized to Access-Control-Allow-Headers header.
       * 
* * repeated string allow_headers = 3; * @param value The allowHeaders to add. * @return This builder for chaining. */ public Builder addAllowHeaders( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureAllowHeadersIsMutable(); allowHeaders_.add(value); onChanged(); return this; } /** *
       * List of HTTP headers that can be used when requesting the
       * resource. Serialized to Access-Control-Allow-Headers header.
       * 
* * repeated string allow_headers = 3; * @param values The allowHeaders to add. * @return This builder for chaining. */ public Builder addAllAllowHeaders( java.lang.Iterable values) { ensureAllowHeadersIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, allowHeaders_); onChanged(); return this; } /** *
       * List of HTTP headers that can be used when requesting the
       * resource. Serialized to Access-Control-Allow-Headers header.
       * 
* * repeated string allow_headers = 3; * @return This builder for chaining. */ public Builder clearAllowHeaders() { allowHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000008); onChanged(); return this; } /** *
       * List of HTTP headers that can be used when requesting the
       * resource. Serialized to Access-Control-Allow-Headers header.
       * 
* * repeated string allow_headers = 3; * @param value The bytes of the allowHeaders to add. * @return This builder for chaining. */ public Builder addAllowHeadersBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureAllowHeadersIsMutable(); allowHeaders_.add(value); onChanged(); return this; } private com.google.protobuf.LazyStringList exposeHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureExposeHeadersIsMutable() { if (!((bitField0_ & 0x00000010) != 0)) { exposeHeaders_ = new com.google.protobuf.LazyStringArrayList(exposeHeaders_); bitField0_ |= 0x00000010; } } /** *
       * A list of HTTP headers that the browsers are allowed to
       * access. Serialized into Access-Control-Expose-Headers header.
       * 
* * repeated string expose_headers = 4; * @return A list containing the exposeHeaders. */ public com.google.protobuf.ProtocolStringList getExposeHeadersList() { return exposeHeaders_.getUnmodifiableView(); } /** *
       * A list of HTTP headers that the browsers are allowed to
       * access. Serialized into Access-Control-Expose-Headers header.
       * 
* * repeated string expose_headers = 4; * @return The count of exposeHeaders. */ public int getExposeHeadersCount() { return exposeHeaders_.size(); } /** *
       * A list of HTTP headers that the browsers are allowed to
       * access. Serialized into Access-Control-Expose-Headers header.
       * 
* * repeated string expose_headers = 4; * @param index The index of the element to return. * @return The exposeHeaders at the given index. */ public java.lang.String getExposeHeaders(int index) { return exposeHeaders_.get(index); } /** *
       * A list of HTTP headers that the browsers are allowed to
       * access. Serialized into Access-Control-Expose-Headers header.
       * 
* * repeated string expose_headers = 4; * @param index The index of the value to return. * @return The bytes of the exposeHeaders at the given index. */ public com.google.protobuf.ByteString getExposeHeadersBytes(int index) { return exposeHeaders_.getByteString(index); } /** *
       * A list of HTTP headers that the browsers are allowed to
       * access. Serialized into Access-Control-Expose-Headers header.
       * 
* * repeated string expose_headers = 4; * @param index The index to set the value at. * @param value The exposeHeaders to set. * @return This builder for chaining. */ public Builder setExposeHeaders( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureExposeHeadersIsMutable(); exposeHeaders_.set(index, value); onChanged(); return this; } /** *
       * A list of HTTP headers that the browsers are allowed to
       * access. Serialized into Access-Control-Expose-Headers header.
       * 
* * repeated string expose_headers = 4; * @param value The exposeHeaders to add. * @return This builder for chaining. */ public Builder addExposeHeaders( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureExposeHeadersIsMutable(); exposeHeaders_.add(value); onChanged(); return this; } /** *
       * A list of HTTP headers that the browsers are allowed to
       * access. Serialized into Access-Control-Expose-Headers header.
       * 
* * repeated string expose_headers = 4; * @param values The exposeHeaders to add. * @return This builder for chaining. */ public Builder addAllExposeHeaders( java.lang.Iterable values) { ensureExposeHeadersIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, exposeHeaders_); onChanged(); return this; } /** *
       * A list of HTTP headers that the browsers are allowed to
       * access. Serialized into Access-Control-Expose-Headers header.
       * 
* * repeated string expose_headers = 4; * @return This builder for chaining. */ public Builder clearExposeHeaders() { exposeHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000010); onChanged(); return this; } /** *
       * A list of HTTP headers that the browsers are allowed to
       * access. Serialized into Access-Control-Expose-Headers header.
       * 
* * repeated string expose_headers = 4; * @param value The bytes of the exposeHeaders to add. * @return This builder for chaining. */ public Builder addExposeHeadersBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureExposeHeadersIsMutable(); exposeHeaders_.add(value); onChanged(); return this; } private com.google.protobuf.Duration maxAge_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> maxAgeBuilder_; /** *
       * Specifies how long the results of a preflight request can be
       * cached. Translates to the `Access-Control-Max-Age` header.
       * 
* * .google.protobuf.Duration max_age = 5; * @return Whether the maxAge field is set. */ public boolean hasMaxAge() { return maxAgeBuilder_ != null || maxAge_ != null; } /** *
       * Specifies how long the results of a preflight request can be
       * cached. Translates to the `Access-Control-Max-Age` header.
       * 
* * .google.protobuf.Duration max_age = 5; * @return The maxAge. */ public com.google.protobuf.Duration getMaxAge() { if (maxAgeBuilder_ == null) { return maxAge_ == null ? com.google.protobuf.Duration.getDefaultInstance() : maxAge_; } else { return maxAgeBuilder_.getMessage(); } } /** *
       * Specifies how long the results of a preflight request can be
       * cached. Translates to the `Access-Control-Max-Age` header.
       * 
* * .google.protobuf.Duration max_age = 5; */ public Builder setMaxAge(com.google.protobuf.Duration value) { if (maxAgeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } maxAge_ = value; onChanged(); } else { maxAgeBuilder_.setMessage(value); } return this; } /** *
       * Specifies how long the results of a preflight request can be
       * cached. Translates to the `Access-Control-Max-Age` header.
       * 
* * .google.protobuf.Duration max_age = 5; */ public Builder setMaxAge( com.google.protobuf.Duration.Builder builderForValue) { if (maxAgeBuilder_ == null) { maxAge_ = builderForValue.build(); onChanged(); } else { maxAgeBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Specifies how long the results of a preflight request can be
       * cached. Translates to the `Access-Control-Max-Age` header.
       * 
* * .google.protobuf.Duration max_age = 5; */ public Builder mergeMaxAge(com.google.protobuf.Duration value) { if (maxAgeBuilder_ == null) { if (maxAge_ != null) { maxAge_ = com.google.protobuf.Duration.newBuilder(maxAge_).mergeFrom(value).buildPartial(); } else { maxAge_ = value; } onChanged(); } else { maxAgeBuilder_.mergeFrom(value); } return this; } /** *
       * Specifies how long the results of a preflight request can be
       * cached. Translates to the `Access-Control-Max-Age` header.
       * 
* * .google.protobuf.Duration max_age = 5; */ public Builder clearMaxAge() { if (maxAgeBuilder_ == null) { maxAge_ = null; onChanged(); } else { maxAge_ = null; maxAgeBuilder_ = null; } return this; } /** *
       * Specifies how long the results of a preflight request can be
       * cached. Translates to the `Access-Control-Max-Age` header.
       * 
* * .google.protobuf.Duration max_age = 5; */ public com.google.protobuf.Duration.Builder getMaxAgeBuilder() { onChanged(); return getMaxAgeFieldBuilder().getBuilder(); } /** *
       * Specifies how long the results of a preflight request can be
       * cached. Translates to the `Access-Control-Max-Age` header.
       * 
* * .google.protobuf.Duration max_age = 5; */ public com.google.protobuf.DurationOrBuilder getMaxAgeOrBuilder() { if (maxAgeBuilder_ != null) { return maxAgeBuilder_.getMessageOrBuilder(); } else { return maxAge_ == null ? com.google.protobuf.Duration.getDefaultInstance() : maxAge_; } } /** *
       * Specifies how long the results of a preflight request can be
       * cached. Translates to the `Access-Control-Max-Age` header.
       * 
* * .google.protobuf.Duration max_age = 5; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getMaxAgeFieldBuilder() { if (maxAgeBuilder_ == null) { maxAgeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getMaxAge(), getParentForChildren(), isClean()); maxAge_ = null; } return maxAgeBuilder_; } private com.google.protobuf.BoolValue allowCredentials_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> allowCredentialsBuilder_; /** *
       * Indicates whether the caller is allowed to send the actual request
       * (not the preflight) using credentials. Translates to
       * `Access-Control-Allow-Credentials` header.
       * 
* * .google.protobuf.BoolValue allow_credentials = 6; * @return Whether the allowCredentials field is set. */ public boolean hasAllowCredentials() { return allowCredentialsBuilder_ != null || allowCredentials_ != null; } /** *
       * Indicates whether the caller is allowed to send the actual request
       * (not the preflight) using credentials. Translates to
       * `Access-Control-Allow-Credentials` header.
       * 
* * .google.protobuf.BoolValue allow_credentials = 6; * @return The allowCredentials. */ public com.google.protobuf.BoolValue getAllowCredentials() { if (allowCredentialsBuilder_ == null) { return allowCredentials_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : allowCredentials_; } else { return allowCredentialsBuilder_.getMessage(); } } /** *
       * Indicates whether the caller is allowed to send the actual request
       * (not the preflight) using credentials. Translates to
       * `Access-Control-Allow-Credentials` header.
       * 
* * .google.protobuf.BoolValue allow_credentials = 6; */ public Builder setAllowCredentials(com.google.protobuf.BoolValue value) { if (allowCredentialsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } allowCredentials_ = value; onChanged(); } else { allowCredentialsBuilder_.setMessage(value); } return this; } /** *
       * Indicates whether the caller is allowed to send the actual request
       * (not the preflight) using credentials. Translates to
       * `Access-Control-Allow-Credentials` header.
       * 
* * .google.protobuf.BoolValue allow_credentials = 6; */ public Builder setAllowCredentials( com.google.protobuf.BoolValue.Builder builderForValue) { if (allowCredentialsBuilder_ == null) { allowCredentials_ = builderForValue.build(); onChanged(); } else { allowCredentialsBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Indicates whether the caller is allowed to send the actual request
       * (not the preflight) using credentials. Translates to
       * `Access-Control-Allow-Credentials` header.
       * 
* * .google.protobuf.BoolValue allow_credentials = 6; */ public Builder mergeAllowCredentials(com.google.protobuf.BoolValue value) { if (allowCredentialsBuilder_ == null) { if (allowCredentials_ != null) { allowCredentials_ = com.google.protobuf.BoolValue.newBuilder(allowCredentials_).mergeFrom(value).buildPartial(); } else { allowCredentials_ = value; } onChanged(); } else { allowCredentialsBuilder_.mergeFrom(value); } return this; } /** *
       * Indicates whether the caller is allowed to send the actual request
       * (not the preflight) using credentials. Translates to
       * `Access-Control-Allow-Credentials` header.
       * 
* * .google.protobuf.BoolValue allow_credentials = 6; */ public Builder clearAllowCredentials() { if (allowCredentialsBuilder_ == null) { allowCredentials_ = null; onChanged(); } else { allowCredentials_ = null; allowCredentialsBuilder_ = null; } return this; } /** *
       * Indicates whether the caller is allowed to send the actual request
       * (not the preflight) using credentials. Translates to
       * `Access-Control-Allow-Credentials` header.
       * 
* * .google.protobuf.BoolValue allow_credentials = 6; */ public com.google.protobuf.BoolValue.Builder getAllowCredentialsBuilder() { onChanged(); return getAllowCredentialsFieldBuilder().getBuilder(); } /** *
       * Indicates whether the caller is allowed to send the actual request
       * (not the preflight) using credentials. Translates to
       * `Access-Control-Allow-Credentials` header.
       * 
* * .google.protobuf.BoolValue allow_credentials = 6; */ public com.google.protobuf.BoolValueOrBuilder getAllowCredentialsOrBuilder() { if (allowCredentialsBuilder_ != null) { return allowCredentialsBuilder_.getMessageOrBuilder(); } else { return allowCredentials_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : allowCredentials_; } } /** *
       * Indicates whether the caller is allowed to send the actual request
       * (not the preflight) using credentials. Translates to
       * `Access-Control-Allow-Credentials` header.
       * 
* * .google.protobuf.BoolValue allow_credentials = 6; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> getAllowCredentialsFieldBuilder() { if (allowCredentialsBuilder_ == null) { allowCredentialsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>( getAllowCredentials(), getParentForChildren(), isClean()); allowCredentials_ = null; } return allowCredentialsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.CorsPolicy) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.CorsPolicy) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public CorsPolicy parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new CorsPolicy(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.CorsPolicy getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface HTTPFaultInjectionOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.HTTPFaultInjection) com.google.protobuf.MessageOrBuilder { /** *
     * Delay requests before forwarding, emulating various failures such as
     * network issues, overloaded upstream service, etc.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; * @return Whether the delay field is set. */ boolean hasDelay(); /** *
     * Delay requests before forwarding, emulating various failures such as
     * network issues, overloaded upstream service, etc.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; * @return The delay. */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay getDelay(); /** *
     * Delay requests before forwarding, emulating various failures such as
     * network issues, overloaded upstream service, etc.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.DelayOrBuilder getDelayOrBuilder(); /** *
     * Abort Http request attempts and return error codes back to downstream
     * service, giving the impression that the upstream service is faulty.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; * @return Whether the abort field is set. */ boolean hasAbort(); /** *
     * Abort Http request attempts and return error codes back to downstream
     * service, giving the impression that the upstream service is faulty.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; * @return The abort. */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort getAbort(); /** *
     * Abort Http request attempts and return error codes back to downstream
     * service, giving the impression that the upstream service is faulty.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; */ istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.AbortOrBuilder getAbortOrBuilder(); } /** *
   * HTTPFaultInjection can be used to specify one or more faults to inject
   * while forwarding HTTP requests to the destination specified in a route.
   * Fault specification is part of a VirtualService rule. Faults include
   * aborting the Http request from downstream service, and/or delaying
   * proxying of requests. A fault rule MUST HAVE delay or abort or both.
   * *Note:* Delay and abort faults are independent of one another, even if
   * both are specified simultaneously.
   * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPFaultInjection} */ public static final class HTTPFaultInjection extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.HTTPFaultInjection) HTTPFaultInjectionOrBuilder { private static final long serialVersionUID = 0L; // Use HTTPFaultInjection.newBuilder() to construct. private HTTPFaultInjection(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private HTTPFaultInjection() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HTTPFaultInjection(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private HTTPFaultInjection( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.Builder subBuilder = null; if (delay_ != null) { subBuilder = delay_.toBuilder(); } delay_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(delay_); delay_ = subBuilder.buildPartial(); } break; } case 18: { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.Builder subBuilder = null; if (abort_ != null) { subBuilder = abort_.toBuilder(); } abort_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(abort_); abort_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Builder.class); } public interface DelayOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.HTTPFaultInjection.Delay) com.google.protobuf.MessageOrBuilder { /** *
       * Percentage of requests on which the delay will be injected (0-100).
       * Use of integer `percent` value is deprecated. Use the double `percentage`
       * field instead.
       * 
* * int32 percent = 1 [deprecated = true]; * @return The percent. */ @java.lang.Deprecated int getPercent(); /** *
       * Add a fixed delay before forwarding the request. Format:
       * 1h/1m/1s/1ms. MUST be >=1ms.
       * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the fixedDelay field is set. */ boolean hasFixedDelay(); /** *
       * Add a fixed delay before forwarding the request. Format:
       * 1h/1m/1s/1ms. MUST be >=1ms.
       * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; * @return The fixedDelay. */ com.google.protobuf.Duration getFixedDelay(); /** *
       * Add a fixed delay before forwarding the request. Format:
       * 1h/1m/1s/1ms. MUST be >=1ms.
       * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; */ com.google.protobuf.DurationOrBuilder getFixedDelayOrBuilder(); /** *
       * $hide_from_docs
       * 
* * .google.protobuf.Duration exponential_delay = 3; * @return Whether the exponentialDelay field is set. */ boolean hasExponentialDelay(); /** *
       * $hide_from_docs
       * 
* * .google.protobuf.Duration exponential_delay = 3; * @return The exponentialDelay. */ com.google.protobuf.Duration getExponentialDelay(); /** *
       * $hide_from_docs
       * 
* * .google.protobuf.Duration exponential_delay = 3; */ com.google.protobuf.DurationOrBuilder getExponentialDelayOrBuilder(); /** *
       * Percentage of requests on which the delay will be injected.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return Whether the percentage field is set. */ boolean hasPercentage(); /** *
       * Percentage of requests on which the delay will be injected.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return The percentage. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getPercentage(); /** *
       * Percentage of requests on which the delay will be injected.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder getPercentageOrBuilder(); public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.HttpDelayTypeCase getHttpDelayTypeCase(); } /** *
     * Delay specification is used to inject latency into the request
     * forwarding path. The following example will introduce a 5 second delay
     * in 1 out of every 1000 requests to the "v1" version of the "reviews"
     * service from all pods with label env: prod
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: reviews-route
     * spec:
     *   hosts:
     *   - reviews.prod.svc.cluster.local
     *   http:
     *   - match:
     *     - sourceLabels:
     *         env: prod
     *     route:
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v1
     *     fault:
     *       delay:
     *         percentage:
     *           value: 0.1
     *         fixedDelay: 5s
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: reviews-route
     * spec:
     *   hosts:
     *   - reviews.prod.svc.cluster.local
     *   http:
     *   - match:
     *     - sourceLabels:
     *         env: prod
     *     route:
     *     - destination:
     *         host: reviews.prod.svc.cluster.local
     *         subset: v1
     *     fault:
     *       delay:
     *         percentage:
     *           value: 0.1
     *         fixedDelay: 5s
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * The _fixedDelay_ field is used to indicate the amount of delay in seconds.
     * The optional _percentage_ field can be used to only delay a certain
     * percentage of requests. If left unspecified, all request will be delayed.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPFaultInjection.Delay} */ public static final class Delay extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.HTTPFaultInjection.Delay) DelayOrBuilder { private static final long serialVersionUID = 0L; // Use Delay.newBuilder() to construct. private Delay(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Delay() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Delay(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Delay( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { percent_ = input.readInt32(); break; } case 18: { com.google.protobuf.Duration.Builder subBuilder = null; if (httpDelayTypeCase_ == 2) { subBuilder = ((com.google.protobuf.Duration) httpDelayType_).toBuilder(); } httpDelayType_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((com.google.protobuf.Duration) httpDelayType_); httpDelayType_ = subBuilder.buildPartial(); } httpDelayTypeCase_ = 2; break; } case 26: { com.google.protobuf.Duration.Builder subBuilder = null; if (httpDelayTypeCase_ == 3) { subBuilder = ((com.google.protobuf.Duration) httpDelayType_).toBuilder(); } httpDelayType_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((com.google.protobuf.Duration) httpDelayType_); httpDelayType_ = subBuilder.buildPartial(); } httpDelayTypeCase_ = 3; break; } case 42: { istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder subBuilder = null; if (percentage_ != null) { subBuilder = percentage_.toBuilder(); } percentage_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(percentage_); percentage_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.Builder.class); } private int httpDelayTypeCase_ = 0; private java.lang.Object httpDelayType_; public enum HttpDelayTypeCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { FIXED_DELAY(2), EXPONENTIAL_DELAY(3), HTTPDELAYTYPE_NOT_SET(0); private final int value; private HttpDelayTypeCase(int value) { this.value = value; } /** * @param value The number of the enum to look for. * @return The enum associated with the given number. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static HttpDelayTypeCase valueOf(int value) { return forNumber(value); } public static HttpDelayTypeCase forNumber(int value) { switch (value) { case 2: return FIXED_DELAY; case 3: return EXPONENTIAL_DELAY; case 0: return HTTPDELAYTYPE_NOT_SET; default: return null; } } public int getNumber() { return this.value; } }; public HttpDelayTypeCase getHttpDelayTypeCase() { return HttpDelayTypeCase.forNumber( httpDelayTypeCase_); } public static final int PERCENT_FIELD_NUMBER = 1; private int percent_; /** *
       * Percentage of requests on which the delay will be injected (0-100).
       * Use of integer `percent` value is deprecated. Use the double `percentage`
       * field instead.
       * 
* * int32 percent = 1 [deprecated = true]; * @return The percent. */ @java.lang.Override @java.lang.Deprecated public int getPercent() { return percent_; } public static final int FIXED_DELAY_FIELD_NUMBER = 2; /** *
       * Add a fixed delay before forwarding the request. Format:
       * 1h/1m/1s/1ms. MUST be >=1ms.
       * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the fixedDelay field is set. */ @java.lang.Override public boolean hasFixedDelay() { return httpDelayTypeCase_ == 2; } /** *
       * Add a fixed delay before forwarding the request. Format:
       * 1h/1m/1s/1ms. MUST be >=1ms.
       * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; * @return The fixedDelay. */ @java.lang.Override public com.google.protobuf.Duration getFixedDelay() { if (httpDelayTypeCase_ == 2) { return (com.google.protobuf.Duration) httpDelayType_; } return com.google.protobuf.Duration.getDefaultInstance(); } /** *
       * Add a fixed delay before forwarding the request. Format:
       * 1h/1m/1s/1ms. MUST be >=1ms.
       * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getFixedDelayOrBuilder() { if (httpDelayTypeCase_ == 2) { return (com.google.protobuf.Duration) httpDelayType_; } return com.google.protobuf.Duration.getDefaultInstance(); } public static final int EXPONENTIAL_DELAY_FIELD_NUMBER = 3; /** *
       * $hide_from_docs
       * 
* * .google.protobuf.Duration exponential_delay = 3; * @return Whether the exponentialDelay field is set. */ @java.lang.Override public boolean hasExponentialDelay() { return httpDelayTypeCase_ == 3; } /** *
       * $hide_from_docs
       * 
* * .google.protobuf.Duration exponential_delay = 3; * @return The exponentialDelay. */ @java.lang.Override public com.google.protobuf.Duration getExponentialDelay() { if (httpDelayTypeCase_ == 3) { return (com.google.protobuf.Duration) httpDelayType_; } return com.google.protobuf.Duration.getDefaultInstance(); } /** *
       * $hide_from_docs
       * 
* * .google.protobuf.Duration exponential_delay = 3; */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getExponentialDelayOrBuilder() { if (httpDelayTypeCase_ == 3) { return (com.google.protobuf.Duration) httpDelayType_; } return com.google.protobuf.Duration.getDefaultInstance(); } public static final int PERCENTAGE_FIELD_NUMBER = 5; private istio.networking.v1alpha3.VirtualServiceOuterClass.Percent percentage_; /** *
       * Percentage of requests on which the delay will be injected.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return Whether the percentage field is set. */ @java.lang.Override public boolean hasPercentage() { return percentage_ != null; } /** *
       * Percentage of requests on which the delay will be injected.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return The percentage. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getPercentage() { return percentage_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance() : percentage_; } /** *
       * Percentage of requests on which the delay will be injected.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder getPercentageOrBuilder() { return getPercentage(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (percent_ != 0) { output.writeInt32(1, percent_); } if (httpDelayTypeCase_ == 2) { output.writeMessage(2, (com.google.protobuf.Duration) httpDelayType_); } if (httpDelayTypeCase_ == 3) { output.writeMessage(3, (com.google.protobuf.Duration) httpDelayType_); } if (percentage_ != null) { output.writeMessage(5, getPercentage()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (percent_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(1, percent_); } if (httpDelayTypeCase_ == 2) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, (com.google.protobuf.Duration) httpDelayType_); } if (httpDelayTypeCase_ == 3) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, (com.google.protobuf.Duration) httpDelayType_); } if (percentage_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getPercentage()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay other = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay) obj; if (getPercent() != other.getPercent()) return false; if (hasPercentage() != other.hasPercentage()) return false; if (hasPercentage()) { if (!getPercentage() .equals(other.getPercentage())) return false; } if (!getHttpDelayTypeCase().equals(other.getHttpDelayTypeCase())) return false; switch (httpDelayTypeCase_) { case 2: if (!getFixedDelay() .equals(other.getFixedDelay())) return false; break; case 3: if (!getExponentialDelay() .equals(other.getExponentialDelay())) return false; break; case 0: default: } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + PERCENT_FIELD_NUMBER; hash = (53 * hash) + getPercent(); if (hasPercentage()) { hash = (37 * hash) + PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + getPercentage().hashCode(); } switch (httpDelayTypeCase_) { case 2: hash = (37 * hash) + FIXED_DELAY_FIELD_NUMBER; hash = (53 * hash) + getFixedDelay().hashCode(); break; case 3: hash = (37 * hash) + EXPONENTIAL_DELAY_FIELD_NUMBER; hash = (53 * hash) + getExponentialDelay().hashCode(); break; case 0: default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
       * Delay specification is used to inject latency into the request
       * forwarding path. The following example will introduce a 5 second delay
       * in 1 out of every 1000 requests to the "v1" version of the "reviews"
       * service from all pods with label env: prod
       * {{<tabset category-name="example">}}
       * {{<tab name="v1alpha3" category-value="v1alpha3">}}
       * ```yaml
       * apiVersion: networking.istio.io/v1alpha3
       * kind: VirtualService
       * metadata:
       *   name: reviews-route
       * spec:
       *   hosts:
       *   - reviews.prod.svc.cluster.local
       *   http:
       *   - match:
       *     - sourceLabels:
       *         env: prod
       *     route:
       *     - destination:
       *         host: reviews.prod.svc.cluster.local
       *         subset: v1
       *     fault:
       *       delay:
       *         percentage:
       *           value: 0.1
       *         fixedDelay: 5s
       * ```
       * {{</tab>}}
       * {{<tab name="v1beta1" category-value="v1beta1">}}
       * ```yaml
       * apiVersion: networking.istio.io/v1beta1
       * kind: VirtualService
       * metadata:
       *   name: reviews-route
       * spec:
       *   hosts:
       *   - reviews.prod.svc.cluster.local
       *   http:
       *   - match:
       *     - sourceLabels:
       *         env: prod
       *     route:
       *     - destination:
       *         host: reviews.prod.svc.cluster.local
       *         subset: v1
       *     fault:
       *       delay:
       *         percentage:
       *           value: 0.1
       *         fixedDelay: 5s
       * ```
       * {{</tab>}}
       * {{</tabset>}}
       * The _fixedDelay_ field is used to indicate the amount of delay in seconds.
       * The optional _percentage_ field can be used to only delay a certain
       * percentage of requests. If left unspecified, all request will be delayed.
       * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPFaultInjection.Delay} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.HTTPFaultInjection.Delay) istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.DelayOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); percent_ = 0; if (percentageBuilder_ == null) { percentage_ = null; } else { percentage_ = null; percentageBuilder_ = null; } httpDelayTypeCase_ = 0; httpDelayType_ = null; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay build() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay result = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay(this); result.percent_ = percent_; if (httpDelayTypeCase_ == 2) { if (fixedDelayBuilder_ == null) { result.httpDelayType_ = httpDelayType_; } else { result.httpDelayType_ = fixedDelayBuilder_.build(); } } if (httpDelayTypeCase_ == 3) { if (exponentialDelayBuilder_ == null) { result.httpDelayType_ = httpDelayType_; } else { result.httpDelayType_ = exponentialDelayBuilder_.build(); } } if (percentageBuilder_ == null) { result.percentage_ = percentage_; } else { result.percentage_ = percentageBuilder_.build(); } result.httpDelayTypeCase_ = httpDelayTypeCase_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.getDefaultInstance()) return this; if (other.getPercent() != 0) { setPercent(other.getPercent()); } if (other.hasPercentage()) { mergePercentage(other.getPercentage()); } switch (other.getHttpDelayTypeCase()) { case FIXED_DELAY: { mergeFixedDelay(other.getFixedDelay()); break; } case EXPONENTIAL_DELAY: { mergeExponentialDelay(other.getExponentialDelay()); break; } case HTTPDELAYTYPE_NOT_SET: { break; } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int httpDelayTypeCase_ = 0; private java.lang.Object httpDelayType_; public HttpDelayTypeCase getHttpDelayTypeCase() { return HttpDelayTypeCase.forNumber( httpDelayTypeCase_); } public Builder clearHttpDelayType() { httpDelayTypeCase_ = 0; httpDelayType_ = null; onChanged(); return this; } private int percent_ ; /** *
         * Percentage of requests on which the delay will be injected (0-100).
         * Use of integer `percent` value is deprecated. Use the double `percentage`
         * field instead.
         * 
* * int32 percent = 1 [deprecated = true]; * @return The percent. */ @java.lang.Override @java.lang.Deprecated public int getPercent() { return percent_; } /** *
         * Percentage of requests on which the delay will be injected (0-100).
         * Use of integer `percent` value is deprecated. Use the double `percentage`
         * field instead.
         * 
* * int32 percent = 1 [deprecated = true]; * @param value The percent to set. * @return This builder for chaining. */ @java.lang.Deprecated public Builder setPercent(int value) { percent_ = value; onChanged(); return this; } /** *
         * Percentage of requests on which the delay will be injected (0-100).
         * Use of integer `percent` value is deprecated. Use the double `percentage`
         * field instead.
         * 
* * int32 percent = 1 [deprecated = true]; * @return This builder for chaining. */ @java.lang.Deprecated public Builder clearPercent() { percent_ = 0; onChanged(); return this; } private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> fixedDelayBuilder_; /** *
         * Add a fixed delay before forwarding the request. Format:
         * 1h/1m/1s/1ms. MUST be >=1ms.
         * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the fixedDelay field is set. */ @java.lang.Override public boolean hasFixedDelay() { return httpDelayTypeCase_ == 2; } /** *
         * Add a fixed delay before forwarding the request. Format:
         * 1h/1m/1s/1ms. MUST be >=1ms.
         * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; * @return The fixedDelay. */ @java.lang.Override public com.google.protobuf.Duration getFixedDelay() { if (fixedDelayBuilder_ == null) { if (httpDelayTypeCase_ == 2) { return (com.google.protobuf.Duration) httpDelayType_; } return com.google.protobuf.Duration.getDefaultInstance(); } else { if (httpDelayTypeCase_ == 2) { return fixedDelayBuilder_.getMessage(); } return com.google.protobuf.Duration.getDefaultInstance(); } } /** *
         * Add a fixed delay before forwarding the request. Format:
         * 1h/1m/1s/1ms. MUST be >=1ms.
         * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; */ public Builder setFixedDelay(com.google.protobuf.Duration value) { if (fixedDelayBuilder_ == null) { if (value == null) { throw new NullPointerException(); } httpDelayType_ = value; onChanged(); } else { fixedDelayBuilder_.setMessage(value); } httpDelayTypeCase_ = 2; return this; } /** *
         * Add a fixed delay before forwarding the request. Format:
         * 1h/1m/1s/1ms. MUST be >=1ms.
         * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; */ public Builder setFixedDelay( com.google.protobuf.Duration.Builder builderForValue) { if (fixedDelayBuilder_ == null) { httpDelayType_ = builderForValue.build(); onChanged(); } else { fixedDelayBuilder_.setMessage(builderForValue.build()); } httpDelayTypeCase_ = 2; return this; } /** *
         * Add a fixed delay before forwarding the request. Format:
         * 1h/1m/1s/1ms. MUST be >=1ms.
         * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; */ public Builder mergeFixedDelay(com.google.protobuf.Duration value) { if (fixedDelayBuilder_ == null) { if (httpDelayTypeCase_ == 2 && httpDelayType_ != com.google.protobuf.Duration.getDefaultInstance()) { httpDelayType_ = com.google.protobuf.Duration.newBuilder((com.google.protobuf.Duration) httpDelayType_) .mergeFrom(value).buildPartial(); } else { httpDelayType_ = value; } onChanged(); } else { if (httpDelayTypeCase_ == 2) { fixedDelayBuilder_.mergeFrom(value); } fixedDelayBuilder_.setMessage(value); } httpDelayTypeCase_ = 2; return this; } /** *
         * Add a fixed delay before forwarding the request. Format:
         * 1h/1m/1s/1ms. MUST be >=1ms.
         * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; */ public Builder clearFixedDelay() { if (fixedDelayBuilder_ == null) { if (httpDelayTypeCase_ == 2) { httpDelayTypeCase_ = 0; httpDelayType_ = null; onChanged(); } } else { if (httpDelayTypeCase_ == 2) { httpDelayTypeCase_ = 0; httpDelayType_ = null; } fixedDelayBuilder_.clear(); } return this; } /** *
         * Add a fixed delay before forwarding the request. Format:
         * 1h/1m/1s/1ms. MUST be >=1ms.
         * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; */ public com.google.protobuf.Duration.Builder getFixedDelayBuilder() { return getFixedDelayFieldBuilder().getBuilder(); } /** *
         * Add a fixed delay before forwarding the request. Format:
         * 1h/1m/1s/1ms. MUST be >=1ms.
         * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getFixedDelayOrBuilder() { if ((httpDelayTypeCase_ == 2) && (fixedDelayBuilder_ != null)) { return fixedDelayBuilder_.getMessageOrBuilder(); } else { if (httpDelayTypeCase_ == 2) { return (com.google.protobuf.Duration) httpDelayType_; } return com.google.protobuf.Duration.getDefaultInstance(); } } /** *
         * Add a fixed delay before forwarding the request. Format:
         * 1h/1m/1s/1ms. MUST be >=1ms.
         * 
* * .google.protobuf.Duration fixed_delay = 2 [(.google.api.field_behavior) = REQUIRED]; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getFixedDelayFieldBuilder() { if (fixedDelayBuilder_ == null) { if (!(httpDelayTypeCase_ == 2)) { httpDelayType_ = com.google.protobuf.Duration.getDefaultInstance(); } fixedDelayBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( (com.google.protobuf.Duration) httpDelayType_, getParentForChildren(), isClean()); httpDelayType_ = null; } httpDelayTypeCase_ = 2; onChanged();; return fixedDelayBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> exponentialDelayBuilder_; /** *
         * $hide_from_docs
         * 
* * .google.protobuf.Duration exponential_delay = 3; * @return Whether the exponentialDelay field is set. */ @java.lang.Override public boolean hasExponentialDelay() { return httpDelayTypeCase_ == 3; } /** *
         * $hide_from_docs
         * 
* * .google.protobuf.Duration exponential_delay = 3; * @return The exponentialDelay. */ @java.lang.Override public com.google.protobuf.Duration getExponentialDelay() { if (exponentialDelayBuilder_ == null) { if (httpDelayTypeCase_ == 3) { return (com.google.protobuf.Duration) httpDelayType_; } return com.google.protobuf.Duration.getDefaultInstance(); } else { if (httpDelayTypeCase_ == 3) { return exponentialDelayBuilder_.getMessage(); } return com.google.protobuf.Duration.getDefaultInstance(); } } /** *
         * $hide_from_docs
         * 
* * .google.protobuf.Duration exponential_delay = 3; */ public Builder setExponentialDelay(com.google.protobuf.Duration value) { if (exponentialDelayBuilder_ == null) { if (value == null) { throw new NullPointerException(); } httpDelayType_ = value; onChanged(); } else { exponentialDelayBuilder_.setMessage(value); } httpDelayTypeCase_ = 3; return this; } /** *
         * $hide_from_docs
         * 
* * .google.protobuf.Duration exponential_delay = 3; */ public Builder setExponentialDelay( com.google.protobuf.Duration.Builder builderForValue) { if (exponentialDelayBuilder_ == null) { httpDelayType_ = builderForValue.build(); onChanged(); } else { exponentialDelayBuilder_.setMessage(builderForValue.build()); } httpDelayTypeCase_ = 3; return this; } /** *
         * $hide_from_docs
         * 
* * .google.protobuf.Duration exponential_delay = 3; */ public Builder mergeExponentialDelay(com.google.protobuf.Duration value) { if (exponentialDelayBuilder_ == null) { if (httpDelayTypeCase_ == 3 && httpDelayType_ != com.google.protobuf.Duration.getDefaultInstance()) { httpDelayType_ = com.google.protobuf.Duration.newBuilder((com.google.protobuf.Duration) httpDelayType_) .mergeFrom(value).buildPartial(); } else { httpDelayType_ = value; } onChanged(); } else { if (httpDelayTypeCase_ == 3) { exponentialDelayBuilder_.mergeFrom(value); } exponentialDelayBuilder_.setMessage(value); } httpDelayTypeCase_ = 3; return this; } /** *
         * $hide_from_docs
         * 
* * .google.protobuf.Duration exponential_delay = 3; */ public Builder clearExponentialDelay() { if (exponentialDelayBuilder_ == null) { if (httpDelayTypeCase_ == 3) { httpDelayTypeCase_ = 0; httpDelayType_ = null; onChanged(); } } else { if (httpDelayTypeCase_ == 3) { httpDelayTypeCase_ = 0; httpDelayType_ = null; } exponentialDelayBuilder_.clear(); } return this; } /** *
         * $hide_from_docs
         * 
* * .google.protobuf.Duration exponential_delay = 3; */ public com.google.protobuf.Duration.Builder getExponentialDelayBuilder() { return getExponentialDelayFieldBuilder().getBuilder(); } /** *
         * $hide_from_docs
         * 
* * .google.protobuf.Duration exponential_delay = 3; */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getExponentialDelayOrBuilder() { if ((httpDelayTypeCase_ == 3) && (exponentialDelayBuilder_ != null)) { return exponentialDelayBuilder_.getMessageOrBuilder(); } else { if (httpDelayTypeCase_ == 3) { return (com.google.protobuf.Duration) httpDelayType_; } return com.google.protobuf.Duration.getDefaultInstance(); } } /** *
         * $hide_from_docs
         * 
* * .google.protobuf.Duration exponential_delay = 3; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getExponentialDelayFieldBuilder() { if (exponentialDelayBuilder_ == null) { if (!(httpDelayTypeCase_ == 3)) { httpDelayType_ = com.google.protobuf.Duration.getDefaultInstance(); } exponentialDelayBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( (com.google.protobuf.Duration) httpDelayType_, getParentForChildren(), isClean()); httpDelayType_ = null; } httpDelayTypeCase_ = 3; onChanged();; return exponentialDelayBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Percent percentage_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Percent, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder> percentageBuilder_; /** *
         * Percentage of requests on which the delay will be injected.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return Whether the percentage field is set. */ public boolean hasPercentage() { return percentageBuilder_ != null || percentage_ != null; } /** *
         * Percentage of requests on which the delay will be injected.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return The percentage. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getPercentage() { if (percentageBuilder_ == null) { return percentage_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance() : percentage_; } else { return percentageBuilder_.getMessage(); } } /** *
         * Percentage of requests on which the delay will be injected.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public Builder setPercentage(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent value) { if (percentageBuilder_ == null) { if (value == null) { throw new NullPointerException(); } percentage_ = value; onChanged(); } else { percentageBuilder_.setMessage(value); } return this; } /** *
         * Percentage of requests on which the delay will be injected.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public Builder setPercentage( istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder builderForValue) { if (percentageBuilder_ == null) { percentage_ = builderForValue.build(); onChanged(); } else { percentageBuilder_.setMessage(builderForValue.build()); } return this; } /** *
         * Percentage of requests on which the delay will be injected.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public Builder mergePercentage(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent value) { if (percentageBuilder_ == null) { if (percentage_ != null) { percentage_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.newBuilder(percentage_).mergeFrom(value).buildPartial(); } else { percentage_ = value; } onChanged(); } else { percentageBuilder_.mergeFrom(value); } return this; } /** *
         * Percentage of requests on which the delay will be injected.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public Builder clearPercentage() { if (percentageBuilder_ == null) { percentage_ = null; onChanged(); } else { percentage_ = null; percentageBuilder_ = null; } return this; } /** *
         * Percentage of requests on which the delay will be injected.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder getPercentageBuilder() { onChanged(); return getPercentageFieldBuilder().getBuilder(); } /** *
         * Percentage of requests on which the delay will be injected.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder getPercentageOrBuilder() { if (percentageBuilder_ != null) { return percentageBuilder_.getMessageOrBuilder(); } else { return percentage_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance() : percentage_; } } /** *
         * Percentage of requests on which the delay will be injected.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Percent, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder> getPercentageFieldBuilder() { if (percentageBuilder_ == null) { percentageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Percent, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder>( getPercentage(), getParentForChildren(), isClean()); percentage_ = null; } return percentageBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.HTTPFaultInjection.Delay) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.HTTPFaultInjection.Delay) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Delay parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new Delay(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface AbortOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.HTTPFaultInjection.Abort) com.google.protobuf.MessageOrBuilder { /** *
       * HTTP status code to use to abort the Http request.
       * 
* * int32 http_status = 2 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the httpStatus field is set. */ boolean hasHttpStatus(); /** *
       * HTTP status code to use to abort the Http request.
       * 
* * int32 http_status = 2 [(.google.api.field_behavior) = REQUIRED]; * @return The httpStatus. */ int getHttpStatus(); /** *
       * $hide_from_docs
       * 
* * string grpc_status = 3; * @return Whether the grpcStatus field is set. */ boolean hasGrpcStatus(); /** *
       * $hide_from_docs
       * 
* * string grpc_status = 3; * @return The grpcStatus. */ java.lang.String getGrpcStatus(); /** *
       * $hide_from_docs
       * 
* * string grpc_status = 3; * @return The bytes for grpcStatus. */ com.google.protobuf.ByteString getGrpcStatusBytes(); /** *
       * $hide_from_docs
       * 
* * string http2_error = 4; * @return Whether the http2Error field is set. */ boolean hasHttp2Error(); /** *
       * $hide_from_docs
       * 
* * string http2_error = 4; * @return The http2Error. */ java.lang.String getHttp2Error(); /** *
       * $hide_from_docs
       * 
* * string http2_error = 4; * @return The bytes for http2Error. */ com.google.protobuf.ByteString getHttp2ErrorBytes(); /** *
       * Percentage of requests to be aborted with the error code provided.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return Whether the percentage field is set. */ boolean hasPercentage(); /** *
       * Percentage of requests to be aborted with the error code provided.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return The percentage. */ istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getPercentage(); /** *
       * Percentage of requests to be aborted with the error code provided.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder getPercentageOrBuilder(); public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.ErrorTypeCase getErrorTypeCase(); } /** *
     * Abort specification is used to prematurely abort a request with a
     * pre-specified error code. The following example will return an HTTP 400
     * error code for 1 out of every 1000 requests to the "ratings" service "v1".
     * {{<tabset category-name="example">}}
     * {{<tab name="v1alpha3" category-value="v1alpha3">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1alpha3
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     *         subset: v1
     *     fault:
     *       abort:
     *         percentage:
     *           value: 0.1
     *         httpStatus: 400
     * ```
     * {{</tab>}}
     * {{<tab name="v1beta1" category-value="v1beta1">}}
     * ```yaml
     * apiVersion: networking.istio.io/v1beta1
     * kind: VirtualService
     * metadata:
     *   name: ratings-route
     * spec:
     *   hosts:
     *   - ratings.prod.svc.cluster.local
     *   http:
     *   - route:
     *     - destination:
     *         host: ratings.prod.svc.cluster.local
     *         subset: v1
     *     fault:
     *       abort:
     *         percentage:
     *           value: 0.1
     *         httpStatus: 400
     * ```
     * {{</tab>}}
     * {{</tabset>}}
     * The _httpStatus_ field is used to indicate the HTTP status code to
     * return to the caller. The optional _percentage_ field can be used to only
     * abort a certain percentage of requests. If not specified, all requests are
     * aborted.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPFaultInjection.Abort} */ public static final class Abort extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.HTTPFaultInjection.Abort) AbortOrBuilder { private static final long serialVersionUID = 0L; // Use Abort.newBuilder() to construct. private Abort(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Abort() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Abort(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Abort( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 16: { errorTypeCase_ = 2; errorType_ = input.readInt32(); break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); errorTypeCase_ = 3; errorType_ = s; break; } case 34: { java.lang.String s = input.readStringRequireUtf8(); errorTypeCase_ = 4; errorType_ = s; break; } case 42: { istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder subBuilder = null; if (percentage_ != null) { subBuilder = percentage_.toBuilder(); } percentage_ = input.readMessage(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(percentage_); percentage_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.Builder.class); } private int errorTypeCase_ = 0; private java.lang.Object errorType_; public enum ErrorTypeCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { HTTP_STATUS(2), GRPC_STATUS(3), HTTP2_ERROR(4), ERRORTYPE_NOT_SET(0); private final int value; private ErrorTypeCase(int value) { this.value = value; } /** * @param value The number of the enum to look for. * @return The enum associated with the given number. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static ErrorTypeCase valueOf(int value) { return forNumber(value); } public static ErrorTypeCase forNumber(int value) { switch (value) { case 2: return HTTP_STATUS; case 3: return GRPC_STATUS; case 4: return HTTP2_ERROR; case 0: return ERRORTYPE_NOT_SET; default: return null; } } public int getNumber() { return this.value; } }; public ErrorTypeCase getErrorTypeCase() { return ErrorTypeCase.forNumber( errorTypeCase_); } public static final int HTTP_STATUS_FIELD_NUMBER = 2; /** *
       * HTTP status code to use to abort the Http request.
       * 
* * int32 http_status = 2 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the httpStatus field is set. */ @java.lang.Override public boolean hasHttpStatus() { return errorTypeCase_ == 2; } /** *
       * HTTP status code to use to abort the Http request.
       * 
* * int32 http_status = 2 [(.google.api.field_behavior) = REQUIRED]; * @return The httpStatus. */ @java.lang.Override public int getHttpStatus() { if (errorTypeCase_ == 2) { return (java.lang.Integer) errorType_; } return 0; } public static final int GRPC_STATUS_FIELD_NUMBER = 3; /** *
       * $hide_from_docs
       * 
* * string grpc_status = 3; * @return Whether the grpcStatus field is set. */ public boolean hasGrpcStatus() { return errorTypeCase_ == 3; } /** *
       * $hide_from_docs
       * 
* * string grpc_status = 3; * @return The grpcStatus. */ public java.lang.String getGrpcStatus() { java.lang.Object ref = ""; if (errorTypeCase_ == 3) { ref = errorType_; } if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (errorTypeCase_ == 3) { errorType_ = s; } return s; } } /** *
       * $hide_from_docs
       * 
* * string grpc_status = 3; * @return The bytes for grpcStatus. */ public com.google.protobuf.ByteString getGrpcStatusBytes() { java.lang.Object ref = ""; if (errorTypeCase_ == 3) { ref = errorType_; } if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (errorTypeCase_ == 3) { errorType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int HTTP2_ERROR_FIELD_NUMBER = 4; /** *
       * $hide_from_docs
       * 
* * string http2_error = 4; * @return Whether the http2Error field is set. */ public boolean hasHttp2Error() { return errorTypeCase_ == 4; } /** *
       * $hide_from_docs
       * 
* * string http2_error = 4; * @return The http2Error. */ public java.lang.String getHttp2Error() { java.lang.Object ref = ""; if (errorTypeCase_ == 4) { ref = errorType_; } if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (errorTypeCase_ == 4) { errorType_ = s; } return s; } } /** *
       * $hide_from_docs
       * 
* * string http2_error = 4; * @return The bytes for http2Error. */ public com.google.protobuf.ByteString getHttp2ErrorBytes() { java.lang.Object ref = ""; if (errorTypeCase_ == 4) { ref = errorType_; } if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (errorTypeCase_ == 4) { errorType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int PERCENTAGE_FIELD_NUMBER = 5; private istio.networking.v1alpha3.VirtualServiceOuterClass.Percent percentage_; /** *
       * Percentage of requests to be aborted with the error code provided.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return Whether the percentage field is set. */ @java.lang.Override public boolean hasPercentage() { return percentage_ != null; } /** *
       * Percentage of requests to be aborted with the error code provided.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return The percentage. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getPercentage() { return percentage_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance() : percentage_; } /** *
       * Percentage of requests to be aborted with the error code provided.
       * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder getPercentageOrBuilder() { return getPercentage(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (errorTypeCase_ == 2) { output.writeInt32( 2, (int)((java.lang.Integer) errorType_)); } if (errorTypeCase_ == 3) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, errorType_); } if (errorTypeCase_ == 4) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, errorType_); } if (percentage_ != null) { output.writeMessage(5, getPercentage()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (errorTypeCase_ == 2) { size += com.google.protobuf.CodedOutputStream .computeInt32Size( 2, (int)((java.lang.Integer) errorType_)); } if (errorTypeCase_ == 3) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, errorType_); } if (errorTypeCase_ == 4) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, errorType_); } if (percentage_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getPercentage()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort other = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort) obj; if (hasPercentage() != other.hasPercentage()) return false; if (hasPercentage()) { if (!getPercentage() .equals(other.getPercentage())) return false; } if (!getErrorTypeCase().equals(other.getErrorTypeCase())) return false; switch (errorTypeCase_) { case 2: if (getHttpStatus() != other.getHttpStatus()) return false; break; case 3: if (!getGrpcStatus() .equals(other.getGrpcStatus())) return false; break; case 4: if (!getHttp2Error() .equals(other.getHttp2Error())) return false; break; case 0: default: } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasPercentage()) { hash = (37 * hash) + PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + getPercentage().hashCode(); } switch (errorTypeCase_) { case 2: hash = (37 * hash) + HTTP_STATUS_FIELD_NUMBER; hash = (53 * hash) + getHttpStatus(); break; case 3: hash = (37 * hash) + GRPC_STATUS_FIELD_NUMBER; hash = (53 * hash) + getGrpcStatus().hashCode(); break; case 4: hash = (37 * hash) + HTTP2_ERROR_FIELD_NUMBER; hash = (53 * hash) + getHttp2Error().hashCode(); break; case 0: default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
       * Abort specification is used to prematurely abort a request with a
       * pre-specified error code. The following example will return an HTTP 400
       * error code for 1 out of every 1000 requests to the "ratings" service "v1".
       * {{<tabset category-name="example">}}
       * {{<tab name="v1alpha3" category-value="v1alpha3">}}
       * ```yaml
       * apiVersion: networking.istio.io/v1alpha3
       * kind: VirtualService
       * metadata:
       *   name: ratings-route
       * spec:
       *   hosts:
       *   - ratings.prod.svc.cluster.local
       *   http:
       *   - route:
       *     - destination:
       *         host: ratings.prod.svc.cluster.local
       *         subset: v1
       *     fault:
       *       abort:
       *         percentage:
       *           value: 0.1
       *         httpStatus: 400
       * ```
       * {{</tab>}}
       * {{<tab name="v1beta1" category-value="v1beta1">}}
       * ```yaml
       * apiVersion: networking.istio.io/v1beta1
       * kind: VirtualService
       * metadata:
       *   name: ratings-route
       * spec:
       *   hosts:
       *   - ratings.prod.svc.cluster.local
       *   http:
       *   - route:
       *     - destination:
       *         host: ratings.prod.svc.cluster.local
       *         subset: v1
       *     fault:
       *       abort:
       *         percentage:
       *           value: 0.1
       *         httpStatus: 400
       * ```
       * {{</tab>}}
       * {{</tabset>}}
       * The _httpStatus_ field is used to indicate the HTTP status code to
       * return to the caller. The optional _percentage_ field can be used to only
       * abort a certain percentage of requests. If not specified, all requests are
       * aborted.
       * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPFaultInjection.Abort} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.HTTPFaultInjection.Abort) istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.AbortOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); if (percentageBuilder_ == null) { percentage_ = null; } else { percentage_ = null; percentageBuilder_ = null; } errorTypeCase_ = 0; errorType_ = null; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort build() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort result = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort(this); if (errorTypeCase_ == 2) { result.errorType_ = errorType_; } if (errorTypeCase_ == 3) { result.errorType_ = errorType_; } if (errorTypeCase_ == 4) { result.errorType_ = errorType_; } if (percentageBuilder_ == null) { result.percentage_ = percentage_; } else { result.percentage_ = percentageBuilder_.build(); } result.errorTypeCase_ = errorTypeCase_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.getDefaultInstance()) return this; if (other.hasPercentage()) { mergePercentage(other.getPercentage()); } switch (other.getErrorTypeCase()) { case HTTP_STATUS: { setHttpStatus(other.getHttpStatus()); break; } case GRPC_STATUS: { errorTypeCase_ = 3; errorType_ = other.errorType_; onChanged(); break; } case HTTP2_ERROR: { errorTypeCase_ = 4; errorType_ = other.errorType_; onChanged(); break; } case ERRORTYPE_NOT_SET: { break; } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int errorTypeCase_ = 0; private java.lang.Object errorType_; public ErrorTypeCase getErrorTypeCase() { return ErrorTypeCase.forNumber( errorTypeCase_); } public Builder clearErrorType() { errorTypeCase_ = 0; errorType_ = null; onChanged(); return this; } /** *
         * HTTP status code to use to abort the Http request.
         * 
* * int32 http_status = 2 [(.google.api.field_behavior) = REQUIRED]; * @return Whether the httpStatus field is set. */ public boolean hasHttpStatus() { return errorTypeCase_ == 2; } /** *
         * HTTP status code to use to abort the Http request.
         * 
* * int32 http_status = 2 [(.google.api.field_behavior) = REQUIRED]; * @return The httpStatus. */ public int getHttpStatus() { if (errorTypeCase_ == 2) { return (java.lang.Integer) errorType_; } return 0; } /** *
         * HTTP status code to use to abort the Http request.
         * 
* * int32 http_status = 2 [(.google.api.field_behavior) = REQUIRED]; * @param value The httpStatus to set. * @return This builder for chaining. */ public Builder setHttpStatus(int value) { errorTypeCase_ = 2; errorType_ = value; onChanged(); return this; } /** *
         * HTTP status code to use to abort the Http request.
         * 
* * int32 http_status = 2 [(.google.api.field_behavior) = REQUIRED]; * @return This builder for chaining. */ public Builder clearHttpStatus() { if (errorTypeCase_ == 2) { errorTypeCase_ = 0; errorType_ = null; onChanged(); } return this; } /** *
         * $hide_from_docs
         * 
* * string grpc_status = 3; * @return Whether the grpcStatus field is set. */ @java.lang.Override public boolean hasGrpcStatus() { return errorTypeCase_ == 3; } /** *
         * $hide_from_docs
         * 
* * string grpc_status = 3; * @return The grpcStatus. */ @java.lang.Override public java.lang.String getGrpcStatus() { java.lang.Object ref = ""; if (errorTypeCase_ == 3) { ref = errorType_; } if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (errorTypeCase_ == 3) { errorType_ = s; } return s; } else { return (java.lang.String) ref; } } /** *
         * $hide_from_docs
         * 
* * string grpc_status = 3; * @return The bytes for grpcStatus. */ @java.lang.Override public com.google.protobuf.ByteString getGrpcStatusBytes() { java.lang.Object ref = ""; if (errorTypeCase_ == 3) { ref = errorType_; } if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (errorTypeCase_ == 3) { errorType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
         * $hide_from_docs
         * 
* * string grpc_status = 3; * @param value The grpcStatus to set. * @return This builder for chaining. */ public Builder setGrpcStatus( java.lang.String value) { if (value == null) { throw new NullPointerException(); } errorTypeCase_ = 3; errorType_ = value; onChanged(); return this; } /** *
         * $hide_from_docs
         * 
* * string grpc_status = 3; * @return This builder for chaining. */ public Builder clearGrpcStatus() { if (errorTypeCase_ == 3) { errorTypeCase_ = 0; errorType_ = null; onChanged(); } return this; } /** *
         * $hide_from_docs
         * 
* * string grpc_status = 3; * @param value The bytes for grpcStatus to set. * @return This builder for chaining. */ public Builder setGrpcStatusBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); errorTypeCase_ = 3; errorType_ = value; onChanged(); return this; } /** *
         * $hide_from_docs
         * 
* * string http2_error = 4; * @return Whether the http2Error field is set. */ @java.lang.Override public boolean hasHttp2Error() { return errorTypeCase_ == 4; } /** *
         * $hide_from_docs
         * 
* * string http2_error = 4; * @return The http2Error. */ @java.lang.Override public java.lang.String getHttp2Error() { java.lang.Object ref = ""; if (errorTypeCase_ == 4) { ref = errorType_; } if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); if (errorTypeCase_ == 4) { errorType_ = s; } return s; } else { return (java.lang.String) ref; } } /** *
         * $hide_from_docs
         * 
* * string http2_error = 4; * @return The bytes for http2Error. */ @java.lang.Override public com.google.protobuf.ByteString getHttp2ErrorBytes() { java.lang.Object ref = ""; if (errorTypeCase_ == 4) { ref = errorType_; } if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); if (errorTypeCase_ == 4) { errorType_ = b; } return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
         * $hide_from_docs
         * 
* * string http2_error = 4; * @param value The http2Error to set. * @return This builder for chaining. */ public Builder setHttp2Error( java.lang.String value) { if (value == null) { throw new NullPointerException(); } errorTypeCase_ = 4; errorType_ = value; onChanged(); return this; } /** *
         * $hide_from_docs
         * 
* * string http2_error = 4; * @return This builder for chaining. */ public Builder clearHttp2Error() { if (errorTypeCase_ == 4) { errorTypeCase_ = 0; errorType_ = null; onChanged(); } return this; } /** *
         * $hide_from_docs
         * 
* * string http2_error = 4; * @param value The bytes for http2Error to set. * @return This builder for chaining. */ public Builder setHttp2ErrorBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); errorTypeCase_ = 4; errorType_ = value; onChanged(); return this; } private istio.networking.v1alpha3.VirtualServiceOuterClass.Percent percentage_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Percent, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder> percentageBuilder_; /** *
         * Percentage of requests to be aborted with the error code provided.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return Whether the percentage field is set. */ public boolean hasPercentage() { return percentageBuilder_ != null || percentage_ != null; } /** *
         * Percentage of requests to be aborted with the error code provided.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; * @return The percentage. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getPercentage() { if (percentageBuilder_ == null) { return percentage_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance() : percentage_; } else { return percentageBuilder_.getMessage(); } } /** *
         * Percentage of requests to be aborted with the error code provided.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public Builder setPercentage(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent value) { if (percentageBuilder_ == null) { if (value == null) { throw new NullPointerException(); } percentage_ = value; onChanged(); } else { percentageBuilder_.setMessage(value); } return this; } /** *
         * Percentage of requests to be aborted with the error code provided.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public Builder setPercentage( istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder builderForValue) { if (percentageBuilder_ == null) { percentage_ = builderForValue.build(); onChanged(); } else { percentageBuilder_.setMessage(builderForValue.build()); } return this; } /** *
         * Percentage of requests to be aborted with the error code provided.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public Builder mergePercentage(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent value) { if (percentageBuilder_ == null) { if (percentage_ != null) { percentage_ = istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.newBuilder(percentage_).mergeFrom(value).buildPartial(); } else { percentage_ = value; } onChanged(); } else { percentageBuilder_.mergeFrom(value); } return this; } /** *
         * Percentage of requests to be aborted with the error code provided.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public Builder clearPercentage() { if (percentageBuilder_ == null) { percentage_ = null; onChanged(); } else { percentage_ = null; percentageBuilder_ = null; } return this; } /** *
         * Percentage of requests to be aborted with the error code provided.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder getPercentageBuilder() { onChanged(); return getPercentageFieldBuilder().getBuilder(); } /** *
         * Percentage of requests to be aborted with the error code provided.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder getPercentageOrBuilder() { if (percentageBuilder_ != null) { return percentageBuilder_.getMessageOrBuilder(); } else { return percentage_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance() : percentage_; } } /** *
         * Percentage of requests to be aborted with the error code provided.
         * 
* * .istio.networking.v1alpha3.Percent percentage = 5; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Percent, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder> getPercentageFieldBuilder() { if (percentageBuilder_ == null) { percentageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.Percent, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder>( getPercentage(), getParentForChildren(), isClean()); percentage_ = null; } return percentageBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.HTTPFaultInjection.Abort) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.HTTPFaultInjection.Abort) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Abort parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new Abort(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public static final int DELAY_FIELD_NUMBER = 1; private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay delay_; /** *
     * Delay requests before forwarding, emulating various failures such as
     * network issues, overloaded upstream service, etc.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; * @return Whether the delay field is set. */ @java.lang.Override public boolean hasDelay() { return delay_ != null; } /** *
     * Delay requests before forwarding, emulating various failures such as
     * network issues, overloaded upstream service, etc.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; * @return The delay. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay getDelay() { return delay_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.getDefaultInstance() : delay_; } /** *
     * Delay requests before forwarding, emulating various failures such as
     * network issues, overloaded upstream service, etc.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.DelayOrBuilder getDelayOrBuilder() { return getDelay(); } public static final int ABORT_FIELD_NUMBER = 2; private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort abort_; /** *
     * Abort Http request attempts and return error codes back to downstream
     * service, giving the impression that the upstream service is faulty.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; * @return Whether the abort field is set. */ @java.lang.Override public boolean hasAbort() { return abort_ != null; } /** *
     * Abort Http request attempts and return error codes back to downstream
     * service, giving the impression that the upstream service is faulty.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; * @return The abort. */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort getAbort() { return abort_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.getDefaultInstance() : abort_; } /** *
     * Abort Http request attempts and return error codes back to downstream
     * service, giving the impression that the upstream service is faulty.
     * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; */ @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.AbortOrBuilder getAbortOrBuilder() { return getAbort(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (delay_ != null) { output.writeMessage(1, getDelay()); } if (abort_ != null) { output.writeMessage(2, getAbort()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (delay_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getDelay()); } if (abort_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getAbort()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection other = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection) obj; if (hasDelay() != other.hasDelay()) return false; if (hasDelay()) { if (!getDelay() .equals(other.getDelay())) return false; } if (hasAbort() != other.hasAbort()) return false; if (hasAbort()) { if (!getAbort() .equals(other.getAbort())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasDelay()) { hash = (37 * hash) + DELAY_FIELD_NUMBER; hash = (53 * hash) + getDelay().hashCode(); } if (hasAbort()) { hash = (37 * hash) + ABORT_FIELD_NUMBER; hash = (53 * hash) + getAbort().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * HTTPFaultInjection can be used to specify one or more faults to inject
     * while forwarding HTTP requests to the destination specified in a route.
     * Fault specification is part of a VirtualService rule. Faults include
     * aborting the Http request from downstream service, and/or delaying
     * proxying of requests. A fault rule MUST HAVE delay or abort or both.
     * *Note:* Delay and abort faults are independent of one another, even if
     * both are specified simultaneously.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.HTTPFaultInjection} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.HTTPFaultInjection) istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjectionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.class, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); if (delayBuilder_ == null) { delay_ = null; } else { delay_ = null; delayBuilder_ = null; } if (abortBuilder_ == null) { abort_ = null; } else { abort_ = null; abortBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_HTTPFaultInjection_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection build() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection result = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection(this); if (delayBuilder_ == null) { result.delay_ = delay_; } else { result.delay_ = delayBuilder_.build(); } if (abortBuilder_ == null) { result.abort_ = abort_; } else { result.abort_ = abortBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.getDefaultInstance()) return this; if (other.hasDelay()) { mergeDelay(other.getDelay()); } if (other.hasAbort()) { mergeAbort(other.getAbort()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay delay_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.DelayOrBuilder> delayBuilder_; /** *
       * Delay requests before forwarding, emulating various failures such as
       * network issues, overloaded upstream service, etc.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; * @return Whether the delay field is set. */ public boolean hasDelay() { return delayBuilder_ != null || delay_ != null; } /** *
       * Delay requests before forwarding, emulating various failures such as
       * network issues, overloaded upstream service, etc.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; * @return The delay. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay getDelay() { if (delayBuilder_ == null) { return delay_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.getDefaultInstance() : delay_; } else { return delayBuilder_.getMessage(); } } /** *
       * Delay requests before forwarding, emulating various failures such as
       * network issues, overloaded upstream service, etc.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; */ public Builder setDelay(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay value) { if (delayBuilder_ == null) { if (value == null) { throw new NullPointerException(); } delay_ = value; onChanged(); } else { delayBuilder_.setMessage(value); } return this; } /** *
       * Delay requests before forwarding, emulating various failures such as
       * network issues, overloaded upstream service, etc.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; */ public Builder setDelay( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.Builder builderForValue) { if (delayBuilder_ == null) { delay_ = builderForValue.build(); onChanged(); } else { delayBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Delay requests before forwarding, emulating various failures such as
       * network issues, overloaded upstream service, etc.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; */ public Builder mergeDelay(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay value) { if (delayBuilder_ == null) { if (delay_ != null) { delay_ = istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.newBuilder(delay_).mergeFrom(value).buildPartial(); } else { delay_ = value; } onChanged(); } else { delayBuilder_.mergeFrom(value); } return this; } /** *
       * Delay requests before forwarding, emulating various failures such as
       * network issues, overloaded upstream service, etc.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; */ public Builder clearDelay() { if (delayBuilder_ == null) { delay_ = null; onChanged(); } else { delay_ = null; delayBuilder_ = null; } return this; } /** *
       * Delay requests before forwarding, emulating various failures such as
       * network issues, overloaded upstream service, etc.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.Builder getDelayBuilder() { onChanged(); return getDelayFieldBuilder().getBuilder(); } /** *
       * Delay requests before forwarding, emulating various failures such as
       * network issues, overloaded upstream service, etc.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.DelayOrBuilder getDelayOrBuilder() { if (delayBuilder_ != null) { return delayBuilder_.getMessageOrBuilder(); } else { return delay_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.getDefaultInstance() : delay_; } } /** *
       * Delay requests before forwarding, emulating various failures such as
       * network issues, overloaded upstream service, etc.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Delay delay = 1; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.DelayOrBuilder> getDelayFieldBuilder() { if (delayBuilder_ == null) { delayBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Delay.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.DelayOrBuilder>( getDelay(), getParentForChildren(), isClean()); delay_ = null; } return delayBuilder_; } private istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort abort_; private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.AbortOrBuilder> abortBuilder_; /** *
       * Abort Http request attempts and return error codes back to downstream
       * service, giving the impression that the upstream service is faulty.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; * @return Whether the abort field is set. */ public boolean hasAbort() { return abortBuilder_ != null || abort_ != null; } /** *
       * Abort Http request attempts and return error codes back to downstream
       * service, giving the impression that the upstream service is faulty.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; * @return The abort. */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort getAbort() { if (abortBuilder_ == null) { return abort_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.getDefaultInstance() : abort_; } else { return abortBuilder_.getMessage(); } } /** *
       * Abort Http request attempts and return error codes back to downstream
       * service, giving the impression that the upstream service is faulty.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; */ public Builder setAbort(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort value) { if (abortBuilder_ == null) { if (value == null) { throw new NullPointerException(); } abort_ = value; onChanged(); } else { abortBuilder_.setMessage(value); } return this; } /** *
       * Abort Http request attempts and return error codes back to downstream
       * service, giving the impression that the upstream service is faulty.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; */ public Builder setAbort( istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.Builder builderForValue) { if (abortBuilder_ == null) { abort_ = builderForValue.build(); onChanged(); } else { abortBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * Abort Http request attempts and return error codes back to downstream
       * service, giving the impression that the upstream service is faulty.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; */ public Builder mergeAbort(istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort value) { if (abortBuilder_ == null) { if (abort_ != null) { abort_ = istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.newBuilder(abort_).mergeFrom(value).buildPartial(); } else { abort_ = value; } onChanged(); } else { abortBuilder_.mergeFrom(value); } return this; } /** *
       * Abort Http request attempts and return error codes back to downstream
       * service, giving the impression that the upstream service is faulty.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; */ public Builder clearAbort() { if (abortBuilder_ == null) { abort_ = null; onChanged(); } else { abort_ = null; abortBuilder_ = null; } return this; } /** *
       * Abort Http request attempts and return error codes back to downstream
       * service, giving the impression that the upstream service is faulty.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.Builder getAbortBuilder() { onChanged(); return getAbortFieldBuilder().getBuilder(); } /** *
       * Abort Http request attempts and return error codes back to downstream
       * service, giving the impression that the upstream service is faulty.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; */ public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.AbortOrBuilder getAbortOrBuilder() { if (abortBuilder_ != null) { return abortBuilder_.getMessageOrBuilder(); } else { return abort_ == null ? istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.getDefaultInstance() : abort_; } } /** *
       * Abort Http request attempts and return error codes back to downstream
       * service, giving the impression that the upstream service is faulty.
       * 
* * .istio.networking.v1alpha3.HTTPFaultInjection.Abort abort = 2; */ private com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.AbortOrBuilder> getAbortFieldBuilder() { if (abortBuilder_ == null) { abortBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.Abort.Builder, istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection.AbortOrBuilder>( getAbort(), getParentForChildren(), isClean()); abort_ = null; } return abortBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.HTTPFaultInjection) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.HTTPFaultInjection) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HTTPFaultInjection parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new HTTPFaultInjection(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.HTTPFaultInjection getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface PortSelectorOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.PortSelector) com.google.protobuf.MessageOrBuilder { /** *
     * Valid port number
     * 
* * uint32 number = 1; * @return The number. */ int getNumber(); } /** *
   * PortSelector specifies the number of a port to be used for
   * matching or selection for final routing.
   * 
* * Protobuf type {@code istio.networking.v1alpha3.PortSelector} */ public static final class PortSelector extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.PortSelector) PortSelectorOrBuilder { private static final long serialVersionUID = 0L; // Use PortSelector.newBuilder() to construct. private PortSelector(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private PortSelector() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new PortSelector(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private PortSelector( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { number_ = input.readUInt32(); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_PortSelector_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_PortSelector_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.class, istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.Builder.class); } public static final int NUMBER_FIELD_NUMBER = 1; private int number_; /** *
     * Valid port number
     * 
* * uint32 number = 1; * @return The number. */ @java.lang.Override public int getNumber() { return number_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (number_ != 0) { output.writeUInt32(1, number_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (number_ != 0) { size += com.google.protobuf.CodedOutputStream .computeUInt32Size(1, number_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector other = (istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector) obj; if (getNumber() != other.getNumber()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + NUMBER_FIELD_NUMBER; hash = (53 * hash) + getNumber(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * PortSelector specifies the number of a port to be used for
     * matching or selection for final routing.
     * 
* * Protobuf type {@code istio.networking.v1alpha3.PortSelector} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.PortSelector) istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelectorOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_PortSelector_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_PortSelector_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.class, istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); number_ = 0; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_PortSelector_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector build() { istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector result = new istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector(this); result.number_ = number_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector.getDefaultInstance()) return this; if (other.getNumber() != 0) { setNumber(other.getNumber()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int number_ ; /** *
       * Valid port number
       * 
* * uint32 number = 1; * @return The number. */ @java.lang.Override public int getNumber() { return number_; } /** *
       * Valid port number
       * 
* * uint32 number = 1; * @param value The number to set. * @return This builder for chaining. */ public Builder setNumber(int value) { number_ = value; onChanged(); return this; } /** *
       * Valid port number
       * 
* * uint32 number = 1; * @return This builder for chaining. */ public Builder clearNumber() { number_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.PortSelector) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.PortSelector) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public PortSelector parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new PortSelector(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.PortSelector getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface PercentOrBuilder extends // @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.Percent) com.google.protobuf.MessageOrBuilder { /** * double value = 1; * @return The value. */ double getValue(); } /** *
   * Percent specifies a percentage in the range of [0.0, 100.0].
   * 
* * Protobuf type {@code istio.networking.v1alpha3.Percent} */ public static final class Percent extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.Percent) PercentOrBuilder { private static final long serialVersionUID = 0L; // Use Percent.newBuilder() to construct. private Percent(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Percent() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Percent(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Percent( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 9: { value_ = input.readDouble(); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Percent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Percent_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder.class); } public static final int VALUE_FIELD_NUMBER = 1; private double value_; /** * double value = 1; * @return The value. */ @java.lang.Override public double getValue() { return value_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (value_ != 0D) { output.writeDouble(1, value_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (value_ != 0D) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(1, value_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Percent)) { return super.equals(obj); } istio.networking.v1alpha3.VirtualServiceOuterClass.Percent other = (istio.networking.v1alpha3.VirtualServiceOuterClass.Percent) obj; if (java.lang.Double.doubleToLongBits(getValue()) != java.lang.Double.doubleToLongBits( other.getValue())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + VALUE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getValue())); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Percent specifies a percentage in the range of [0.0, 100.0].
     * 
* * Protobuf type {@code istio.networking.v1alpha3.Percent} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.Percent) istio.networking.v1alpha3.VirtualServiceOuterClass.PercentOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Percent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Percent_fieldAccessorTable .ensureFieldAccessorsInitialized( istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.class, istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.Builder.class); } // Construct using istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); value_ = 0D; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.internal_static_istio_networking_v1alpha3_Percent_descriptor; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getDefaultInstanceForType() { return istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance(); } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent build() { istio.networking.v1alpha3.VirtualServiceOuterClass.Percent result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent buildPartial() { istio.networking.v1alpha3.VirtualServiceOuterClass.Percent result = new istio.networking.v1alpha3.VirtualServiceOuterClass.Percent(this); result.value_ = value_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof istio.networking.v1alpha3.VirtualServiceOuterClass.Percent) { return mergeFrom((istio.networking.v1alpha3.VirtualServiceOuterClass.Percent)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(istio.networking.v1alpha3.VirtualServiceOuterClass.Percent other) { if (other == istio.networking.v1alpha3.VirtualServiceOuterClass.Percent.getDefaultInstance()) return this; if (other.getValue() != 0D) { setValue(other.getValue()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { istio.networking.v1alpha3.VirtualServiceOuterClass.Percent parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (istio.networking.v1alpha3.VirtualServiceOuterClass.Percent) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private double value_ ; /** * double value = 1; * @return The value. */ @java.lang.Override public double getValue() { return value_; } /** * double value = 1; * @param value The value to set. * @return This builder for chaining. */ public Builder setValue(double value) { value_ = value; onChanged(); return this; } /** * double value = 1; * @return This builder for chaining. */ public Builder clearValue() { value_ = 0D; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:istio.networking.v1alpha3.Percent) } // @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Percent) private static final istio.networking.v1alpha3.VirtualServiceOuterClass.Percent DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new istio.networking.v1alpha3.VirtualServiceOuterClass.Percent(); } public static istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Percent parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new Percent(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public istio.networking.v1alpha3.VirtualServiceOuterClass.Percent getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_VirtualService_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_VirtualService_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_Destination_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_Destination_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPRoute_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPRoute_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_Delegate_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_Delegate_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_Headers_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_Headers_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_SetEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_SetEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_AddEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_AddEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_TLSRoute_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_TLSRoute_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_TCPRoute_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_TCPRoute_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPMatchRequest_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPMatchRequest_HeadersEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPMatchRequest_HeadersEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPMatchRequest_SourceLabelsEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPMatchRequest_SourceLabelsEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPMatchRequest_QueryParamsEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPMatchRequest_QueryParamsEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPMatchRequest_WithoutHeadersEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPMatchRequest_WithoutHeadersEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPRouteDestination_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPRouteDestination_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_RouteDestination_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_RouteDestination_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_L4MatchAttributes_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_L4MatchAttributes_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_L4MatchAttributes_SourceLabelsEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_L4MatchAttributes_SourceLabelsEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_TLSMatchAttributes_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_TLSMatchAttributes_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_TLSMatchAttributes_SourceLabelsEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_TLSMatchAttributes_SourceLabelsEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPRedirect_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPRedirect_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPRewrite_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPRewrite_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_StringMatch_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_StringMatch_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPRetry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPRetry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_CorsPolicy_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_CorsPolicy_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPFaultInjection_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPFaultInjection_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_PortSelector_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_PortSelector_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_istio_networking_v1alpha3_Percent_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_istio_networking_v1alpha3_Percent_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; } private static com.google.protobuf.Descriptors.FileDescriptor descriptor; static { java.lang.String[] descriptorData = { "\n)networking/v1alpha3/virtual_service.pr" + "oto\022\031istio.networking.v1alpha3\032\037google/a" + "pi/field_behavior.proto\032\036google/protobuf" + "/duration.proto\032\036google/protobuf/wrapper" + "s.proto\"\334\001\n\016VirtualService\022\r\n\005hosts\030\001 \003(" + "\t\022\020\n\010gateways\030\002 \003(\t\0222\n\004http\030\003 \003(\0132$.isti" + "o.networking.v1alpha3.HTTPRoute\0220\n\003tls\030\005" + " \003(\0132#.istio.networking.v1alpha3.TLSRout" + "e\0220\n\003tcp\030\004 \003(\0132#.istio.networking.v1alph" + "a3.TCPRoute\022\021\n\texport_to\030\006 \003(\t\"g\n\013Destin" + "ation\022\021\n\004host\030\001 \001(\tB\003\340A\002\022\016\n\006subset\030\002 \001(\t" + "\0225\n\004port\030\003 \001(\0132\'.istio.networking.v1alph" + "a3.PortSelector\"\224\007\n\tHTTPRoute\022\014\n\004name\030\021 " + "\001(\t\022:\n\005match\030\001 \003(\0132+.istio.networking.v1" + "alpha3.HTTPMatchRequest\022>\n\005route\030\002 \003(\0132/" + ".istio.networking.v1alpha3.HTTPRouteDest" + "ination\0229\n\010redirect\030\003 \001(\0132\'.istio.networ" + "king.v1alpha3.HTTPRedirect\0225\n\010delegate\030\024" + " \001(\0132#.istio.networking.v1alpha3.Delegat" + "e\0227\n\007rewrite\030\004 \001(\0132&.istio.networking.v1" + "alpha3.HTTPRewrite\022*\n\007timeout\030\006 \001(\0132\031.go" + "ogle.protobuf.Duration\0225\n\007retries\030\007 \001(\0132" + "$.istio.networking.v1alpha3.HTTPRetry\022<\n" + "\005fault\030\010 \001(\0132-.istio.networking.v1alpha3" + ".HTTPFaultInjection\0226\n\006mirror\030\t \001(\0132&.is" + "tio.networking.v1alpha3.Destination\0228\n\016m" + "irror_percent\030\022 \001(\0132\034.google.protobuf.UI" + "nt32ValueB\002\030\001\022=\n\021mirror_percentage\030\023 \001(\013" + "2\".istio.networking.v1alpha3.Percent\022:\n\013" + "cors_policy\030\n \001(\0132%.istio.networking.v1a" + "lpha3.CorsPolicy\0223\n\007headers\030\020 \001(\0132\".isti" + "o.networking.v1alpha3.HeadersJ\004\010\005\020\006J\004\010\013\020" + "\020R\021websocket_upgradeR\016append_headersR\027re" + "move_response_headersR\027append_response_h" + "eadersR\026remove_request_headersR\026append_r" + "equest_headers\"+\n\010Delegate\022\014\n\004name\030\001 \001(\t" + "\022\021\n\tnamespace\030\002 \001(\t\"\251\003\n\007Headers\022D\n\007reque" + "st\030\001 \001(\01323.istio.networking.v1alpha3.Hea" + "ders.HeaderOperations\022E\n\010response\030\002 \001(\0132" + "3.istio.networking.v1alpha3.Headers.Head" + "erOperations\032\220\002\n\020HeaderOperations\022I\n\003set" + "\030\001 \003(\0132<.istio.networking.v1alpha3.Heade" + "rs.HeaderOperations.SetEntry\022I\n\003add\030\002 \003(" + "\0132<.istio.networking.v1alpha3.Headers.He" + "aderOperations.AddEntry\022\016\n\006remove\030\003 \003(\t\032" + "*\n\010SetEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:" + "\0028\001\032*\n\010AddEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 " + "\001(\t:\0028\001\"\211\001\n\010TLSRoute\022A\n\005match\030\001 \003(\0132-.is" + "tio.networking.v1alpha3.TLSMatchAttribut" + "esB\003\340A\002\022:\n\005route\030\002 \003(\0132+.istio.networkin" + "g.v1alpha3.RouteDestination\"\203\001\n\010TCPRoute" + "\022;\n\005match\030\001 \003(\0132,.istio.networking.v1alp" + "ha3.L4MatchAttributes\022:\n\005route\030\002 \003(\0132+.i" + "stio.networking.v1alpha3.RouteDestinatio" + "n\"\352\007\n\020HTTPMatchRequest\022\014\n\004name\030\013 \001(\t\0223\n\003" + "uri\030\001 \001(\0132&.istio.networking.v1alpha3.St" + "ringMatch\0226\n\006scheme\030\002 \001(\0132&.istio.networ" + "king.v1alpha3.StringMatch\0226\n\006method\030\003 \001(" + "\0132&.istio.networking.v1alpha3.StringMatc" + "h\0229\n\tauthority\030\004 \001(\0132&.istio.networking." + "v1alpha3.StringMatch\022I\n\007headers\030\005 \003(\01328." + "istio.networking.v1alpha3.HTTPMatchReque" + "st.HeadersEntry\022\014\n\004port\030\006 \001(\r\022T\n\rsource_" + "labels\030\007 \003(\0132=.istio.networking.v1alpha3" + ".HTTPMatchRequest.SourceLabelsEntry\022\020\n\010g" + "ateways\030\010 \003(\t\022R\n\014query_params\030\t \003(\0132<.is" + "tio.networking.v1alpha3.HTTPMatchRequest" + ".QueryParamsEntry\022\027\n\017ignore_uri_case\030\n \001" + "(\010\022X\n\017without_headers\030\014 \003(\0132?.istio.netw" + "orking.v1alpha3.HTTPMatchRequest.Without" + "HeadersEntry\022\030\n\020source_namespace\030\r \001(\t\032V" + "\n\014HeadersEntry\022\013\n\003key\030\001 \001(\t\0225\n\005value\030\002 \001" + "(\0132&.istio.networking.v1alpha3.StringMat" + "ch:\0028\001\0323\n\021SourceLabelsEntry\022\013\n\003key\030\001 \001(\t" + "\022\r\n\005value\030\002 \001(\t:\0028\001\032Z\n\020QueryParamsEntry\022" + "\013\n\003key\030\001 \001(\t\0225\n\005value\030\002 \001(\0132&.istio.netw" + "orking.v1alpha3.StringMatch:\0028\001\032]\n\023Witho" + "utHeadersEntry\022\013\n\003key\030\001 \001(\t\0225\n\005value\030\002 \001" + "(\0132&.istio.networking.v1alpha3.StringMat" + "ch:\0028\001\"\205\002\n\024HTTPRouteDestination\022@\n\013desti" + "nation\030\001 \001(\0132&.istio.networking.v1alpha3" + ".DestinationB\003\340A\002\022\016\n\006weight\030\002 \001(\005\0223\n\007hea" + "ders\030\007 \001(\0132\".istio.networking.v1alpha3.H" + "eadersJ\004\010\003\020\007R\027remove_response_headersR\027a" + "ppend_response_headersR\026remove_request_h" + "eadersR\026append_request_headers\"d\n\020RouteD" + "estination\022@\n\013destination\030\001 \001(\0132&.istio." + "networking.v1alpha3.DestinationB\003\340A\002\022\016\n\006" + "weight\030\002 \001(\005\"\215\002\n\021L4MatchAttributes\022\033\n\023de" + "stination_subnets\030\001 \003(\t\022\014\n\004port\030\002 \001(\r\022\025\n" + "\rsource_subnet\030\003 \001(\t\022U\n\rsource_labels\030\004 " + "\003(\0132>.istio.networking.v1alpha3.L4MatchA" + "ttributes.SourceLabelsEntry\022\020\n\010gateways\030" + "\005 \003(\t\022\030\n\020source_namespace\030\006 \001(\t\0323\n\021Sourc" + "eLabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" + ":\0028\001\"\245\002\n\022TLSMatchAttributes\022\026\n\tsni_hosts" + "\030\001 \003(\tB\003\340A\002\022\033\n\023destination_subnets\030\002 \003(\t" + "\022\014\n\004port\030\003 \001(\r\022V\n\rsource_labels\030\005 \003(\0132?." + "istio.networking.v1alpha3.TLSMatchAttrib" + "utes.SourceLabelsEntry\022\020\n\010gateways\030\006 \003(\t" + "\022\030\n\020source_namespace\030\007 \001(\t\0323\n\021SourceLabe" + "lsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001J" + "\004\010\004\020\005R\rsource_subnet\"E\n\014HTTPRedirect\022\013\n\003" + "uri\030\001 \001(\t\022\021\n\tauthority\030\002 \001(\t\022\025\n\rredirect" + "_code\030\003 \001(\r\"-\n\013HTTPRewrite\022\013\n\003uri\030\001 \001(\t\022" + "\021\n\tauthority\030\002 \001(\t\"O\n\013StringMatch\022\017\n\005exa" + "ct\030\001 \001(\tH\000\022\020\n\006prefix\030\002 \001(\tH\000\022\017\n\005regex\030\003 " + "\001(\tH\000B\014\n\nmatch_type\"\245\001\n\tHTTPRetry\022\025\n\010att" + "empts\030\001 \001(\005B\003\340A\002\0222\n\017per_try_timeout\030\002 \001(" + "\0132\031.google.protobuf.Duration\022\020\n\010retry_on" + "\030\003 \001(\t\022;\n\027retry_remote_localities\030\004 \001(\0132" + "\032.google.protobuf.BoolValue\"\216\002\n\nCorsPoli" + "cy\022\030\n\014allow_origin\030\001 \003(\tB\002\030\001\022=\n\rallow_or" + "igins\030\007 \003(\0132&.istio.networking.v1alpha3." + "StringMatch\022\025\n\rallow_methods\030\002 \003(\t\022\025\n\ral" + "low_headers\030\003 \003(\t\022\026\n\016expose_headers\030\004 \003(" + "\t\022*\n\007max_age\030\005 \001(\0132\031.google.protobuf.Dur" + "ation\0225\n\021allow_credentials\030\006 \001(\0132\032.googl" + "e.protobuf.BoolValue\"\236\004\n\022HTTPFaultInject" + "ion\022B\n\005delay\030\001 \001(\01323.istio.networking.v1" + "alpha3.HTTPFaultInjection.Delay\022B\n\005abort" + "\030\002 \001(\01323.istio.networking.v1alpha3.HTTPF" + "aultInjection.Abort\032\326\001\n\005Delay\022\023\n\007percent" + "\030\001 \001(\005B\002\030\001\0225\n\013fixed_delay\030\002 \001(\0132\031.google" + ".protobuf.DurationB\003\340A\002H\000\0226\n\021exponential" + "_delay\030\003 \001(\0132\031.google.protobuf.DurationH" + "\000\0226\n\npercentage\030\005 \001(\0132\".istio.networking" + ".v1alpha3.PercentB\021\n\017http_delay_type\032\246\001\n" + "\005Abort\022\032\n\013http_status\030\002 \001(\005B\003\340A\002H\000\022\025\n\013gr" + "pc_status\030\003 \001(\tH\000\022\025\n\013http2_error\030\004 \001(\tH\000" + "\0226\n\npercentage\030\005 \001(\0132\".istio.networking." + "v1alpha3.PercentB\014\n\nerror_typeJ\004\010\001\020\002R\007pe" + "rcent\"*\n\014PortSelector\022\016\n\006number\030\001 \001(\rJ\004\010" + "\002\020\003R\004name\"\030\n\007Percent\022\r\n\005value\030\001 \001(\001B\"Z i" + "stio.io/api/networking/v1alpha3b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { com.google.api.FieldBehaviorProto.getDescriptor(), com.google.protobuf.DurationProto.getDescriptor(), com.google.protobuf.WrappersProto.getDescriptor(), }); internal_static_istio_networking_v1alpha3_VirtualService_descriptor = getDescriptor().getMessageTypes().get(0); internal_static_istio_networking_v1alpha3_VirtualService_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_VirtualService_descriptor, new java.lang.String[] { "Hosts", "Gateways", "Http", "Tls", "Tcp", "ExportTo", }); internal_static_istio_networking_v1alpha3_Destination_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_istio_networking_v1alpha3_Destination_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_Destination_descriptor, new java.lang.String[] { "Host", "Subset", "Port", }); internal_static_istio_networking_v1alpha3_HTTPRoute_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_istio_networking_v1alpha3_HTTPRoute_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPRoute_descriptor, new java.lang.String[] { "Name", "Match", "Route", "Redirect", "Delegate", "Rewrite", "Timeout", "Retries", "Fault", "Mirror", "MirrorPercent", "MirrorPercentage", "CorsPolicy", "Headers", }); internal_static_istio_networking_v1alpha3_Delegate_descriptor = getDescriptor().getMessageTypes().get(3); internal_static_istio_networking_v1alpha3_Delegate_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_Delegate_descriptor, new java.lang.String[] { "Name", "Namespace", }); internal_static_istio_networking_v1alpha3_Headers_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_istio_networking_v1alpha3_Headers_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_Headers_descriptor, new java.lang.String[] { "Request", "Response", }); internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_descriptor = internal_static_istio_networking_v1alpha3_Headers_descriptor.getNestedTypes().get(0); internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_descriptor, new java.lang.String[] { "Set", "Add", "Remove", }); internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_SetEntry_descriptor = internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_descriptor.getNestedTypes().get(0); internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_SetEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_SetEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_AddEntry_descriptor = internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_descriptor.getNestedTypes().get(1); internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_AddEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_Headers_HeaderOperations_AddEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_istio_networking_v1alpha3_TLSRoute_descriptor = getDescriptor().getMessageTypes().get(5); internal_static_istio_networking_v1alpha3_TLSRoute_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_TLSRoute_descriptor, new java.lang.String[] { "Match", "Route", }); internal_static_istio_networking_v1alpha3_TCPRoute_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_istio_networking_v1alpha3_TCPRoute_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_TCPRoute_descriptor, new java.lang.String[] { "Match", "Route", }); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor = getDescriptor().getMessageTypes().get(7); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor, new java.lang.String[] { "Name", "Uri", "Scheme", "Method", "Authority", "Headers", "Port", "SourceLabels", "Gateways", "QueryParams", "IgnoreUriCase", "WithoutHeaders", "SourceNamespace", }); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_HeadersEntry_descriptor = internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor.getNestedTypes().get(0); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_HeadersEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPMatchRequest_HeadersEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_SourceLabelsEntry_descriptor = internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor.getNestedTypes().get(1); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_SourceLabelsEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPMatchRequest_SourceLabelsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_QueryParamsEntry_descriptor = internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor.getNestedTypes().get(2); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_QueryParamsEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPMatchRequest_QueryParamsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_WithoutHeadersEntry_descriptor = internal_static_istio_networking_v1alpha3_HTTPMatchRequest_descriptor.getNestedTypes().get(3); internal_static_istio_networking_v1alpha3_HTTPMatchRequest_WithoutHeadersEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPMatchRequest_WithoutHeadersEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_istio_networking_v1alpha3_HTTPRouteDestination_descriptor = getDescriptor().getMessageTypes().get(8); internal_static_istio_networking_v1alpha3_HTTPRouteDestination_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPRouteDestination_descriptor, new java.lang.String[] { "Destination", "Weight", "Headers", }); internal_static_istio_networking_v1alpha3_RouteDestination_descriptor = getDescriptor().getMessageTypes().get(9); internal_static_istio_networking_v1alpha3_RouteDestination_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_RouteDestination_descriptor, new java.lang.String[] { "Destination", "Weight", }); internal_static_istio_networking_v1alpha3_L4MatchAttributes_descriptor = getDescriptor().getMessageTypes().get(10); internal_static_istio_networking_v1alpha3_L4MatchAttributes_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_L4MatchAttributes_descriptor, new java.lang.String[] { "DestinationSubnets", "Port", "SourceSubnet", "SourceLabels", "Gateways", "SourceNamespace", }); internal_static_istio_networking_v1alpha3_L4MatchAttributes_SourceLabelsEntry_descriptor = internal_static_istio_networking_v1alpha3_L4MatchAttributes_descriptor.getNestedTypes().get(0); internal_static_istio_networking_v1alpha3_L4MatchAttributes_SourceLabelsEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_L4MatchAttributes_SourceLabelsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_istio_networking_v1alpha3_TLSMatchAttributes_descriptor = getDescriptor().getMessageTypes().get(11); internal_static_istio_networking_v1alpha3_TLSMatchAttributes_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_TLSMatchAttributes_descriptor, new java.lang.String[] { "SniHosts", "DestinationSubnets", "Port", "SourceLabels", "Gateways", "SourceNamespace", }); internal_static_istio_networking_v1alpha3_TLSMatchAttributes_SourceLabelsEntry_descriptor = internal_static_istio_networking_v1alpha3_TLSMatchAttributes_descriptor.getNestedTypes().get(0); internal_static_istio_networking_v1alpha3_TLSMatchAttributes_SourceLabelsEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_TLSMatchAttributes_SourceLabelsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_istio_networking_v1alpha3_HTTPRedirect_descriptor = getDescriptor().getMessageTypes().get(12); internal_static_istio_networking_v1alpha3_HTTPRedirect_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPRedirect_descriptor, new java.lang.String[] { "Uri", "Authority", "RedirectCode", }); internal_static_istio_networking_v1alpha3_HTTPRewrite_descriptor = getDescriptor().getMessageTypes().get(13); internal_static_istio_networking_v1alpha3_HTTPRewrite_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPRewrite_descriptor, new java.lang.String[] { "Uri", "Authority", }); internal_static_istio_networking_v1alpha3_StringMatch_descriptor = getDescriptor().getMessageTypes().get(14); internal_static_istio_networking_v1alpha3_StringMatch_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_StringMatch_descriptor, new java.lang.String[] { "Exact", "Prefix", "Regex", "MatchType", }); internal_static_istio_networking_v1alpha3_HTTPRetry_descriptor = getDescriptor().getMessageTypes().get(15); internal_static_istio_networking_v1alpha3_HTTPRetry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPRetry_descriptor, new java.lang.String[] { "Attempts", "PerTryTimeout", "RetryOn", "RetryRemoteLocalities", }); internal_static_istio_networking_v1alpha3_CorsPolicy_descriptor = getDescriptor().getMessageTypes().get(16); internal_static_istio_networking_v1alpha3_CorsPolicy_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_CorsPolicy_descriptor, new java.lang.String[] { "AllowOrigin", "AllowOrigins", "AllowMethods", "AllowHeaders", "ExposeHeaders", "MaxAge", "AllowCredentials", }); internal_static_istio_networking_v1alpha3_HTTPFaultInjection_descriptor = getDescriptor().getMessageTypes().get(17); internal_static_istio_networking_v1alpha3_HTTPFaultInjection_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPFaultInjection_descriptor, new java.lang.String[] { "Delay", "Abort", }); internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_descriptor = internal_static_istio_networking_v1alpha3_HTTPFaultInjection_descriptor.getNestedTypes().get(0); internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Delay_descriptor, new java.lang.String[] { "Percent", "FixedDelay", "ExponentialDelay", "Percentage", "HttpDelayType", }); internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_descriptor = internal_static_istio_networking_v1alpha3_HTTPFaultInjection_descriptor.getNestedTypes().get(1); internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_HTTPFaultInjection_Abort_descriptor, new java.lang.String[] { "HttpStatus", "GrpcStatus", "Http2Error", "Percentage", "ErrorType", }); internal_static_istio_networking_v1alpha3_PortSelector_descriptor = getDescriptor().getMessageTypes().get(18); internal_static_istio_networking_v1alpha3_PortSelector_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_PortSelector_descriptor, new java.lang.String[] { "Number", }); internal_static_istio_networking_v1alpha3_Percent_descriptor = getDescriptor().getMessageTypes().get(19); internal_static_istio_networking_v1alpha3_Percent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_istio_networking_v1alpha3_Percent_descriptor, new java.lang.String[] { "Value", }); com.google.protobuf.ExtensionRegistry registry = com.google.protobuf.ExtensionRegistry.newInstance(); registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); com.google.protobuf.Descriptors.FileDescriptor .internalUpdateFileDescriptor(descriptor, registry); com.google.api.FieldBehaviorProto.getDescriptor(); com.google.protobuf.DurationProto.getDescriptor(); com.google.protobuf.WrappersProto.getDescriptor(); } // @@protoc_insertion_point(outer_class_scope) }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy