Enum TargetHttpsProxy.TlsEarlyData

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

public static enum TargetHttpsProxy.TlsEarlyData extends Enum<TargetHttpsProxy.TlsEarlyData> implements com.google.protobuf.ProtocolMessageEnum
 Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted
 for this service. Early Data allows a TLS resumption handshake to include
 the initial application payload (a HTTP request) alongside the handshake,
 reducing the effective round trips to "zero". This applies to TLS 1.3
 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).


 This can improve application performance, especially on networks where
 interruptions may be common, such as on mobile.


 Requests with Early Data will have the "Early-Data" HTTP header set on
 the request, with a value of "1", to allow the backend to determine whether
 Early Data was included.


 Note: TLS Early Data may allow requests to be replayed, as the data is
 sent to the backend before the handshake has fully completed. Applications
 that allow idempotent HTTP methods to make non-idempotent changes, such as
 a GET request updating a database, should not accept Early Data on those
 requests, and reject requests with the "Early-Data: 1" HTTP header by
 returning a HTTP 425 (Too Early) status code, in order to remain RFC
 compliant.


 The default value is DISABLED.
 
Protobuf enum google.cloud.compute.v1.TargetHttpsProxy.TlsEarlyData
  • Enum Constant Details

    • UNDEFINED_TLS_EARLY_DATA

      public static final TargetHttpsProxy.TlsEarlyData UNDEFINED_TLS_EARLY_DATA
       A value indicating that the enum field is not set.
       
      UNDEFINED_TLS_EARLY_DATA = 0;
    • DISABLED

      public static final TargetHttpsProxy.TlsEarlyData DISABLED
       TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send
       Early Data will be rejected by closing the connection.
       
      DISABLED = 516696700;
    • PERMISSIVE

      public static final TargetHttpsProxy.TlsEarlyData PERMISSIVE
       This enables TLS 1.3 0-RTT, and only allows Early Data to be included on
       requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode
       does not enforce any other limitations for requests with Early Data. The
       application owner should validate that Early Data is acceptable for a
       given request path.
       
      PERMISSIVE = 504345247;
    • STRICT

      public static final TargetHttpsProxy.TlsEarlyData STRICT
       This enables TLS 1.3 0-RTT, and only allows Early Data to be included on
       requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query
       parameters. Requests that send Early Data with non-idempotent HTTP
       methods or with query parameters will be rejected with a HTTP 425.
       
      STRICT = 308826825;
    • UNRESTRICTED

      public static final TargetHttpsProxy.TlsEarlyData UNRESTRICTED
       This enables TLS 1.3 Early Data for requests with any HTTP method
       including non-idempotent methods list POST. This mode does not enforce
       any other limitations. This may be valuable for gRPC use cases. However,
       we do not recommend this method unless you have evaluated your security
       stance and mitigated the risk of replay attacks using other mechanisms.
       
      UNRESTRICTED = 457266100;
    • UNRECOGNIZED

      public static final TargetHttpsProxy.TlsEarlyData UNRECOGNIZED
  • Field Details

    • UNDEFINED_TLS_EARLY_DATA_VALUE

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

      public static final int DISABLED_VALUE
       TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send
       Early Data will be rejected by closing the connection.
       
      DISABLED = 516696700;
      See Also:
    • PERMISSIVE_VALUE

      public static final int PERMISSIVE_VALUE
       This enables TLS 1.3 0-RTT, and only allows Early Data to be included on
       requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode
       does not enforce any other limitations for requests with Early Data. The
       application owner should validate that Early Data is acceptable for a
       given request path.
       
      PERMISSIVE = 504345247;
      See Also:
    • STRICT_VALUE

      public static final int STRICT_VALUE
       This enables TLS 1.3 0-RTT, and only allows Early Data to be included on
       requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query
       parameters. Requests that send Early Data with non-idempotent HTTP
       methods or with query parameters will be rejected with a HTTP 425.
       
      STRICT = 308826825;
      See Also:
    • UNRESTRICTED_VALUE

      public static final int UNRESTRICTED_VALUE
       This enables TLS 1.3 Early Data for requests with any HTTP method
       including non-idempotent methods list POST. This mode does not enforce
       any other limitations. This may be valuable for gRPC use cases. However,
       we do not recommend this method unless you have evaluated your security
       stance and mitigated the risk of replay attacks using other mechanisms.
       
      UNRESTRICTED = 457266100;
      See Also:
  • Method Details

    • values

      public static TargetHttpsProxy.TlsEarlyData[] 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 TargetHttpsProxy.TlsEarlyData 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 TargetHttpsProxy.TlsEarlyData 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 TargetHttpsProxy.TlsEarlyData 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<TargetHttpsProxy.TlsEarlyData> 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 TargetHttpsProxy.TlsEarlyData 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