Class DynamicModuleBootstrapExtension
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.bootstrap.dynamic_modules.v3.DynamicModuleBootstrapExtension
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,DynamicModuleBootstrapExtensionOrBuilder,Serializable
public final class DynamicModuleBootstrapExtension
extends com.google.protobuf.GeneratedMessageV3
implements DynamicModuleBootstrapExtensionOrBuilder
Configuration for the Dynamic Modules bootstrap extension. This extension allows loading shared object files that can be loaded via ``dlopen`` to extend Envoy's bootstrap behavior. A module can be loaded by multiple bootstrap extensions; the module is loaded only once and shared across multiple extensions. Bootstrap extensions run on the main thread and are initialized when Envoy starts. They can: * Perform initialization tasks when the server is initialized. * Perform per-worker thread initialization when worker threads start. * Access server-level resources like the cluster manager and dispatcher.Protobuf type
envoy.extensions.bootstrap.dynamic_modules.v3.DynamicModuleBootstrapExtension- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classConfiguration for the Dynamic Modules bootstrap extension.Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic final com.google.protobuf.Descriptors.DescriptorSpecifies the shared-object level configuration.Specifies the shared-object level configuration.com.google.protobuf.AnyThe configuration for the extension chosen by ``extension_name``.com.google.protobuf.AnyOrBuilderThe configuration for the extension chosen by ``extension_name``.The name for this extension configuration.com.google.protobuf.ByteStringThe name for this extension configuration.com.google.protobuf.Parser<DynamicModuleBootstrapExtension>intbooleanSpecifies the shared-object level configuration.booleanThe configuration for the extension chosen by ``extension_name``.inthashCode()protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleannewBuilder(DynamicModuleBootstrapExtension prototype) protected DynamicModuleBootstrapExtension.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) parseDelimitedFrom(InputStream input) parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom(byte[] data) parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom(com.google.protobuf.ByteString data) parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom(com.google.protobuf.CodedInputStream input) parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom(InputStream input) parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) parseFrom(ByteBuffer data) parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<DynamicModuleBootstrapExtension>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
DYNAMIC_MODULE_CONFIG_FIELD_NUMBER
public static final int DYNAMIC_MODULE_CONFIG_FIELD_NUMBER- See Also:
-
EXTENSION_NAME_FIELD_NUMBER
public static final int EXTENSION_NAME_FIELD_NUMBER- See Also:
-
EXTENSION_CONFIG_FIELD_NUMBER
public static final int EXTENSION_CONFIG_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
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
-
hasDynamicModuleConfig
public boolean hasDynamicModuleConfig()Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
hasDynamicModuleConfigin interfaceDynamicModuleBootstrapExtensionOrBuilder- Returns:
- Whether the dynamicModuleConfig field is set.
-
getDynamicModuleConfig
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigin interfaceDynamicModuleBootstrapExtensionOrBuilder- Returns:
- The dynamicModuleConfig.
-
getDynamicModuleConfigOrBuilder
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigOrBuilderin interfaceDynamicModuleBootstrapExtensionOrBuilder
-
getExtensionName
The name for this extension configuration. This can be used to distinguish between different extension implementations inside a dynamic module. For example, a module can have completely different extension implementations. When Envoy receives this configuration, it passes the ``extension_name`` to the dynamic module's bootstrap extension config init function together with the ``extension_config``. That way a module can decide which in-module extension implementation to use based on the name at load time. If not specified, defaults to an empty string.
string extension_name = 2;- Specified by:
getExtensionNamein interfaceDynamicModuleBootstrapExtensionOrBuilder- Returns:
- The extensionName.
-
getExtensionNameBytes
public com.google.protobuf.ByteString getExtensionNameBytes()The name for this extension configuration. This can be used to distinguish between different extension implementations inside a dynamic module. For example, a module can have completely different extension implementations. When Envoy receives this configuration, it passes the ``extension_name`` to the dynamic module's bootstrap extension config init function together with the ``extension_config``. That way a module can decide which in-module extension implementation to use based on the name at load time. If not specified, defaults to an empty string.
string extension_name = 2;- Specified by:
getExtensionNameBytesin interfaceDynamicModuleBootstrapExtensionOrBuilder- Returns:
- The bytes for extensionName.
-
hasExtensionConfig
public boolean hasExtensionConfig()The configuration for the extension chosen by ``extension_name``. This is passed to the module's bootstrap extension initialization function. Together with the ``extension_name``, the module can decide which in-module extension implementation to use and fine-tune the behavior of the extension. For example, if a module has two extension implementations, one for configuration loading and one for metric initialization, ``extension_name`` is used to choose the implementation. The ``extension_config`` can be used to configure the specific behavior of each implementation. ``google.protobuf.Struct`` is serialized as JSON before passing it to the module. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing a string value extension_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing raw bytes extension_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any extension_config = 3;- Specified by:
hasExtensionConfigin interfaceDynamicModuleBootstrapExtensionOrBuilder- Returns:
- Whether the extensionConfig field is set.
-
getExtensionConfig
public com.google.protobuf.Any getExtensionConfig()The configuration for the extension chosen by ``extension_name``. This is passed to the module's bootstrap extension initialization function. Together with the ``extension_name``, the module can decide which in-module extension implementation to use and fine-tune the behavior of the extension. For example, if a module has two extension implementations, one for configuration loading and one for metric initialization, ``extension_name`` is used to choose the implementation. The ``extension_config`` can be used to configure the specific behavior of each implementation. ``google.protobuf.Struct`` is serialized as JSON before passing it to the module. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing a string value extension_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing raw bytes extension_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any extension_config = 3;- Specified by:
getExtensionConfigin interfaceDynamicModuleBootstrapExtensionOrBuilder- Returns:
- The extensionConfig.
-
getExtensionConfigOrBuilder
public com.google.protobuf.AnyOrBuilder getExtensionConfigOrBuilder()The configuration for the extension chosen by ``extension_name``. This is passed to the module's bootstrap extension initialization function. Together with the ``extension_name``, the module can decide which in-module extension implementation to use and fine-tune the behavior of the extension. For example, if a module has two extension implementations, one for configuration loading and one for metric initialization, ``extension_name`` is used to choose the implementation. The ``extension_config`` can be used to configure the specific behavior of each implementation. ``google.protobuf.Struct`` is serialized as JSON before passing it to the module. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing a string value extension_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing raw bytes extension_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any extension_config = 3;- Specified by:
getExtensionConfigOrBuilderin interfaceDynamicModuleBootstrapExtensionOrBuilder
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static DynamicModuleBootstrapExtension parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleBootstrapExtension parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleBootstrapExtension parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleBootstrapExtension parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleBootstrapExtension parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleBootstrapExtension parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static DynamicModuleBootstrapExtension parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
public static DynamicModuleBootstrapExtension parseDelimitedFrom(InputStream input) throws IOException - Throws:
IOException
-
parseDelimitedFrom
public static DynamicModuleBootstrapExtension parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static DynamicModuleBootstrapExtension parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static DynamicModuleBootstrapExtension parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
public static DynamicModuleBootstrapExtension.Builder newBuilder(DynamicModuleBootstrapExtension prototype) -
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected DynamicModuleBootstrapExtension.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-