Class HttpRouteRule

  • All Implemented Interfaces:
    HttpRouteRuleOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class HttpRouteRule
    extends com.google.protobuf.GeneratedMessageV3
    implements HttpRouteRuleOrBuilder
     The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform.
     
    Protobuf type google.cloud.compute.v1.HttpRouteRule
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  HttpRouteRule.Builder
      The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasDescription

        public boolean hasDescription()
         The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.
         
        optional string description = 422937596;
        Specified by:
        hasDescription in interface HttpRouteRuleOrBuilder
        Returns:
        Whether the description field is set.
      • getDescription

        public String getDescription()
         The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.
         
        optional string description = 422937596;
        Specified by:
        getDescription in interface HttpRouteRuleOrBuilder
        Returns:
        The description.
      • getDescriptionBytes

        public com.google.protobuf.ByteString getDescriptionBytes()
         The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.
         
        optional string description = 422937596;
        Specified by:
        getDescriptionBytes in interface HttpRouteRuleOrBuilder
        Returns:
        The bytes for description.
      • hasHeaderAction

        public boolean hasHeaderAction()
         Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
         
        optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;
        Specified by:
        hasHeaderAction in interface HttpRouteRuleOrBuilder
        Returns:
        Whether the headerAction field is set.
      • getHeaderAction

        public HttpHeaderAction getHeaderAction()
         Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
         
        optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;
        Specified by:
        getHeaderAction in interface HttpRouteRuleOrBuilder
        Returns:
        The headerAction.
      • getHeaderActionOrBuilder

        public HttpHeaderActionOrBuilder getHeaderActionOrBuilder()
         Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
         
        optional .google.cloud.compute.v1.HttpHeaderAction header_action = 328077352;
        Specified by:
        getHeaderActionOrBuilder in interface HttpRouteRuleOrBuilder
      • getMatchRulesList

        public List<HttpRouteRuleMatch> getMatchRulesList()
         The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.
         
        repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;
        Specified by:
        getMatchRulesList in interface HttpRouteRuleOrBuilder
      • getMatchRulesOrBuilderList

        public List<? extends HttpRouteRuleMatchOrBuilder> getMatchRulesOrBuilderList()
         The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.
         
        repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;
        Specified by:
        getMatchRulesOrBuilderList in interface HttpRouteRuleOrBuilder
      • getMatchRulesCount

        public int getMatchRulesCount()
         The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.
         
        repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;
        Specified by:
        getMatchRulesCount in interface HttpRouteRuleOrBuilder
      • getMatchRules

        public HttpRouteRuleMatch getMatchRules​(int index)
         The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.
         
        repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;
        Specified by:
        getMatchRules in interface HttpRouteRuleOrBuilder
      • getMatchRulesOrBuilder

        public HttpRouteRuleMatchOrBuilder getMatchRulesOrBuilder​(int index)
         The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.
         
        repeated .google.cloud.compute.v1.HttpRouteRuleMatch match_rules = 376200701;
        Specified by:
        getMatchRulesOrBuilder in interface HttpRouteRuleOrBuilder
      • hasPriority

        public boolean hasPriority()
         For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.
         
        optional int32 priority = 445151652;
        Specified by:
        hasPriority in interface HttpRouteRuleOrBuilder
        Returns:
        Whether the priority field is set.
      • getPriority

        public int getPriority()
         For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.
         
        optional int32 priority = 445151652;
        Specified by:
        getPriority in interface HttpRouteRuleOrBuilder
        Returns:
        The priority.
      • hasRouteAction

        public boolean hasRouteAction()
         In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
        Specified by:
        hasRouteAction in interface HttpRouteRuleOrBuilder
        Returns:
        Whether the routeAction field is set.
      • getRouteAction

        public HttpRouteAction getRouteAction()
         In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
        Specified by:
        getRouteAction in interface HttpRouteRuleOrBuilder
        Returns:
        The routeAction.
      • getRouteActionOrBuilder

        public HttpRouteActionOrBuilder getRouteActionOrBuilder()
         In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
        Specified by:
        getRouteActionOrBuilder in interface HttpRouteRuleOrBuilder
      • hasService

        public boolean hasService()
         The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.
         
        optional string service = 373540533;
        Specified by:
        hasService in interface HttpRouteRuleOrBuilder
        Returns:
        Whether the service field is set.
      • getService

        public String getService()
         The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.
         
        optional string service = 373540533;
        Specified by:
        getService in interface HttpRouteRuleOrBuilder
        Returns:
        The service.
      • getServiceBytes

        public com.google.protobuf.ByteString getServiceBytes()
         The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.
         
        optional string service = 373540533;
        Specified by:
        getServiceBytes in interface HttpRouteRuleOrBuilder
        Returns:
        The bytes for service.
      • hasUrlRedirect

        public boolean hasUrlRedirect()
         When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy.
         
        optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;
        Specified by:
        hasUrlRedirect in interface HttpRouteRuleOrBuilder
        Returns:
        Whether the urlRedirect field is set.
      • getUrlRedirect

        public HttpRedirectAction getUrlRedirect()
         When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy.
         
        optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;
        Specified by:
        getUrlRedirect in interface HttpRouteRuleOrBuilder
        Returns:
        The urlRedirect.
      • getUrlRedirectOrBuilder

        public HttpRedirectActionOrBuilder getUrlRedirectOrBuilder()
         When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy.
         
        optional .google.cloud.compute.v1.HttpRedirectAction url_redirect = 405147820;
        Specified by:
        getUrlRedirectOrBuilder in interface HttpRouteRuleOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static HttpRouteRule parseFrom​(ByteBuffer data)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static HttpRouteRule parseFrom​(ByteBuffer data,
                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static HttpRouteRule parseFrom​(com.google.protobuf.ByteString data)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static HttpRouteRule parseFrom​(com.google.protobuf.ByteString data,
                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static HttpRouteRule parseFrom​(byte[] data)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static HttpRouteRule parseFrom​(byte[] data,
                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static HttpRouteRule parseFrom​(com.google.protobuf.CodedInputStream input,
                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                       throws IOException
        Throws:
        IOException
      • newBuilderForType

        public HttpRouteRule.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public HttpRouteRule.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected HttpRouteRule.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static HttpRouteRule getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<HttpRouteRule> parser()
      • getParserForType

        public com.google.protobuf.Parser<HttpRouteRule> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public HttpRouteRule getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder