Package com.google.cloud.compute.v1
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 Summary
Enum ConstantsEnum ConstantDescriptionTLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.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 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.A value indicating that the enum field is not set.This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intTLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.static final intThis enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE).static final intThis 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.static final intA value indicating that the enum field is not set.static final intThis enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. -
Method Summary
Modifier and TypeMethodDescriptionforNumber(int value) static com.google.protobuf.Descriptors.EnumDescriptorfinal com.google.protobuf.Descriptors.EnumDescriptorfinal intfinal com.google.protobuf.Descriptors.EnumValueDescriptorstatic com.google.protobuf.Internal.EnumLiteMap<TargetHttpsProxy.TlsEarlyData>valueOf(int value) Deprecated.valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) Returns the enum constant of this type with the specified name.Returns the enum constant of this type with the specified name.static TargetHttpsProxy.TlsEarlyData[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
UNDEFINED_TLS_EARLY_DATA
A value indicating that the enum field is not set.
UNDEFINED_TLS_EARLY_DATA = 0; -
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
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
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
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
-
-
Field Details
-
UNDEFINED_TLS_EARLY_DATA_VALUE
public static final int UNDEFINED_TLS_EARLY_DATA_VALUEA value indicating that the enum field is not set.
UNDEFINED_TLS_EARLY_DATA = 0;- See Also:
-
DISABLED_VALUE
public static final int DISABLED_VALUETLS 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_VALUEThis 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_VALUEThis 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_VALUEThis 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
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
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 nameNullPointerException- if the argument is null
-
getNumber
public final int getNumber()- Specified by:
getNumberin interfacecom.google.protobuf.Internal.EnumLite- Specified by:
getNumberin interfacecom.google.protobuf.ProtocolMessageEnum
-
valueOf
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 nameNullPointerException- if the argument is null
-
forNumber
- 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:
getValueDescriptorin interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptorForType
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.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 nameNullPointerException- if the argument is null
-