All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.envoyproxy.envoy.extensions.wasm.v3.VmConfigOrBuilder Maven / Gradle / Ivy

There is a newer version: 1.0.46
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/extensions/wasm/v3/wasm.proto

package io.envoyproxy.envoy.extensions.wasm.v3;

public interface VmConfigOrBuilder extends
    // @@protoc_insertion_point(interface_extends:envoy.extensions.wasm.v3.VmConfig)
    com.google.protobuf.MessageOrBuilder {

  /**
   * 
   * 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; * @return The vmId. */ java.lang.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; * @return The bytes for vmId. */ com.google.protobuf.ByteString getVmIdBytes(); /** *
   * 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 -> wavm.
   * 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; * @return The runtime. */ java.lang.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 -> wavm.
   * 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; * @return The bytes for runtime. */ com.google.protobuf.ByteString getRuntimeBytes(); /** *
   * The Wasm code that Envoy will execute.
   * 
* * .envoy.config.core.v3.AsyncDataSource code = 3; * @return Whether the code field is set. */ boolean hasCode(); /** *
   * The Wasm code that Envoy will execute.
   * 
* * .envoy.config.core.v3.AsyncDataSource code = 3; * @return The code. */ io.envoyproxy.envoy.config.core.v3.AsyncDataSource getCode(); /** *
   * The Wasm code that Envoy will execute.
   * 
* * .envoy.config.core.v3.AsyncDataSource code = 3; */ io.envoyproxy.envoy.config.core.v3.AsyncDataSourceOrBuilder getCodeOrBuilder(); /** *
   * 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; * @return Whether the configuration field is set. */ 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; * @return The configuration. */ 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; */ com.google.protobuf.AnyOrBuilder getConfigurationOrBuilder(); /** *
   * 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; * @return The allowPrecompiled. */ boolean getAllowPrecompiled(); /** *
   * 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; * @return The nackOnCodeCacheMiss. */ boolean getNackOnCodeCacheMiss(); /** *
   * 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; * @return Whether the environmentVariables field is set. */ 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; * @return The environmentVariables. */ io.envoyproxy.envoy.extensions.wasm.v3.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; */ io.envoyproxy.envoy.extensions.wasm.v3.EnvironmentVariablesOrBuilder getEnvironmentVariablesOrBuilder(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy