Enum BackendServiceHAPolicy.FastIPMove

java.lang.Object
java.lang.Enum<BackendServiceHAPolicy.FastIPMove>
com.google.cloud.compute.v1.BackendServiceHAPolicy.FastIPMove
All Implemented Interfaces:
com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, Serializable, Comparable<BackendServiceHAPolicy.FastIPMove>
Enclosing class:
BackendServiceHAPolicy

public static enum BackendServiceHAPolicy.FastIPMove extends Enum<BackendServiceHAPolicy.FastIPMove> implements com.google.protobuf.ProtocolMessageEnum
 Specifies whether fast IP move is enabled, and if so, the mechanism to
 achieve it.

 Supported values are:

 - DISABLED: Fast IP Move is disabled. You can only use the
 haPolicy.leader API to update the leader.
 - >GARP_RA: Provides a method to very quickly define a new network
 endpoint as the leader. This method is faster than updating the leader
 using the haPolicy.leader API. Fast IP move works as follows: The VM
 hosting the network endpoint that should become the new leader sends
 either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router
 Advertisement(RA) packet (IPv6).  Google Cloud immediately but
 temporarily associates the forwarding rule IP address with that VM, and
 both new and in-flight packets are quickly delivered to that VM.



 Note the important properties of the Fast IP Move functionality:

 - The GARP/RA-initiated re-routing stays active for approximately 20
 minutes. After triggering fast failover, you must also
 appropriately set the haPolicy.leader.
 -  The new leader instance should continue to send GARP/RA packets
 periodically every 10 seconds until at least 10 minutes after updating
 the haPolicy.leader (but stop immediately if it is no longer the leader).
 - After triggering a fast failover, we recommend that you wait at least
 3 seconds before sending another GARP/RA packet from a different VM
 instance to avoid race conditions.
 - Don't send GARP/RA packets from different VM
 instances at the same time. If multiple instances continue to send
 GARP/RA packets, traffic might be routed to different destinations in an
 alternating order. This condition ceases when a single instance
 issues a GARP/RA packet.
 - The GARP/RA request always takes priority over the leader API.
 Using the haPolicy.leader API to change the leader to a different
 instance will have no effect until the GARP/RA request becomes
 inactive.
 - The GARP/RA packets should follow the GARP/RA
 Packet Specifications..
 -  When multiple forwarding rules refer to a regional backend service,
 you need only send a GARP or RA packet for a single forwarding rule
 virtual IP. The virtual IPs for all forwarding rules targeting the same
 backend service will also be moved to the sender of the GARP or RA
 packet.



 The following are the Fast IP Move limitations (that is, when fastIPMove
 is not DISABLED):

 - Multiple forwarding rules cannot use the same IP address if one of
 them refers to a regional backend service with fastIPMove.
 - The regional backend service must set the network field, and all
 NEGs must belong to that network. However, individual
 NEGs can belong to different subnetworks of that network.
 - The maximum number of network endpoints across all backends of a
 backend service with fastIPMove is 32.
 - The maximum number of backend services with fastIPMove that can have
 the same network endpoint attached to one of its backends is 64.
 - The maximum number of backend services with fastIPMove in a VPC in a
 region is 64.
 - The network endpoints that are attached to a backend of a backend
 service with fastIPMove cannot resolve to Gen3+ machines for IPv6.
 - Traffic directed to the leader by a static route next hop will not be
 redirected to a new leader by fast failover. Such traffic will only be
 redirected once an haPolicy.leader update has taken effect. Only traffic
 to the forwarding rule's virtual IP will be redirected to a new leader by
 fast failover.


 haPolicy.fastIPMove can be set only at backend service creation time.
 Once set, it cannot be updated.

 By default, fastIpMove is set to DISABLED.
 
Protobuf enum google.cloud.compute.v1.BackendServiceHAPolicy.FastIPMove
  • Enum Constant Details

  • Field Details

    • UNDEFINED_FAST_I_P_MOVE_VALUE

      public static final int UNDEFINED_FAST_I_P_MOVE_VALUE
       A value indicating that the enum field is not set.
       
      UNDEFINED_FAST_I_P_MOVE = 0;
      See Also:
    • DISABLED_VALUE

      public static final int DISABLED_VALUE
      DISABLED = 516696700;
      See Also:
    • GARP_RA_VALUE

      public static final int GARP_RA_VALUE
      GARP_RA = 527352630;
      See Also:
  • Method Details

    • values

      public static BackendServiceHAPolicy.FastIPMove[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static BackendServiceHAPolicy.FastIPMove valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • getNumber

      public final int getNumber()
      Specified by:
      getNumber in interface com.google.protobuf.Internal.EnumLite
      Specified by:
      getNumber in interface com.google.protobuf.ProtocolMessageEnum
    • valueOf

      @Deprecated public static BackendServiceHAPolicy.FastIPMove valueOf(int value)
      Deprecated.
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      value - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • forNumber

      public static BackendServiceHAPolicy.FastIPMove forNumber(int value)
      Parameters:
      value - The numeric wire value of the corresponding enum entry.
      Returns:
      The enum associated with the given numeric wire value.
    • internalGetValueMap

      public static com.google.protobuf.Internal.EnumLiteMap<BackendServiceHAPolicy.FastIPMove> internalGetValueMap()
    • getValueDescriptor

      public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
      Specified by:
      getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
    • getDescriptorForType

      public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
    • getDescriptor

      public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
    • valueOf

      public static BackendServiceHAPolicy.FastIPMove valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      desc - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null