public final class VmConfig extends com.google.protobuf.GeneratedMessageV3 implements VmConfigOrBuilder
Configuration for a Wasm VM. [#next-free-field: 7]Protobuf type
envoy.extensions.wasm.v3.VmConfig| Modifier and Type | Class and Description |
|---|---|
static class |
VmConfig.Builder
Configuration for a Wasm VM.
|
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter| Modifier and Type | Field and Description |
|---|---|
static int |
ALLOW_PRECOMPILED_FIELD_NUMBER |
static int |
CODE_FIELD_NUMBER |
static int |
CONFIGURATION_FIELD_NUMBER |
static int |
NACK_ON_CODE_CACHE_MISS_FIELD_NUMBER |
static int |
RUNTIME_FIELD_NUMBER |
static int |
VM_ID_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
boolean |
getAllowPrecompiled()
Allow the wasm file to include pre-compiled code on VMs which support it.
|
AsyncDataSource |
getCode()
The Wasm code that Envoy will execute.
|
AsyncDataSourceOrBuilder |
getCodeOrBuilder()
The Wasm code that Envoy will execute.
|
com.google.protobuf.Any |
getConfiguration()
The Wasm configuration used in initialization of a new VM
(proxy_on_start).
|
com.google.protobuf.AnyOrBuilder |
getConfigurationOrBuilder()
The Wasm configuration used in initialization of a new VM
(proxy_on_start).
|
static VmConfig |
getDefaultInstance() |
VmConfig |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
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.
|
com.google.protobuf.Parser<VmConfig> |
getParserForType() |
String |
getRuntime()
The Wasm runtime type.
|
com.google.protobuf.ByteString |
getRuntimeBytes()
The Wasm runtime type.
|
int |
getSerializedSize() |
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
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.
|
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.
|
boolean |
hasCode()
The Wasm code that Envoy will execute.
|
boolean |
hasConfiguration()
The Wasm configuration used in initialization of a new VM
(proxy_on_start).
|
int |
hashCode() |
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static VmConfig.Builder |
newBuilder() |
static VmConfig.Builder |
newBuilder(VmConfig prototype) |
VmConfig.Builder |
newBuilderForType() |
protected VmConfig.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
protected Object |
newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) |
static VmConfig |
parseDelimitedFrom(InputStream input) |
static VmConfig |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static VmConfig |
parseFrom(byte[] data) |
static VmConfig |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static VmConfig |
parseFrom(ByteBuffer data) |
static VmConfig |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static VmConfig |
parseFrom(com.google.protobuf.ByteString data) |
static VmConfig |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static VmConfig |
parseFrom(com.google.protobuf.CodedInputStream input) |
static VmConfig |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static VmConfig |
parseFrom(InputStream input) |
static VmConfig |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<VmConfig> |
parser() |
VmConfig.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, 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, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic static final int VM_ID_FIELD_NUMBER
public static final int RUNTIME_FIELD_NUMBER
public static final int CODE_FIELD_NUMBER
public static final int CONFIGURATION_FIELD_NUMBER
public static final int ALLOW_PRECOMPILED_FIELD_NUMBER
public static final int NACK_ON_CODE_CACHE_MISS_FIELD_NUMBER
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
newInstance in class com.google.protobuf.GeneratedMessageV3public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields in interface com.google.protobuf.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public 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. See ref: "TODO: add ref" for details.
string vm_id = 1;getVmId in interface VmConfigOrBuilderpublic 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. See ref: "TODO: add ref" for details.
string vm_id = 1;getVmIdBytes in interface VmConfigOrBuilderpublic 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.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.
string runtime = 2 [(.validate.rules) = { ... }getRuntime in interface VmConfigOrBuilderpublic 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.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.
string runtime = 2 [(.validate.rules) = { ... }getRuntimeBytes in interface VmConfigOrBuilderpublic boolean hasCode()
The Wasm code that Envoy will execute.
.envoy.config.core.v3.AsyncDataSource code = 3;hasCode in interface VmConfigOrBuilderpublic AsyncDataSource getCode()
The Wasm code that Envoy will execute.
.envoy.config.core.v3.AsyncDataSource code = 3;getCode in interface VmConfigOrBuilderpublic AsyncDataSourceOrBuilder getCodeOrBuilder()
The Wasm code that Envoy will execute.
.envoy.config.core.v3.AsyncDataSource code = 3;getCodeOrBuilder in interface VmConfigOrBuilderpublic 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;hasConfiguration in interface VmConfigOrBuilderpublic 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;getConfiguration in interface VmConfigOrBuilderpublic 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;getConfigurationOrBuilder in interface VmConfigOrBuilderpublic 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;getAllowPrecompiled in interface VmConfigOrBuilderpublic 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;getNackOnCodeCacheMiss in interface VmConfigOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static VmConfig parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static VmConfig parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static VmConfig parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static VmConfig parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static VmConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static VmConfig parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static VmConfig parseFrom(InputStream input) throws IOException
IOExceptionpublic static VmConfig parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static VmConfig parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static VmConfig parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static VmConfig parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static VmConfig parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic VmConfig.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static VmConfig.Builder newBuilder()
public static VmConfig.Builder newBuilder(VmConfig prototype)
public VmConfig.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected VmConfig.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static VmConfig getDefaultInstance()
public static com.google.protobuf.Parser<VmConfig> parser()
public com.google.protobuf.Parser<VmConfig> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public VmConfig getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018–2021 The Envoy Project. All rights reserved.