Class HttpRouteAction

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

    public final class HttpRouteAction
    extends com.google.protobuf.GeneratedMessageV3
    implements HttpRouteActionOrBuilder
     
    Protobuf type google.cloud.compute.v1.HttpRouteAction
    See Also:
    Serialized Form
    • Field Detail

      • CORS_POLICY_FIELD_NUMBER

        public static final int CORS_POLICY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • FAULT_INJECTION_POLICY_FIELD_NUMBER

        public static final int FAULT_INJECTION_POLICY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_STREAM_DURATION_FIELD_NUMBER

        public static final int MAX_STREAM_DURATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REQUEST_MIRROR_POLICY_FIELD_NUMBER

        public static final int REQUEST_MIRROR_POLICY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RETRY_POLICY_FIELD_NUMBER

        public static final int RETRY_POLICY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • URL_REWRITE_FIELD_NUMBER

        public static final int URL_REWRITE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • WEIGHTED_BACKEND_SERVICES_FIELD_NUMBER

        public static final int WEIGHTED_BACKEND_SERVICES_FIELD_NUMBER
        See Also:
        Constant Field Values
    • 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
      • hasCorsPolicy

        public boolean hasCorsPolicy()
         The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy.
         
        optional .google.cloud.compute.v1.CorsPolicy cors_policy = 398943748;
        Specified by:
        hasCorsPolicy in interface HttpRouteActionOrBuilder
        Returns:
        Whether the corsPolicy field is set.
      • getCorsPolicy

        public CorsPolicy getCorsPolicy()
         The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy.
         
        optional .google.cloud.compute.v1.CorsPolicy cors_policy = 398943748;
        Specified by:
        getCorsPolicy in interface HttpRouteActionOrBuilder
        Returns:
        The corsPolicy.
      • getCorsPolicyOrBuilder

        public CorsPolicyOrBuilder getCorsPolicyOrBuilder()
         The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy.
         
        optional .google.cloud.compute.v1.CorsPolicy cors_policy = 398943748;
        Specified by:
        getCorsPolicyOrBuilder in interface HttpRouteActionOrBuilder
      • hasFaultInjectionPolicy

        public boolean hasFaultInjectionPolicy()
         The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features.
         
        optional .google.cloud.compute.v1.HttpFaultInjection fault_injection_policy = 412781079;
        Specified by:
        hasFaultInjectionPolicy in interface HttpRouteActionOrBuilder
        Returns:
        Whether the faultInjectionPolicy field is set.
      • getFaultInjectionPolicy

        public HttpFaultInjection getFaultInjectionPolicy()
         The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features.
         
        optional .google.cloud.compute.v1.HttpFaultInjection fault_injection_policy = 412781079;
        Specified by:
        getFaultInjectionPolicy in interface HttpRouteActionOrBuilder
        Returns:
        The faultInjectionPolicy.
      • getFaultInjectionPolicyOrBuilder

        public HttpFaultInjectionOrBuilder getFaultInjectionPolicyOrBuilder()
         The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features.
         
        optional .google.cloud.compute.v1.HttpFaultInjection fault_injection_policy = 412781079;
        Specified by:
        getFaultInjectionPolicyOrBuilder in interface HttpRouteActionOrBuilder
      • hasMaxStreamDuration

        public boolean hasMaxStreamDuration()
         Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED.
         
        optional .google.cloud.compute.v1.Duration max_stream_duration = 61428376;
        Specified by:
        hasMaxStreamDuration in interface HttpRouteActionOrBuilder
        Returns:
        Whether the maxStreamDuration field is set.
      • getMaxStreamDuration

        public Duration getMaxStreamDuration()
         Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED.
         
        optional .google.cloud.compute.v1.Duration max_stream_duration = 61428376;
        Specified by:
        getMaxStreamDuration in interface HttpRouteActionOrBuilder
        Returns:
        The maxStreamDuration.
      • getMaxStreamDurationOrBuilder

        public DurationOrBuilder getMaxStreamDurationOrBuilder()
         Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED.
         
        optional .google.cloud.compute.v1.Duration max_stream_duration = 61428376;
        Specified by:
        getMaxStreamDurationOrBuilder in interface HttpRouteActionOrBuilder
      • hasRequestMirrorPolicy

        public boolean hasRequestMirrorPolicy()
         Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
         
        optional .google.cloud.compute.v1.RequestMirrorPolicy request_mirror_policy = 220196866;
        Specified by:
        hasRequestMirrorPolicy in interface HttpRouteActionOrBuilder
        Returns:
        Whether the requestMirrorPolicy field is set.
      • getRequestMirrorPolicy

        public RequestMirrorPolicy getRequestMirrorPolicy()
         Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
         
        optional .google.cloud.compute.v1.RequestMirrorPolicy request_mirror_policy = 220196866;
        Specified by:
        getRequestMirrorPolicy in interface HttpRouteActionOrBuilder
        Returns:
        The requestMirrorPolicy.
      • getRequestMirrorPolicyOrBuilder

        public RequestMirrorPolicyOrBuilder getRequestMirrorPolicyOrBuilder()
         Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
         
        optional .google.cloud.compute.v1.RequestMirrorPolicy request_mirror_policy = 220196866;
        Specified by:
        getRequestMirrorPolicyOrBuilder in interface HttpRouteActionOrBuilder
      • hasRetryPolicy

        public boolean hasRetryPolicy()
         Specifies the retry policy associated with this route.
         
        optional .google.cloud.compute.v1.HttpRetryPolicy retry_policy = 56799913;
        Specified by:
        hasRetryPolicy in interface HttpRouteActionOrBuilder
        Returns:
        Whether the retryPolicy field is set.
      • getRetryPolicy

        public HttpRetryPolicy getRetryPolicy()
         Specifies the retry policy associated with this route.
         
        optional .google.cloud.compute.v1.HttpRetryPolicy retry_policy = 56799913;
        Specified by:
        getRetryPolicy in interface HttpRouteActionOrBuilder
        Returns:
        The retryPolicy.
      • hasTimeout

        public boolean hasTimeout()
         Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. 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.Duration timeout = 296701281;
        Specified by:
        hasTimeout in interface HttpRouteActionOrBuilder
        Returns:
        Whether the timeout field is set.
      • getTimeout

        public Duration getTimeout()
         Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. 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.Duration timeout = 296701281;
        Specified by:
        getTimeout in interface HttpRouteActionOrBuilder
        Returns:
        The timeout.
      • getTimeoutOrBuilder

        public DurationOrBuilder getTimeoutOrBuilder()
         Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. 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.Duration timeout = 296701281;
        Specified by:
        getTimeoutOrBuilder in interface HttpRouteActionOrBuilder
      • hasUrlRewrite

        public boolean hasUrlRewrite()
         The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
         
        optional .google.cloud.compute.v1.UrlRewrite url_rewrite = 273333948;
        Specified by:
        hasUrlRewrite in interface HttpRouteActionOrBuilder
        Returns:
        Whether the urlRewrite field is set.
      • getUrlRewrite

        public UrlRewrite getUrlRewrite()
         The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
         
        optional .google.cloud.compute.v1.UrlRewrite url_rewrite = 273333948;
        Specified by:
        getUrlRewrite in interface HttpRouteActionOrBuilder
        Returns:
        The urlRewrite.
      • getUrlRewriteOrBuilder

        public UrlRewriteOrBuilder getUrlRewriteOrBuilder()
         The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
         
        optional .google.cloud.compute.v1.UrlRewrite url_rewrite = 273333948;
        Specified by:
        getUrlRewriteOrBuilder in interface HttpRouteActionOrBuilder
      • getWeightedBackendServicesList

        public List<WeightedBackendService> getWeightedBackendServicesList()
         A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
         
        repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049;
        Specified by:
        getWeightedBackendServicesList in interface HttpRouteActionOrBuilder
      • getWeightedBackendServicesOrBuilderList

        public List<? extends WeightedBackendServiceOrBuilder> getWeightedBackendServicesOrBuilderList()
         A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
         
        repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049;
        Specified by:
        getWeightedBackendServicesOrBuilderList in interface HttpRouteActionOrBuilder
      • getWeightedBackendServicesCount

        public int getWeightedBackendServicesCount()
         A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
         
        repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049;
        Specified by:
        getWeightedBackendServicesCount in interface HttpRouteActionOrBuilder
      • getWeightedBackendServices

        public WeightedBackendService getWeightedBackendServices​(int index)
         A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
         
        repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049;
        Specified by:
        getWeightedBackendServices in interface HttpRouteActionOrBuilder
      • getWeightedBackendServicesOrBuilder

        public WeightedBackendServiceOrBuilder getWeightedBackendServicesOrBuilder​(int index)
         A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
         
        repeated .google.cloud.compute.v1.WeightedBackendService weighted_backend_services = 337028049;
        Specified by:
        getWeightedBackendServicesOrBuilder in interface HttpRouteActionOrBuilder
      • 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 HttpRouteAction parseFrom​(ByteBuffer data)
                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

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

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

        public com.google.protobuf.Parser<HttpRouteAction> 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 HttpRouteAction getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder