Class DynamicModuleBootstrapExtension.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
io.envoyproxy.envoy.extensions.bootstrap.dynamic_modules.v3.DynamicModuleBootstrapExtension.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DynamicModuleBootstrapExtensionOrBuilder, Cloneable
Enclosing class:
DynamicModuleBootstrapExtension

public static final class DynamicModuleBootstrapExtension.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder> 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
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • getDefaultInstanceForType

      public DynamicModuleBootstrapExtension getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public DynamicModuleBootstrapExtension buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • setField

      public DynamicModuleBootstrapExtension.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • clearField

      public DynamicModuleBootstrapExtension.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • clearOneof

      public DynamicModuleBootstrapExtension.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • setRepeatedField

      public DynamicModuleBootstrapExtension.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • addRepeatedField

      public DynamicModuleBootstrapExtension.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • mergeFrom

      public DynamicModuleBootstrapExtension.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DynamicModuleBootstrapExtension.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • mergeFrom

      public DynamicModuleBootstrapExtension.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DynamicModuleBootstrapExtension.Builder>
      Throws:
      IOException
    • hasDynamicModuleConfig

      public boolean hasDynamicModuleConfig()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
      Specified by:
      hasDynamicModuleConfig in interface DynamicModuleBootstrapExtensionOrBuilder
      Returns:
      Whether the dynamicModuleConfig field is set.
    • getDynamicModuleConfig

      public DynamicModuleConfig getDynamicModuleConfig()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
      Specified by:
      getDynamicModuleConfig in interface DynamicModuleBootstrapExtensionOrBuilder
      Returns:
      The dynamicModuleConfig.
    • setDynamicModuleConfig

      public DynamicModuleBootstrapExtension.Builder setDynamicModuleConfig(DynamicModuleConfig value)
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • setDynamicModuleConfig

      public DynamicModuleBootstrapExtension.Builder setDynamicModuleConfig(DynamicModuleConfig.Builder builderForValue)
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • mergeDynamicModuleConfig

      public DynamicModuleBootstrapExtension.Builder mergeDynamicModuleConfig(DynamicModuleConfig value)
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • clearDynamicModuleConfig

      public DynamicModuleBootstrapExtension.Builder clearDynamicModuleConfig()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • getDynamicModuleConfigBuilder

      public DynamicModuleConfig.Builder getDynamicModuleConfigBuilder()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • getDynamicModuleConfigOrBuilder

      public DynamicModuleConfigOrBuilder getDynamicModuleConfigOrBuilder()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
      Specified by:
      getDynamicModuleConfigOrBuilder in interface DynamicModuleBootstrapExtensionOrBuilder
    • getExtensionName

      public String 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:
      getExtensionName in interface DynamicModuleBootstrapExtensionOrBuilder
      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:
      getExtensionNameBytes in interface DynamicModuleBootstrapExtensionOrBuilder
      Returns:
      The bytes for extensionName.
    • setExtensionName

      public DynamicModuleBootstrapExtension.Builder setExtensionName(String value)
       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;
      Parameters:
      value - The extensionName to set.
      Returns:
      This builder for chaining.
    • clearExtensionName

      public DynamicModuleBootstrapExtension.Builder clearExtensionName()
       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;
      Returns:
      This builder for chaining.
    • setExtensionNameBytes

      public DynamicModuleBootstrapExtension.Builder setExtensionNameBytes(com.google.protobuf.ByteString value)
       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;
      Parameters:
      value - The bytes for extensionName to set.
      Returns:
      This builder for chaining.
    • 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:
      hasExtensionConfig in interface DynamicModuleBootstrapExtensionOrBuilder
      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:
      getExtensionConfig in interface DynamicModuleBootstrapExtensionOrBuilder
      Returns:
      The extensionConfig.
    • setExtensionConfig

      public DynamicModuleBootstrapExtension.Builder setExtensionConfig(com.google.protobuf.Any value)
       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;
    • setExtensionConfig

      public DynamicModuleBootstrapExtension.Builder setExtensionConfig(com.google.protobuf.Any.Builder builderForValue)
       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;
    • mergeExtensionConfig

      public DynamicModuleBootstrapExtension.Builder mergeExtensionConfig(com.google.protobuf.Any value)
       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;
    • clearExtensionConfig

      public DynamicModuleBootstrapExtension.Builder clearExtensionConfig()
       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;
    • getExtensionConfigBuilder

      public com.google.protobuf.Any.Builder getExtensionConfigBuilder()
       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;
    • 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:
      getExtensionConfigOrBuilder in interface DynamicModuleBootstrapExtensionOrBuilder
    • setUnknownFields

      public final DynamicModuleBootstrapExtension.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>
    • mergeUnknownFields

      public final DynamicModuleBootstrapExtension.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleBootstrapExtension.Builder>