Class Config.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
io.envoyproxy.envoy.extensions.quic.connection_id_generator.quic_lb.v3.Config.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,ConfigOrBuilder,Cloneable
- Enclosing class:
- Config
public static final class Config.Builder
extends com.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
implements ConfigOrBuilder
Configuration for a connection ID generator implementation for the QUIC-LB draft RFC for
routable connection IDs.
Connection IDs always have the length self encoded, as described in
https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-length-self-description.
See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers for details.
.. warning::
This is still a work in progress. Interoperability testing has not yet been performed.
[#next-free-field: 7]
Protobuf type envoy.extensions.quic.connection_id_generator.quic_lb.v3.Config-
Method Summary
Modifier and TypeMethodDescriptionaddRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) build()clear()Configuration to fetch the encryption key and configuration version.Optional validation of the expected server ID length.clearField(com.google.protobuf.Descriptors.FieldDescriptor field) The nonce length must be at least 4 bytes.clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) Must be at least 1 octet.If true, indicates that the :ref:`server_id <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.server_id>` is base64 encoded.Use the unencrypted mode.clone()static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorConfiguration to fetch the encryption key and configuration version.Configuration to fetch the encryption key and configuration version.Configuration to fetch the encryption key and configuration version.intOptional validation of the expected server ID length.intThe nonce length must be at least 4 bytes.Must be at least 1 octet.booleanIf true, indicates that the :ref:`server_id <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.server_id>` is base64 encoded.Must be at least 1 octet.Must be at least 1 octet.booleanUse the unencrypted mode.booleanConfiguration to fetch the encryption key and configuration version.booleanMust be at least 1 octet.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanConfiguration to fetch the encryption key and configuration version.mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeServerId(DataSource value) Must be at least 1 octet.final Config.BuildermergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) Configuration to fetch the encryption key and configuration version.setEncryptionParameters(SdsSecretConfig.Builder builderForValue) Configuration to fetch the encryption key and configuration version.setExpectedServerIdLength(int value) Optional validation of the expected server ID length.setNonceLengthBytes(int value) The nonce length must be at least 4 bytes.setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) setServerId(DataSource value) Must be at least 1 octet.setServerId(DataSource.Builder builderForValue) Must be at least 1 octet.setServerIdBase64Encoded(boolean value) If true, indicates that the :ref:`server_id <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.server_id>` is base64 encoded.setUnencryptedMode(boolean value) Use the unencrypted mode.final Config.BuildersetUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
setField
- Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
clearField
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
clearOneof
- Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
setRepeatedField
public Config.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) - Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
addRepeatedField
public Config.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<Config.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
mergeFrom
public Config.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<Config.Builder>- Throws:
IOException
-
hasServerId
public boolean hasServerId()Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... }- Specified by:
hasServerIdin interfaceConfigOrBuilder- Returns:
- Whether the serverId field is set.
-
getServerId
Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... }- Specified by:
getServerIdin interfaceConfigOrBuilder- Returns:
- The serverId.
-
setServerId
Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... } -
setServerId
Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... } -
mergeServerId
Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... } -
clearServerId
Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... } -
getServerIdBuilder
Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... } -
getServerIdOrBuilder
Must be at least 1 octet. The length of server_id and nonce_length_bytes must be 18 or less. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-server-id-allocation.
.envoy.config.core.v3.DataSource server_id = 2 [(.validate.rules) = { ... }- Specified by:
getServerIdOrBuilderin interfaceConfigOrBuilder
-
getServerIdBase64Encoded
public boolean getServerIdBase64Encoded()If true, indicates that the :ref:`server_id <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.server_id>` is base64 encoded. This can be useful if the ID may contain binary data and must be transmitted as a string, for example in an environment variable.
bool server_id_base64_encoded = 6;- Specified by:
getServerIdBase64Encodedin interfaceConfigOrBuilder- Returns:
- The serverIdBase64Encoded.
-
setServerIdBase64Encoded
If true, indicates that the :ref:`server_id <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.server_id>` is base64 encoded. This can be useful if the ID may contain binary data and must be transmitted as a string, for example in an environment variable.
bool server_id_base64_encoded = 6;- Parameters:
value- The serverIdBase64Encoded to set.- Returns:
- This builder for chaining.
-
clearServerIdBase64Encoded
If true, indicates that the :ref:`server_id <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.server_id>` is base64 encoded. This can be useful if the ID may contain binary data and must be transmitted as a string, for example in an environment variable.
bool server_id_base64_encoded = 6;- Returns:
- This builder for chaining.
-
getExpectedServerIdLength
public int getExpectedServerIdLength()Optional validation of the expected server ID length. If this is non-zero and the value in ``server_id`` does not have a matching length, a configuration error is generated. This can be useful for validating that the server ID is valid.
uint32 expected_server_id_length = 3 [(.validate.rules) = { ... }- Specified by:
getExpectedServerIdLengthin interfaceConfigOrBuilder- Returns:
- The expectedServerIdLength.
-
setExpectedServerIdLength
Optional validation of the expected server ID length. If this is non-zero and the value in ``server_id`` does not have a matching length, a configuration error is generated. This can be useful for validating that the server ID is valid.
uint32 expected_server_id_length = 3 [(.validate.rules) = { ... }- Parameters:
value- The expectedServerIdLength to set.- Returns:
- This builder for chaining.
-
clearExpectedServerIdLength
Optional validation of the expected server ID length. If this is non-zero and the value in ``server_id`` does not have a matching length, a configuration error is generated. This can be useful for validating that the server ID is valid.
uint32 expected_server_id_length = 3 [(.validate.rules) = { ... }- Returns:
- This builder for chaining.
-
getNonceLengthBytes
public int getNonceLengthBytes()The nonce length must be at least 4 bytes. The length of server_id and nonce_length_bytes must be 18 bytes or less.
uint32 nonce_length_bytes = 4 [(.validate.rules) = { ... }- Specified by:
getNonceLengthBytesin interfaceConfigOrBuilder- Returns:
- The nonceLengthBytes.
-
setNonceLengthBytes
The nonce length must be at least 4 bytes. The length of server_id and nonce_length_bytes must be 18 bytes or less.
uint32 nonce_length_bytes = 4 [(.validate.rules) = { ... }- Parameters:
value- The nonceLengthBytes to set.- Returns:
- This builder for chaining.
-
clearNonceLengthBytes
The nonce length must be at least 4 bytes. The length of server_id and nonce_length_bytes must be 18 bytes or less.
uint32 nonce_length_bytes = 4 [(.validate.rules) = { ... }- Returns:
- This builder for chaining.
-
hasEncryptionParameters
public boolean hasEncryptionParameters()Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... }- Specified by:
hasEncryptionParametersin interfaceConfigOrBuilder- Returns:
- Whether the encryptionParameters field is set.
-
getEncryptionParameters
Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... }- Specified by:
getEncryptionParametersin interfaceConfigOrBuilder- Returns:
- The encryptionParameters.
-
setEncryptionParameters
Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... } -
setEncryptionParameters
Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... } -
mergeEncryptionParameters
Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... } -
clearEncryptionParameters
Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... } -
getEncryptionParametersBuilder
Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... } -
getEncryptionParametersOrBuilder
Configuration to fetch the encryption key and configuration version. The SDS service is for a :ref:`GenericSecret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.GenericSecret>`. The data should populate :ref:`secrets <envoy_v3_api_field_extensions.transport_sockets.tls.v3.GenericSecret.secrets>`: "encryption_key" must contain the 16 byte encryption key. "configuration_version" must contain a 1 byte unsigned integer of value less than 7. See https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers#name-config-rotation.
.envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig encryption_parameters = 5 [(.validate.rules) = { ... }- Specified by:
getEncryptionParametersOrBuilderin interfaceConfigOrBuilder
-
getUnencryptedMode
public boolean getUnencryptedMode()Use the unencrypted mode. This is useful for testing or a simplified implementation of the downstream load balancer, but allows for linking different CIDs for the same connection, and leaks information about the valid server IDs in use. This mode does not comply with the RFC. Note that in this mode, :ref:`encryption_parameters <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.encryption_parameters>` is still required because it contains ``configuration_version``, which is still needed. ``encryption_key`` can be set to ``inline_string: '0000000000000000'``.
bool unencrypted_mode = 1;- Specified by:
getUnencryptedModein interfaceConfigOrBuilder- Returns:
- The unencryptedMode.
-
setUnencryptedMode
Use the unencrypted mode. This is useful for testing or a simplified implementation of the downstream load balancer, but allows for linking different CIDs for the same connection, and leaks information about the valid server IDs in use. This mode does not comply with the RFC. Note that in this mode, :ref:`encryption_parameters <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.encryption_parameters>` is still required because it contains ``configuration_version``, which is still needed. ``encryption_key`` can be set to ``inline_string: '0000000000000000'``.
bool unencrypted_mode = 1;- Parameters:
value- The unencryptedMode to set.- Returns:
- This builder for chaining.
-
clearUnencryptedMode
Use the unencrypted mode. This is useful for testing or a simplified implementation of the downstream load balancer, but allows for linking different CIDs for the same connection, and leaks information about the valid server IDs in use. This mode does not comply with the RFC. Note that in this mode, :ref:`encryption_parameters <envoy_v3_api_field_extensions.quic.connection_id_generator.quic_lb.v3.Config.encryption_parameters>` is still required because it contains ``configuration_version``, which is still needed. ``encryption_key`` can be set to ``inline_string: '0000000000000000'``.
bool unencrypted_mode = 1;- Returns:
- This builder for chaining.
-
setUnknownFields
- Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-
mergeUnknownFields
- Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<Config.Builder>
-