Reference documentation and code samples for the Google Cloud Compute V1 API class Google::Cloud::Compute::V1::BackendServiceFailoverPolicy.
For load balancers that have configurable failover: Internal passthrough Network Load Balancers and external passthrough Network Load Balancers. On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).
value (::Boolean) — This can be set to true only if the protocol is TCP. The default is false.
Returns
(::Boolean) — This can be set to true only if the protocol is TCP. The default is false.
#drop_traffic_if_unhealthy
defdrop_traffic_if_unhealthy()->::Boolean
Returns
(::Boolean) — If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: Internal passthrough Network Load Balancers and external passthrough Network Load Balancers. The default is false.
#drop_traffic_if_unhealthy=
defdrop_traffic_if_unhealthy=(value)->::Boolean
Parameter
value (::Boolean) — If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: Internal passthrough Network Load Balancers and external passthrough Network Load Balancers. The default is false.
Returns
(::Boolean) — If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: Internal passthrough Network Load Balancers and external passthrough Network Load Balancers. The default is false.
#failover_ratio
deffailover_ratio()->::Float
Returns
(::Float) — The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: Internal TCP/UDP Load Balancing and external TCP/UDP Load Balancing.
#failover_ratio=
deffailover_ratio=(value)->::Float
Parameter
value (::Float) — The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: Internal TCP/UDP Load Balancing and external TCP/UDP Load Balancing.
Returns
(::Float) — The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: Internal TCP/UDP Load Balancing and external TCP/UDP Load Balancing.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[],[],null,["# Google Cloud Compute V1 API - Class Google::Cloud::Compute::V1::BackendServiceFailoverPolicy (v3.0.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.0.0 (latest)](/ruby/docs/reference/google-cloud-compute-v1/latest/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.22.0](/ruby/docs/reference/google-cloud-compute-v1/2.22.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.21.1](/ruby/docs/reference/google-cloud-compute-v1/2.21.1/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.20.0](/ruby/docs/reference/google-cloud-compute-v1/2.20.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.19.1](/ruby/docs/reference/google-cloud-compute-v1/2.19.1/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.18.0](/ruby/docs/reference/google-cloud-compute-v1/2.18.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.17.0](/ruby/docs/reference/google-cloud-compute-v1/2.17.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.16.0](/ruby/docs/reference/google-cloud-compute-v1/2.16.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.15.0](/ruby/docs/reference/google-cloud-compute-v1/2.15.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.14.0](/ruby/docs/reference/google-cloud-compute-v1/2.14.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.13.0](/ruby/docs/reference/google-cloud-compute-v1/2.13.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.12.0](/ruby/docs/reference/google-cloud-compute-v1/2.12.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.11.0](/ruby/docs/reference/google-cloud-compute-v1/2.11.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.10.0](/ruby/docs/reference/google-cloud-compute-v1/2.10.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.9.0](/ruby/docs/reference/google-cloud-compute-v1/2.9.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.8.0](/ruby/docs/reference/google-cloud-compute-v1/2.8.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.7.2](/ruby/docs/reference/google-cloud-compute-v1/2.7.2/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.6.0](/ruby/docs/reference/google-cloud-compute-v1/2.6.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.5.0](/ruby/docs/reference/google-cloud-compute-v1/2.5.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.4.0](/ruby/docs/reference/google-cloud-compute-v1/2.4.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.3.0](/ruby/docs/reference/google-cloud-compute-v1/2.3.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.2.0](/ruby/docs/reference/google-cloud-compute-v1/2.2.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.1.0](/ruby/docs/reference/google-cloud-compute-v1/2.1.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [2.0.0](/ruby/docs/reference/google-cloud-compute-v1/2.0.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.10.0](/ruby/docs/reference/google-cloud-compute-v1/1.10.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.9.0](/ruby/docs/reference/google-cloud-compute-v1/1.9.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.8.0](/ruby/docs/reference/google-cloud-compute-v1/1.8.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.7.1](/ruby/docs/reference/google-cloud-compute-v1/1.7.1/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.6.0](/ruby/docs/reference/google-cloud-compute-v1/1.6.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.5.0](/ruby/docs/reference/google-cloud-compute-v1/1.5.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.4.0](/ruby/docs/reference/google-cloud-compute-v1/1.4.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.3.0](/ruby/docs/reference/google-cloud-compute-v1/1.3.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.2.0](/ruby/docs/reference/google-cloud-compute-v1/1.2.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.1.0](/ruby/docs/reference/google-cloud-compute-v1/1.1.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [1.0.0](/ruby/docs/reference/google-cloud-compute-v1/1.0.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy)\n- [0.5.0](/ruby/docs/reference/google-cloud-compute-v1/0.5.0/Google-Cloud-Compute-V1-BackendServiceFailoverPolicy) \nReference documentation and code samples for the Google Cloud Compute V1 API class Google::Cloud::Compute::V1::BackendServiceFailoverPolicy.\n\nFor load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes). \n\nInherits\n--------\n\n- Object \n\nExtended By\n-----------\n\n- Google::Protobuf::MessageExts::ClassMethods \n\nIncludes\n--------\n\n- Google::Protobuf::MessageExts\n\nMethods\n-------\n\n### #disable_connection_drain_on_failover\n\n def disable_connection_drain_on_failover() -\u003e ::Boolean\n\n**Returns**\n\n- (::Boolean) --- This can be set to true only if the protocol is TCP. The default is false.\n\n### #disable_connection_drain_on_failover=\n\n def disable_connection_drain_on_failover=(value) -\u003e ::Boolean\n\n**Parameter**\n\n- **value** (::Boolean) --- This can be set to true only if the protocol is TCP. The default is false. \n**Returns**\n\n- (::Boolean) --- This can be set to true only if the protocol is TCP. The default is false.\n\n### #drop_traffic_if_unhealthy\n\n def drop_traffic_if_unhealthy() -\u003e ::Boolean\n\n**Returns**\n\n- (::Boolean) --- If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false.\n\n### #drop_traffic_if_unhealthy=\n\n def drop_traffic_if_unhealthy=(value) -\u003e ::Boolean\n\n**Parameter**\n\n- **value** (::Boolean) --- If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false. \n**Returns**\n\n- (::Boolean) --- If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false.\n\n### #failover_ratio\n\n def failover_ratio() -\u003e ::Float\n\n**Returns**\n\n- (::Float) --- The value of the field must be in the range \\[0, 1\\]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview).\n\n### #failover_ratio=\n\n def failover_ratio=(value) -\u003e ::Float\n\n**Parameter**\n\n- **value** (::Float) --- The value of the field must be in the range \\[0, 1\\]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). \n**Returns**\n\n- (::Float) --- The value of the field must be in the range \\[0, 1\\]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview)."]]