Class PathRule.Builder

  • All Implemented Interfaces:
    PathRuleOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
    Enclosing class:
    PathRule

    public static final class PathRule.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
    implements PathRuleOrBuilder
     A path-matching rule for a URL. If matched, will use the specified BackendService to handle the traffic arriving at this URL.
     
    Protobuf type google.cloud.compute.v1.PathRule
    • Method Detail

      • 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.Builder<PathRule.Builder>
      • clear

        public PathRule.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • getDefaultInstanceForType

        public PathRule getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public PathRule build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public PathRule buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public PathRule.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • setField

        public PathRule.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                         Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • clearField

        public PathRule.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • clearOneof

        public PathRule.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • setRepeatedField

        public PathRule.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                 int index,
                                                 Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • addRepeatedField

        public PathRule.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                 Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • mergeFrom

        public PathRule.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<PathRule.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • mergeFrom

        public PathRule.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                   throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<PathRule.Builder>
        Throws:
        IOException
      • getPathsList

        public com.google.protobuf.ProtocolStringList getPathsList()
         The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
         
        repeated string paths = 106438894;
        Specified by:
        getPathsList in interface PathRuleOrBuilder
        Returns:
        A list containing the paths.
      • getPathsCount

        public int getPathsCount()
         The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
         
        repeated string paths = 106438894;
        Specified by:
        getPathsCount in interface PathRuleOrBuilder
        Returns:
        The count of paths.
      • getPaths

        public String getPaths​(int index)
         The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
         
        repeated string paths = 106438894;
        Specified by:
        getPaths in interface PathRuleOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The paths at the given index.
      • getPathsBytes

        public com.google.protobuf.ByteString getPathsBytes​(int index)
         The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
         
        repeated string paths = 106438894;
        Specified by:
        getPathsBytes in interface PathRuleOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the paths at the given index.
      • setPaths

        public PathRule.Builder setPaths​(int index,
                                         String value)
         The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
         
        repeated string paths = 106438894;
        Parameters:
        index - The index to set the value at.
        value - The paths to set.
        Returns:
        This builder for chaining.
      • addPaths

        public PathRule.Builder addPaths​(String value)
         The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
         
        repeated string paths = 106438894;
        Parameters:
        value - The paths to add.
        Returns:
        This builder for chaining.
      • addAllPaths

        public PathRule.Builder addAllPaths​(Iterable<String> values)
         The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
         
        repeated string paths = 106438894;
        Parameters:
        values - The paths to add.
        Returns:
        This builder for chaining.
      • clearPaths

        public PathRule.Builder clearPaths()
         The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
         
        repeated string paths = 106438894;
        Returns:
        This builder for chaining.
      • addPathsBytes

        public PathRule.Builder addPathsBytes​(com.google.protobuf.ByteString value)
         The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.
         
        repeated string paths = 106438894;
        Parameters:
        value - The bytes of the paths to add.
        Returns:
        This builder for chaining.
      • hasRouteAction

        public boolean hasRouteAction()
         In response to a matching path, 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 routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
        Specified by:
        hasRouteAction in interface PathRuleOrBuilder
        Returns:
        Whether the routeAction field is set.
      • getRouteAction

        public HttpRouteAction getRouteAction()
         In response to a matching path, 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 routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
        Specified by:
        getRouteAction in interface PathRuleOrBuilder
        Returns:
        The routeAction.
      • setRouteAction

        public PathRule.Builder setRouteAction​(HttpRouteAction value)
         In response to a matching path, 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 routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
      • setRouteAction

        public PathRule.Builder setRouteAction​(HttpRouteAction.Builder builderForValue)
         In response to a matching path, 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 routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
      • mergeRouteAction

        public PathRule.Builder mergeRouteAction​(HttpRouteAction value)
         In response to a matching path, 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 routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
      • clearRouteAction

        public PathRule.Builder clearRouteAction()
         In response to a matching path, 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 routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
      • getRouteActionBuilder

        public HttpRouteAction.Builder getRouteActionBuilder()
         In response to a matching path, 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 routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
      • getRouteActionOrBuilder

        public HttpRouteActionOrBuilder getRouteActionOrBuilder()
         In response to a matching path, 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 routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction.
         
        optional .google.cloud.compute.v1.HttpRouteAction route_action = 424563948;
        Specified by:
        getRouteActionOrBuilder in interface PathRuleOrBuilder
      • 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 PathRuleOrBuilder
        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 PathRuleOrBuilder
        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 PathRuleOrBuilder
        Returns:
        The bytes for service.
      • setService

        public PathRule.Builder setService​(String value)
         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;
        Parameters:
        value - The service to set.
        Returns:
        This builder for chaining.
      • clearService

        public PathRule.Builder clearService()
         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;
        Returns:
        This builder for chaining.
      • setServiceBytes

        public PathRule.Builder setServiceBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for service to set.
        Returns:
        This builder for chaining.
      • hasUrlRedirect

        public boolean hasUrlRedirect()
         When a path pattern 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 PathRuleOrBuilder
        Returns:
        Whether the urlRedirect field is set.
      • getUrlRedirect

        public HttpRedirectAction getUrlRedirect()
         When a path pattern 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 PathRuleOrBuilder
        Returns:
        The urlRedirect.
      • setUrlRedirect

        public PathRule.Builder setUrlRedirect​(HttpRedirectAction value)
         When a path pattern 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;
      • setUrlRedirect

        public PathRule.Builder setUrlRedirect​(HttpRedirectAction.Builder builderForValue)
         When a path pattern 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;
      • mergeUrlRedirect

        public PathRule.Builder mergeUrlRedirect​(HttpRedirectAction value)
         When a path pattern 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;
      • clearUrlRedirect

        public PathRule.Builder clearUrlRedirect()
         When a path pattern 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;
      • getUrlRedirectBuilder

        public HttpRedirectAction.Builder getUrlRedirectBuilder()
         When a path pattern 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;
      • getUrlRedirectOrBuilder

        public HttpRedirectActionOrBuilder getUrlRedirectOrBuilder()
         When a path pattern 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 PathRuleOrBuilder
      • setUnknownFields

        public final PathRule.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>
      • mergeUnknownFields

        public final PathRule.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<PathRule.Builder>