Class VmConfig.Builder

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

public static final class VmConfig.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<VmConfig.Builder> implements VmConfigOrBuilder
 Configuration for a Wasm VM.
 [#next-free-field: 8]
 
Protobuf type envoy.extensions.wasm.v3.VmConfig
  • Method Summary

    Modifier and Type
    Method
    Description
    addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
     
     
     
     
    Allow the wasm file to include pre-compiled code on VMs which support it. .. warning:: This should only be enabled for trusted sources as the precompiled code is not verified.
    The Wasm code that Envoy will execute.
    The Wasm configuration used in initialization of a new VM (``proxy_on_start``).
    Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.
    clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
     
    If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter warming state.
    clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
     
    The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
    An ID which will be used along with a hash of the wasm code (or the name of the registered Null VM plugin) to determine which VM will be used for the plugin.
     
    boolean
    Allow the wasm file to include pre-compiled code on VMs which support it. .. warning:: This should only be enabled for trusted sources as the precompiled code is not verified.
    The Wasm code that Envoy will execute.
    The Wasm code that Envoy will execute.
    The Wasm code that Envoy will execute.
    com.google.protobuf.Any
    The Wasm configuration used in initialization of a new VM (``proxy_on_start``).
    com.google.protobuf.Any.Builder
    The Wasm configuration used in initialization of a new VM (``proxy_on_start``).
    com.google.protobuf.AnyOrBuilder
    The Wasm configuration used in initialization of a new VM (``proxy_on_start``).
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.Descriptors.Descriptor
     
    Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.
    Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.
    Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.
    boolean
    If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter warming state.
    The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
    com.google.protobuf.ByteString
    The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
    An ID which will be used along with a hash of the wasm code (or the name of the registered Null VM plugin) to determine which VM will be used for the plugin.
    com.google.protobuf.ByteString
    An ID which will be used along with a hash of the wasm code (or the name of the registered Null VM plugin) to determine which VM will be used for the plugin.
    boolean
    The Wasm code that Envoy will execute.
    boolean
    The Wasm configuration used in initialization of a new VM (``proxy_on_start``).
    boolean
    Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
     
    final boolean
     
    The Wasm code that Envoy will execute.
    mergeConfiguration(com.google.protobuf.Any value)
    The Wasm configuration used in initialization of a new VM (``proxy_on_start``).
    Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.
    mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    mergeFrom(com.google.protobuf.Message other)
     
     
    mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
     
    setAllowPrecompiled(boolean value)
    Allow the wasm file to include pre-compiled code on VMs which support it. .. warning:: This should only be enabled for trusted sources as the precompiled code is not verified.
    The Wasm code that Envoy will execute.
    The Wasm code that Envoy will execute.
    setConfiguration(com.google.protobuf.Any value)
    The Wasm configuration used in initialization of a new VM (``proxy_on_start``).
    setConfiguration(com.google.protobuf.Any.Builder builderForValue)
    The Wasm configuration used in initialization of a new VM (``proxy_on_start``).
    Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.
    Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.
    setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
     
    setNackOnCodeCacheMiss(boolean value)
    If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter warming state.
    setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
     
    The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
    setRuntimeBytes(com.google.protobuf.ByteString value)
    The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
    setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
     
    setVmId(String value)
    An ID which will be used along with a hash of the wasm code (or the name of the registered Null VM plugin) to determine which VM will be used for the plugin.
    setVmIdBytes(com.google.protobuf.ByteString value)
    An ID which will be used along with a hash of the wasm code (or the name of the registered Null VM plugin) to determine which VM will be used for the plugin.

    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, setUnknownFieldsProto3

    Methods inherited from class com.google.protobuf.AbstractMessage.Builder

    findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder

    addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.Message.Builder

    mergeDelimitedFrom, mergeDelimitedFrom

    Methods inherited from interface com.google.protobuf.MessageLite.Builder

    mergeFrom

    Methods 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:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<VmConfig.Builder>
    • clear

      public VmConfig.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<VmConfig.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<VmConfig.Builder>
    • getDefaultInstanceForType

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

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

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

      public VmConfig.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<VmConfig.Builder>
    • setField

      public VmConfig.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<VmConfig.Builder>
    • clearField

      public VmConfig.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<VmConfig.Builder>
    • clearOneof

      public VmConfig.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<VmConfig.Builder>
    • setRepeatedField

      public VmConfig.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<VmConfig.Builder>
    • addRepeatedField

      public VmConfig.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<VmConfig.Builder>
    • mergeFrom

      public VmConfig.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<VmConfig.Builder>
    • mergeFrom

      public VmConfig.Builder mergeFrom(VmConfig other)
    • isInitialized

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

      public VmConfig.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<VmConfig.Builder>
      Throws:
      IOException
    • getVmId

      public String getVmId()
       An ID which will be used along with a hash of the wasm code (or the name of the registered Null
       VM plugin) to determine which VM will be used for the plugin. All plugins which use the same
       ``vm_id`` and code will use the same VM. May be left blank. Sharing a VM between plugins can
       reduce memory utilization and make sharing of data easier which may have security implications.
       [#comment: TODO: add ref for details.]
       
      string vm_id = 1;
      Specified by:
      getVmId in interface VmConfigOrBuilder
      Returns:
      The vmId.
    • getVmIdBytes

      public com.google.protobuf.ByteString getVmIdBytes()
       An ID which will be used along with a hash of the wasm code (or the name of the registered Null
       VM plugin) to determine which VM will be used for the plugin. All plugins which use the same
       ``vm_id`` and code will use the same VM. May be left blank. Sharing a VM between plugins can
       reduce memory utilization and make sharing of data easier which may have security implications.
       [#comment: TODO: add ref for details.]
       
      string vm_id = 1;
      Specified by:
      getVmIdBytes in interface VmConfigOrBuilder
      Returns:
      The bytes for vmId.
    • setVmId

      public VmConfig.Builder setVmId(String value)
       An ID which will be used along with a hash of the wasm code (or the name of the registered Null
       VM plugin) to determine which VM will be used for the plugin. All plugins which use the same
       ``vm_id`` and code will use the same VM. May be left blank. Sharing a VM between plugins can
       reduce memory utilization and make sharing of data easier which may have security implications.
       [#comment: TODO: add ref for details.]
       
      string vm_id = 1;
      Parameters:
      value - The vmId to set.
      Returns:
      This builder for chaining.
    • clearVmId

      public VmConfig.Builder clearVmId()
       An ID which will be used along with a hash of the wasm code (or the name of the registered Null
       VM plugin) to determine which VM will be used for the plugin. All plugins which use the same
       ``vm_id`` and code will use the same VM. May be left blank. Sharing a VM between plugins can
       reduce memory utilization and make sharing of data easier which may have security implications.
       [#comment: TODO: add ref for details.]
       
      string vm_id = 1;
      Returns:
      This builder for chaining.
    • setVmIdBytes

      public VmConfig.Builder setVmIdBytes(com.google.protobuf.ByteString value)
       An ID which will be used along with a hash of the wasm code (or the name of the registered Null
       VM plugin) to determine which VM will be used for the plugin. All plugins which use the same
       ``vm_id`` and code will use the same VM. May be left blank. Sharing a VM between plugins can
       reduce memory utilization and make sharing of data easier which may have security implications.
       [#comment: TODO: add ref for details.]
       
      string vm_id = 1;
      Parameters:
      value - The bytes for vmId to set.
      Returns:
      This builder for chaining.
    • getRuntime

      public String getRuntime()
       The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
       The priority to search for the available engine is: v8 -> wasmtime -> wamr.
       Available Wasm runtime types are registered as extensions. The following runtimes are included
       in Envoy code base:
      
       .. _extension_envoy.wasm.runtime.null:
      
       **envoy.wasm.runtime.null**: Null sandbox, the Wasm module must be compiled and linked into the
       Envoy binary. The registered name is given in the ``code`` field as ``inline_string``.
      
       .. _extension_envoy.wasm.runtime.v8:
      
       **envoy.wasm.runtime.v8**: `V8 <https://v8.dev/>`_-based WebAssembly runtime.
      
       .. _extension_envoy.wasm.runtime.wamr:
      
       **envoy.wasm.runtime.wamr**: `WAMR <https://github.com/bytecodealliance/wasm-micro-runtime/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       .. _extension_envoy.wasm.runtime.wasmtime:
      
       **envoy.wasm.runtime.wasmtime**: `Wasmtime <https://wasmtime.dev/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       [#extension-category: envoy.wasm.runtime]
       
      string runtime = 2;
      Specified by:
      getRuntime in interface VmConfigOrBuilder
      Returns:
      The runtime.
    • getRuntimeBytes

      public com.google.protobuf.ByteString getRuntimeBytes()
       The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
       The priority to search for the available engine is: v8 -> wasmtime -> wamr.
       Available Wasm runtime types are registered as extensions. The following runtimes are included
       in Envoy code base:
      
       .. _extension_envoy.wasm.runtime.null:
      
       **envoy.wasm.runtime.null**: Null sandbox, the Wasm module must be compiled and linked into the
       Envoy binary. The registered name is given in the ``code`` field as ``inline_string``.
      
       .. _extension_envoy.wasm.runtime.v8:
      
       **envoy.wasm.runtime.v8**: `V8 <https://v8.dev/>`_-based WebAssembly runtime.
      
       .. _extension_envoy.wasm.runtime.wamr:
      
       **envoy.wasm.runtime.wamr**: `WAMR <https://github.com/bytecodealliance/wasm-micro-runtime/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       .. _extension_envoy.wasm.runtime.wasmtime:
      
       **envoy.wasm.runtime.wasmtime**: `Wasmtime <https://wasmtime.dev/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       [#extension-category: envoy.wasm.runtime]
       
      string runtime = 2;
      Specified by:
      getRuntimeBytes in interface VmConfigOrBuilder
      Returns:
      The bytes for runtime.
    • setRuntime

      public VmConfig.Builder setRuntime(String value)
       The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
       The priority to search for the available engine is: v8 -> wasmtime -> wamr.
       Available Wasm runtime types are registered as extensions. The following runtimes are included
       in Envoy code base:
      
       .. _extension_envoy.wasm.runtime.null:
      
       **envoy.wasm.runtime.null**: Null sandbox, the Wasm module must be compiled and linked into the
       Envoy binary. The registered name is given in the ``code`` field as ``inline_string``.
      
       .. _extension_envoy.wasm.runtime.v8:
      
       **envoy.wasm.runtime.v8**: `V8 <https://v8.dev/>`_-based WebAssembly runtime.
      
       .. _extension_envoy.wasm.runtime.wamr:
      
       **envoy.wasm.runtime.wamr**: `WAMR <https://github.com/bytecodealliance/wasm-micro-runtime/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       .. _extension_envoy.wasm.runtime.wasmtime:
      
       **envoy.wasm.runtime.wasmtime**: `Wasmtime <https://wasmtime.dev/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       [#extension-category: envoy.wasm.runtime]
       
      string runtime = 2;
      Parameters:
      value - The runtime to set.
      Returns:
      This builder for chaining.
    • clearRuntime

      public VmConfig.Builder clearRuntime()
       The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
       The priority to search for the available engine is: v8 -> wasmtime -> wamr.
       Available Wasm runtime types are registered as extensions. The following runtimes are included
       in Envoy code base:
      
       .. _extension_envoy.wasm.runtime.null:
      
       **envoy.wasm.runtime.null**: Null sandbox, the Wasm module must be compiled and linked into the
       Envoy binary. The registered name is given in the ``code`` field as ``inline_string``.
      
       .. _extension_envoy.wasm.runtime.v8:
      
       **envoy.wasm.runtime.v8**: `V8 <https://v8.dev/>`_-based WebAssembly runtime.
      
       .. _extension_envoy.wasm.runtime.wamr:
      
       **envoy.wasm.runtime.wamr**: `WAMR <https://github.com/bytecodealliance/wasm-micro-runtime/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       .. _extension_envoy.wasm.runtime.wasmtime:
      
       **envoy.wasm.runtime.wasmtime**: `Wasmtime <https://wasmtime.dev/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       [#extension-category: envoy.wasm.runtime]
       
      string runtime = 2;
      Returns:
      This builder for chaining.
    • setRuntimeBytes

      public VmConfig.Builder setRuntimeBytes(com.google.protobuf.ByteString value)
       The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time.
       The priority to search for the available engine is: v8 -> wasmtime -> wamr.
       Available Wasm runtime types are registered as extensions. The following runtimes are included
       in Envoy code base:
      
       .. _extension_envoy.wasm.runtime.null:
      
       **envoy.wasm.runtime.null**: Null sandbox, the Wasm module must be compiled and linked into the
       Envoy binary. The registered name is given in the ``code`` field as ``inline_string``.
      
       .. _extension_envoy.wasm.runtime.v8:
      
       **envoy.wasm.runtime.v8**: `V8 <https://v8.dev/>`_-based WebAssembly runtime.
      
       .. _extension_envoy.wasm.runtime.wamr:
      
       **envoy.wasm.runtime.wamr**: `WAMR <https://github.com/bytecodealliance/wasm-micro-runtime/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       .. _extension_envoy.wasm.runtime.wasmtime:
      
       **envoy.wasm.runtime.wasmtime**: `Wasmtime <https://wasmtime.dev/>`_-based WebAssembly runtime.
       This runtime is not enabled in the official build.
      
       [#extension-category: envoy.wasm.runtime]
       
      string runtime = 2;
      Parameters:
      value - The bytes for runtime to set.
      Returns:
      This builder for chaining.
    • hasCode

      public boolean hasCode()
       The Wasm code that Envoy will execute.
       
      .envoy.config.core.v3.AsyncDataSource code = 3;
      Specified by:
      hasCode in interface VmConfigOrBuilder
      Returns:
      Whether the code field is set.
    • getCode

      public AsyncDataSource getCode()
       The Wasm code that Envoy will execute.
       
      .envoy.config.core.v3.AsyncDataSource code = 3;
      Specified by:
      getCode in interface VmConfigOrBuilder
      Returns:
      The code.
    • setCode

      public VmConfig.Builder setCode(AsyncDataSource value)
       The Wasm code that Envoy will execute.
       
      .envoy.config.core.v3.AsyncDataSource code = 3;
    • setCode

      public VmConfig.Builder setCode(AsyncDataSource.Builder builderForValue)
       The Wasm code that Envoy will execute.
       
      .envoy.config.core.v3.AsyncDataSource code = 3;
    • mergeCode

      public VmConfig.Builder mergeCode(AsyncDataSource value)
       The Wasm code that Envoy will execute.
       
      .envoy.config.core.v3.AsyncDataSource code = 3;
    • clearCode

      public VmConfig.Builder clearCode()
       The Wasm code that Envoy will execute.
       
      .envoy.config.core.v3.AsyncDataSource code = 3;
    • getCodeBuilder

      public AsyncDataSource.Builder getCodeBuilder()
       The Wasm code that Envoy will execute.
       
      .envoy.config.core.v3.AsyncDataSource code = 3;
    • getCodeOrBuilder

      public AsyncDataSourceOrBuilder getCodeOrBuilder()
       The Wasm code that Envoy will execute.
       
      .envoy.config.core.v3.AsyncDataSource code = 3;
      Specified by:
      getCodeOrBuilder in interface VmConfigOrBuilder
    • hasConfiguration

      public boolean hasConfiguration()
       The Wasm configuration used in initialization of a new VM
       (``proxy_on_start``). ``google.protobuf.Struct`` is serialized as JSON before
       passing it to the plugin. ``google.protobuf.BytesValue`` and
       ``google.protobuf.StringValue`` are passed directly without the wrapper.
       
      .google.protobuf.Any configuration = 4;
      Specified by:
      hasConfiguration in interface VmConfigOrBuilder
      Returns:
      Whether the configuration field is set.
    • getConfiguration

      public com.google.protobuf.Any getConfiguration()
       The Wasm configuration used in initialization of a new VM
       (``proxy_on_start``). ``google.protobuf.Struct`` is serialized as JSON before
       passing it to the plugin. ``google.protobuf.BytesValue`` and
       ``google.protobuf.StringValue`` are passed directly without the wrapper.
       
      .google.protobuf.Any configuration = 4;
      Specified by:
      getConfiguration in interface VmConfigOrBuilder
      Returns:
      The configuration.
    • setConfiguration

      public VmConfig.Builder setConfiguration(com.google.protobuf.Any value)
       The Wasm configuration used in initialization of a new VM
       (``proxy_on_start``). ``google.protobuf.Struct`` is serialized as JSON before
       passing it to the plugin. ``google.protobuf.BytesValue`` and
       ``google.protobuf.StringValue`` are passed directly without the wrapper.
       
      .google.protobuf.Any configuration = 4;
    • setConfiguration

      public VmConfig.Builder setConfiguration(com.google.protobuf.Any.Builder builderForValue)
       The Wasm configuration used in initialization of a new VM
       (``proxy_on_start``). ``google.protobuf.Struct`` is serialized as JSON before
       passing it to the plugin. ``google.protobuf.BytesValue`` and
       ``google.protobuf.StringValue`` are passed directly without the wrapper.
       
      .google.protobuf.Any configuration = 4;
    • mergeConfiguration

      public VmConfig.Builder mergeConfiguration(com.google.protobuf.Any value)
       The Wasm configuration used in initialization of a new VM
       (``proxy_on_start``). ``google.protobuf.Struct`` is serialized as JSON before
       passing it to the plugin. ``google.protobuf.BytesValue`` and
       ``google.protobuf.StringValue`` are passed directly without the wrapper.
       
      .google.protobuf.Any configuration = 4;
    • clearConfiguration

      public VmConfig.Builder clearConfiguration()
       The Wasm configuration used in initialization of a new VM
       (``proxy_on_start``). ``google.protobuf.Struct`` is serialized as JSON before
       passing it to the plugin. ``google.protobuf.BytesValue`` and
       ``google.protobuf.StringValue`` are passed directly without the wrapper.
       
      .google.protobuf.Any configuration = 4;
    • getConfigurationBuilder

      public com.google.protobuf.Any.Builder getConfigurationBuilder()
       The Wasm configuration used in initialization of a new VM
       (``proxy_on_start``). ``google.protobuf.Struct`` is serialized as JSON before
       passing it to the plugin. ``google.protobuf.BytesValue`` and
       ``google.protobuf.StringValue`` are passed directly without the wrapper.
       
      .google.protobuf.Any configuration = 4;
    • getConfigurationOrBuilder

      public com.google.protobuf.AnyOrBuilder getConfigurationOrBuilder()
       The Wasm configuration used in initialization of a new VM
       (``proxy_on_start``). ``google.protobuf.Struct`` is serialized as JSON before
       passing it to the plugin. ``google.protobuf.BytesValue`` and
       ``google.protobuf.StringValue`` are passed directly without the wrapper.
       
      .google.protobuf.Any configuration = 4;
      Specified by:
      getConfigurationOrBuilder in interface VmConfigOrBuilder
    • getAllowPrecompiled

      public boolean getAllowPrecompiled()
       Allow the wasm file to include pre-compiled code on VMs which support it.
      
       .. warning::
         This should only be enabled for trusted sources as the precompiled code is not
         verified.
       
      bool allow_precompiled = 5;
      Specified by:
      getAllowPrecompiled in interface VmConfigOrBuilder
      Returns:
      The allowPrecompiled.
    • setAllowPrecompiled

      public VmConfig.Builder setAllowPrecompiled(boolean value)
       Allow the wasm file to include pre-compiled code on VMs which support it.
      
       .. warning::
         This should only be enabled for trusted sources as the precompiled code is not
         verified.
       
      bool allow_precompiled = 5;
      Parameters:
      value - The allowPrecompiled to set.
      Returns:
      This builder for chaining.
    • clearAllowPrecompiled

      public VmConfig.Builder clearAllowPrecompiled()
       Allow the wasm file to include pre-compiled code on VMs which support it.
      
       .. warning::
         This should only be enabled for trusted sources as the precompiled code is not
         verified.
       
      bool allow_precompiled = 5;
      Returns:
      This builder for chaining.
    • getNackOnCodeCacheMiss

      public boolean getNackOnCodeCacheMiss()
       If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration
       update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter
       warming state.
       
      bool nack_on_code_cache_miss = 6;
      Specified by:
      getNackOnCodeCacheMiss in interface VmConfigOrBuilder
      Returns:
      The nackOnCodeCacheMiss.
    • setNackOnCodeCacheMiss

      public VmConfig.Builder setNackOnCodeCacheMiss(boolean value)
       If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration
       update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter
       warming state.
       
      bool nack_on_code_cache_miss = 6;
      Parameters:
      value - The nackOnCodeCacheMiss to set.
      Returns:
      This builder for chaining.
    • clearNackOnCodeCacheMiss

      public VmConfig.Builder clearNackOnCodeCacheMiss()
       If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration
       update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter
       warming state.
       
      bool nack_on_code_cache_miss = 6;
      Returns:
      This builder for chaining.
    • hasEnvironmentVariables

      public boolean hasEnvironmentVariables()
       Specifies environment variables to be injected to this VM which will be available through
       WASI's ``environ_get`` and ``environ_get_sizes`` system calls. Note that these functions
       are generally called implicitly by your language's standard library. Therefore, you do not
       need to call them directly. You can access environment variables in the same way you would
       on native platforms.
      
       .. warning::
         Envoy rejects the configuration if there's conflict of key space.
       
      .envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;
      Specified by:
      hasEnvironmentVariables in interface VmConfigOrBuilder
      Returns:
      Whether the environmentVariables field is set.
    • getEnvironmentVariables

      public EnvironmentVariables getEnvironmentVariables()
       Specifies environment variables to be injected to this VM which will be available through
       WASI's ``environ_get`` and ``environ_get_sizes`` system calls. Note that these functions
       are generally called implicitly by your language's standard library. Therefore, you do not
       need to call them directly. You can access environment variables in the same way you would
       on native platforms.
      
       .. warning::
         Envoy rejects the configuration if there's conflict of key space.
       
      .envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;
      Specified by:
      getEnvironmentVariables in interface VmConfigOrBuilder
      Returns:
      The environmentVariables.
    • setEnvironmentVariables

      public VmConfig.Builder setEnvironmentVariables(EnvironmentVariables value)
       Specifies environment variables to be injected to this VM which will be available through
       WASI's ``environ_get`` and ``environ_get_sizes`` system calls. Note that these functions
       are generally called implicitly by your language's standard library. Therefore, you do not
       need to call them directly. You can access environment variables in the same way you would
       on native platforms.
      
       .. warning::
         Envoy rejects the configuration if there's conflict of key space.
       
      .envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;
    • setEnvironmentVariables

      public VmConfig.Builder setEnvironmentVariables(EnvironmentVariables.Builder builderForValue)
       Specifies environment variables to be injected to this VM which will be available through
       WASI's ``environ_get`` and ``environ_get_sizes`` system calls. Note that these functions
       are generally called implicitly by your language's standard library. Therefore, you do not
       need to call them directly. You can access environment variables in the same way you would
       on native platforms.
      
       .. warning::
         Envoy rejects the configuration if there's conflict of key space.
       
      .envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;
    • mergeEnvironmentVariables

      public VmConfig.Builder mergeEnvironmentVariables(EnvironmentVariables value)
       Specifies environment variables to be injected to this VM which will be available through
       WASI's ``environ_get`` and ``environ_get_sizes`` system calls. Note that these functions
       are generally called implicitly by your language's standard library. Therefore, you do not
       need to call them directly. You can access environment variables in the same way you would
       on native platforms.
      
       .. warning::
         Envoy rejects the configuration if there's conflict of key space.
       
      .envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;
    • clearEnvironmentVariables

      public VmConfig.Builder clearEnvironmentVariables()
       Specifies environment variables to be injected to this VM which will be available through
       WASI's ``environ_get`` and ``environ_get_sizes`` system calls. Note that these functions
       are generally called implicitly by your language's standard library. Therefore, you do not
       need to call them directly. You can access environment variables in the same way you would
       on native platforms.
      
       .. warning::
         Envoy rejects the configuration if there's conflict of key space.
       
      .envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;
    • getEnvironmentVariablesBuilder

      public EnvironmentVariables.Builder getEnvironmentVariablesBuilder()
       Specifies environment variables to be injected to this VM which will be available through
       WASI's ``environ_get`` and ``environ_get_sizes`` system calls. Note that these functions
       are generally called implicitly by your language's standard library. Therefore, you do not
       need to call them directly. You can access environment variables in the same way you would
       on native platforms.
      
       .. warning::
         Envoy rejects the configuration if there's conflict of key space.
       
      .envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;
    • getEnvironmentVariablesOrBuilder

      public EnvironmentVariablesOrBuilder getEnvironmentVariablesOrBuilder()
       Specifies environment variables to be injected to this VM which will be available through
       WASI's ``environ_get`` and ``environ_get_sizes`` system calls. Note that these functions
       are generally called implicitly by your language's standard library. Therefore, you do not
       need to call them directly. You can access environment variables in the same way you would
       on native platforms.
      
       .. warning::
         Envoy rejects the configuration if there's conflict of key space.
       
      .envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;
      Specified by:
      getEnvironmentVariablesOrBuilder in interface VmConfigOrBuilder
    • setUnknownFields

      public final VmConfig.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<VmConfig.Builder>
    • mergeUnknownFields

      public final VmConfig.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<VmConfig.Builder>