Interface VmConfigOrBuilder
-
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
VmConfig,VmConfig.Builder
public interface VmConfigOrBuilder extends com.google.protobuf.MessageOrBuilder
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleangetAllowPrecompiled()Allow the wasm file to include pre-compiled code on VMs which support it.AsyncDataSourcegetCode()The Wasm code that Envoy will execute.AsyncDataSourceOrBuildergetCodeOrBuilder()The Wasm code that Envoy will execute.com.google.protobuf.AnygetConfiguration()The Wasm configuration used in initialization of a new VM (proxy_on_start).com.google.protobuf.AnyOrBuildergetConfigurationOrBuilder()The Wasm configuration used in initialization of a new VM (proxy_on_start).EnvironmentVariablesgetEnvironmentVariables()Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.EnvironmentVariablesOrBuildergetEnvironmentVariablesOrBuilder()Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.booleangetNackOnCodeCacheMiss()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.StringgetRuntime()The Wasm runtime type.com.google.protobuf.ByteStringgetRuntimeBytes()The Wasm runtime type.StringgetVmId()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.ByteStringgetVmIdBytes()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.booleanhasCode()The Wasm code that Envoy will execute.booleanhasConfiguration()The Wasm configuration used in initialization of a new VM (proxy_on_start).booleanhasEnvironmentVariables()Specifies environment variables to be injected to this VM which will be available through WASI's ``environ_get`` and ``environ_get_sizes`` system calls.-
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
-
-
-
Method Detail
-
getVmId
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;- Returns:
- The vmId.
-
getVmIdBytes
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;- Returns:
- The bytes for vmId.
-
getRuntime
String getRuntime()
The Wasm runtime type. 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.wavm: **envoy.wasm.runtime.wavm**: `WAVM <https://wavm.github.io/>`_-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 [(.validate.rules) = { ... }- Returns:
- The runtime.
-
getRuntimeBytes
com.google.protobuf.ByteString getRuntimeBytes()
The Wasm runtime type. 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.wavm: **envoy.wasm.runtime.wavm**: `WAVM <https://wavm.github.io/>`_-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 [(.validate.rules) = { ... }- Returns:
- The bytes for runtime.
-
hasCode
boolean hasCode()
The Wasm code that Envoy will execute.
.envoy.config.core.v3.AsyncDataSource code = 3;- Returns:
- Whether the code field is set.
-
getCode
AsyncDataSource getCode()
The Wasm code that Envoy will execute.
.envoy.config.core.v3.AsyncDataSource code = 3;- Returns:
- The code.
-
getCodeOrBuilder
AsyncDataSourceOrBuilder getCodeOrBuilder()
The Wasm code that Envoy will execute.
.envoy.config.core.v3.AsyncDataSource code = 3;
-
hasConfiguration
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;- Returns:
- Whether the configuration field is set.
-
getConfiguration
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;- Returns:
- The configuration.
-
getConfigurationOrBuilder
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;
-
getAllowPrecompiled
boolean getAllowPrecompiled()
Allow the wasm file to include pre-compiled code on VMs which support it. Warning: this should only be enable for trusted sources as the precompiled code is not verified.
bool allow_precompiled = 5;- Returns:
- The allowPrecompiled.
-
getNackOnCodeCacheMiss
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;- Returns:
- The nackOnCodeCacheMiss.
-
hasEnvironmentVariables
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 mostly implicitly called in your language's standard library, so you do not need to call them directly and you can access to env vars just like when you do on native platforms. Warning: Envoy rejects the configuration if there's conflict of key space.
.envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;- Returns:
- Whether the environmentVariables field is set.
-
getEnvironmentVariables
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 mostly implicitly called in your language's standard library, so you do not need to call them directly and you can access to env vars just like when you do on native platforms. Warning: Envoy rejects the configuration if there's conflict of key space.
.envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;- Returns:
- The environmentVariables.
-
getEnvironmentVariablesOrBuilder
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 mostly implicitly called in your language's standard library, so you do not need to call them directly and you can access to env vars just like when you do on native platforms. Warning: Envoy rejects the configuration if there's conflict of key space.
.envoy.extensions.wasm.v3.EnvironmentVariables environment_variables = 7;
-
-