published on Tuesday, Aug 11, 2026 by Pulumi
published on Tuesday, Aug 11, 2026 by Pulumi
Manages a plugin runtime in Vault’s plugin runtime catalog. Plugin runtimes allow Vault to run plugins in isolated environments with resource constraints.
Important This resource requires Vault 1.15 or later.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const example = new vault.PluginRuntime("example", {
type: "container",
name: "example-runtime",
ociRuntime: "runc",
rootless: false,
});
import pulumi
import pulumi_vault as vault
example = vault.PluginRuntime("example",
type="container",
name="example-runtime",
oci_runtime="runc",
rootless=False)
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := vault.NewPluginRuntime(ctx, "example", &vault.PluginRuntimeArgs{
Type: pulumi.String("container"),
Name: pulumi.String("example-runtime"),
OciRuntime: pulumi.String("runc"),
Rootless: pulumi.Bool(false),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var example = new Vault.PluginRuntime("example", new()
{
Type = "container",
Name = "example-runtime",
OciRuntime = "runc",
Rootless = false,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.PluginRuntime;
import com.pulumi.vault.PluginRuntimeArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new PluginRuntime("example", PluginRuntimeArgs.builder()
.type("container")
.name("example-runtime")
.ociRuntime("runc")
.rootless(false)
.build());
}
}
resources:
example:
type: vault:PluginRuntime
properties:
type: container
name: example-runtime
ociRuntime: runc
rootless: false
pulumi {
required_providers {
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_pluginruntime" "example" {
type = "container"
name = "example-runtime"
oci_runtime = "runc"
rootless = false
}
With Resource Limits
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const constrained = new vault.PluginRuntime("constrained", {
type: "container",
name: "constrained-runtime",
ociRuntime: "runc",
cpuNanos: 1000000000,
memoryBytes: 536870912,
rootless: true,
});
import pulumi
import pulumi_vault as vault
constrained = vault.PluginRuntime("constrained",
type="container",
name="constrained-runtime",
oci_runtime="runc",
cpu_nanos=1000000000,
memory_bytes=536870912,
rootless=True)
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := vault.NewPluginRuntime(ctx, "constrained", &vault.PluginRuntimeArgs{
Type: pulumi.String("container"),
Name: pulumi.String("constrained-runtime"),
OciRuntime: pulumi.String("runc"),
CpuNanos: pulumi.Int(1000000000),
MemoryBytes: pulumi.Int(536870912),
Rootless: pulumi.Bool(true),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var constrained = new Vault.PluginRuntime("constrained", new()
{
Type = "container",
Name = "constrained-runtime",
OciRuntime = "runc",
CpuNanos = 1000000000,
MemoryBytes = 536870912,
Rootless = true,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.PluginRuntime;
import com.pulumi.vault.PluginRuntimeArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var constrained = new PluginRuntime("constrained", PluginRuntimeArgs.builder()
.type("container")
.name("constrained-runtime")
.ociRuntime("runc")
.cpuNanos(1000000000)
.memoryBytes(536870912)
.rootless(true)
.build());
}
}
resources:
constrained:
type: vault:PluginRuntime
properties:
type: container
name: constrained-runtime
ociRuntime: runc
cpuNanos: 1e+09 # 1 CPU core
memoryBytes: 5.36870912e+08 # 512 MB
rootless: true
pulumi {
required_providers {
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_pluginruntime" "constrained" {
type = "container"
name = "constrained-runtime"
oci_runtime = "runc"
cpu_nanos = 1000000000 # 1 CPU core
memory_bytes = 536870912 # 512 MB
rootless = true
}
With Custom Cgroup
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const customCgroup = new vault.PluginRuntime("custom_cgroup", {
type: "container",
name: "custom-cgroup-runtime",
ociRuntime: "runc",
cgroupParent: "/vault/plugins",
cpuNanos: 2000000000,
memoryBytes: 1073741824,
});
import pulumi
import pulumi_vault as vault
custom_cgroup = vault.PluginRuntime("custom_cgroup",
type="container",
name="custom-cgroup-runtime",
oci_runtime="runc",
cgroup_parent="/vault/plugins",
cpu_nanos=2000000000,
memory_bytes=1073741824)
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := vault.NewPluginRuntime(ctx, "custom_cgroup", &vault.PluginRuntimeArgs{
Type: pulumi.String("container"),
Name: pulumi.String("custom-cgroup-runtime"),
OciRuntime: pulumi.String("runc"),
CgroupParent: pulumi.String("/vault/plugins"),
CpuNanos: pulumi.Int(2000000000),
MemoryBytes: pulumi.Int(1073741824),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var customCgroup = new Vault.PluginRuntime("custom_cgroup", new()
{
Type = "container",
Name = "custom-cgroup-runtime",
OciRuntime = "runc",
CgroupParent = "/vault/plugins",
CpuNanos = 2000000000,
MemoryBytes = 1073741824,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.PluginRuntime;
import com.pulumi.vault.PluginRuntimeArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var customCgroup = new PluginRuntime("customCgroup", PluginRuntimeArgs.builder()
.type("container")
.name("custom-cgroup-runtime")
.ociRuntime("runc")
.cgroupParent("/vault/plugins")
.cpuNanos(2000000000)
.memoryBytes(1073741824)
.build());
}
}
resources:
customCgroup:
type: vault:PluginRuntime
name: custom_cgroup
properties:
type: container
name: custom-cgroup-runtime
ociRuntime: runc
cgroupParent: /vault/plugins
cpuNanos: 2e+09 # 2 CPU cores
memoryBytes: 1.073741824e+09 # 1 GB
pulumi {
required_providers {
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_pluginruntime" "custom_cgroup" {
type = "container"
name = "custom-cgroup-runtime"
oci_runtime = "runc"
cgroup_parent = "/vault/plugins"
cpu_nanos = 2000000000 # 2 CPU cores
memory_bytes = 1073741824 # 1 GB
}
Notes
- Plugin runtimes require Vault 1.15 or later
- The
containerruntime type requires a properly configured container runtime (e.g., Docker, containerd) on the Vault server - Resource limits (
cpuNanos,memoryBytes) help prevent plugins from consuming excessive resources - The
rootlessoption provides additional security isolation but may have compatibility limitations with some plugins - Deleting a plugin runtime that is in use by registered plugins will fail; you must first unregister or update those plugins
Create PluginRuntime Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new PluginRuntime(name: string, args: PluginRuntimeArgs, opts?: CustomResourceOptions);@overload
def PluginRuntime(resource_name: str,
args: PluginRuntimeArgs,
opts: Optional[ResourceOptions] = None)
@overload
def PluginRuntime(resource_name: str,
opts: Optional[ResourceOptions] = None,
type: Optional[str] = None,
cgroup_parent: Optional[str] = None,
cpu_nanos: Optional[int] = None,
memory_bytes: Optional[int] = None,
name: Optional[str] = None,
namespace: Optional[str] = None,
oci_runtime: Optional[str] = None,
rootless: Optional[bool] = None)func NewPluginRuntime(ctx *Context, name string, args PluginRuntimeArgs, opts ...ResourceOption) (*PluginRuntime, error)public PluginRuntime(string name, PluginRuntimeArgs args, CustomResourceOptions? opts = null)
public PluginRuntime(String name, PluginRuntimeArgs args)
public PluginRuntime(String name, PluginRuntimeArgs args, CustomResourceOptions options)
type: vault:PluginRuntime
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "vault_plugin_runtime" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args PluginRuntimeArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args PluginRuntimeArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args PluginRuntimeArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args PluginRuntimeArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args PluginRuntimeArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var pluginRuntimeResource = new Vault.PluginRuntime("pluginRuntimeResource", new()
{
Type = "string",
CgroupParent = "string",
CpuNanos = 0,
MemoryBytes = 0,
Name = "string",
Namespace = "string",
OciRuntime = "string",
Rootless = false,
});
example, err := vault.NewPluginRuntime(ctx, "pluginRuntimeResource", &vault.PluginRuntimeArgs{
Type: pulumi.String("string"),
CgroupParent: pulumi.String("string"),
CpuNanos: pulumi.Int(0),
MemoryBytes: pulumi.Int(0),
Name: pulumi.String("string"),
Namespace: pulumi.String("string"),
OciRuntime: pulumi.String("string"),
Rootless: pulumi.Bool(false),
})
resource "vault_plugin_runtime" "pluginRuntimeResource" {
lifecycle {
create_before_destroy = true
}
type = "string"
cgroup_parent = "string"
cpu_nanos = 0
memory_bytes = 0
name = "string"
namespace = "string"
oci_runtime = "string"
rootless = false
}
var pluginRuntimeResource = new PluginRuntime("pluginRuntimeResource", PluginRuntimeArgs.builder()
.type("string")
.cgroupParent("string")
.cpuNanos(0)
.memoryBytes(0)
.name("string")
.namespace("string")
.ociRuntime("string")
.rootless(false)
.build());
plugin_runtime_resource = vault.PluginRuntime("pluginRuntimeResource",
type="string",
cgroup_parent="string",
cpu_nanos=0,
memory_bytes=0,
name="string",
namespace="string",
oci_runtime="string",
rootless=False)
const pluginRuntimeResource = new vault.PluginRuntime("pluginRuntimeResource", {
type: "string",
cgroupParent: "string",
cpuNanos: 0,
memoryBytes: 0,
name: "string",
namespace: "string",
ociRuntime: "string",
rootless: false,
});
type: vault:PluginRuntime
properties:
cgroupParent: string
cpuNanos: 0
memoryBytes: 0
name: string
namespace: string
ociRuntime: string
rootless: false
type: string
PluginRuntime Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The PluginRuntime resource accepts the following input properties:
- Type string
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created. - Cgroup
Parent string - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- Cpu
Nanos int - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - Memory
Bytes int - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - Name string
- The name of the plugin runtime. Changing this forces a new resource to be created.
- Namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Oci
Runtime string - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - Rootless bool
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges.
- Type string
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created. - Cgroup
Parent string - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- Cpu
Nanos int - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - Memory
Bytes int - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - Name string
- The name of the plugin runtime. Changing this forces a new resource to be created.
- Namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Oci
Runtime string - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - Rootless bool
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges.
- type string
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created. - cgroup_
parent string - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu_
nanos number - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory_
bytes number - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name string
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci_
runtime string - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless bool
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges.
- type String
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created. - cgroup
Parent String - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu
Nanos Integer - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory
Bytes Integer - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name String
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace String
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci
Runtime String - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless Boolean
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges.
- type string
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created. - cgroup
Parent string - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu
Nanos number - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory
Bytes number - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name string
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci
Runtime string - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless boolean
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges.
- type str
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created. - cgroup_
parent str - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu_
nanos int - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory_
bytes int - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name str
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace str
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci_
runtime str - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless bool
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges.
- type String
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created. - cgroup
Parent String - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu
Nanos Number - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory
Bytes Number - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name String
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace String
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci
Runtime String - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless Boolean
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges.
Outputs
All input properties are implicitly available as output properties. Additionally, the PluginRuntime resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing PluginRuntime Resource
Get an existing PluginRuntime resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: PluginRuntimeState, opts?: CustomResourceOptions): PluginRuntime@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
cgroup_parent: Optional[str] = None,
cpu_nanos: Optional[int] = None,
memory_bytes: Optional[int] = None,
name: Optional[str] = None,
namespace: Optional[str] = None,
oci_runtime: Optional[str] = None,
rootless: Optional[bool] = None,
type: Optional[str] = None) -> PluginRuntimefunc GetPluginRuntime(ctx *Context, name string, id IDInput, state *PluginRuntimeState, opts ...ResourceOption) (*PluginRuntime, error)public static PluginRuntime Get(string name, Input<string> id, PluginRuntimeState? state, CustomResourceOptions? opts = null)public static PluginRuntime get(String name, Output<String> id, PluginRuntimeState state, CustomResourceOptions options)resources: _: type: vault:PluginRuntime get: id: ${id}import {
to = vault_plugin_runtime.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Cgroup
Parent string - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- Cpu
Nanos int - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - Memory
Bytes int - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - Name string
- The name of the plugin runtime. Changing this forces a new resource to be created.
- Namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Oci
Runtime string - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - Rootless bool
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges. - Type string
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created.
- Cgroup
Parent string - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- Cpu
Nanos int - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - Memory
Bytes int - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - Name string
- The name of the plugin runtime. Changing this forces a new resource to be created.
- Namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Oci
Runtime string - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - Rootless bool
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges. - Type string
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created.
- cgroup_
parent string - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu_
nanos number - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory_
bytes number - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name string
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci_
runtime string - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless bool
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges. - type string
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created.
- cgroup
Parent String - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu
Nanos Integer - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory
Bytes Integer - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name String
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace String
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci
Runtime String - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless Boolean
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges. - type String
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created.
- cgroup
Parent string - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu
Nanos number - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory
Bytes number - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name string
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci
Runtime string - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless boolean
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges. - type string
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created.
- cgroup_
parent str - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu_
nanos int - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory_
bytes int - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name str
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace str
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci_
runtime str - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless bool
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges. - type str
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created.
- cgroup
Parent String - The parent cgroup to set for each container. If not specified, defaults to the cgroup of the Vault process.
- cpu
Nanos Number - CPU time in nanoseconds that the plugin can use per second.
For example,
1000000000equals 1 CPU core. This sets a CPU quota for the container. - memory
Bytes Number - Maximum memory in bytes that the plugin can use.
For example,
536870912equals 512 MB. This sets a memory limit for the container. - name String
- The name of the plugin runtime. Changing this forces a new resource to be created.
- namespace String
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - oci
Runtime String - The OCI-compliant runtime to use for running plugin containers.
Common values include
runc(default) andrunsc(gVisor). - rootless Boolean
- Whether the runtime should run the plugin as a non-root user.
Defaults to
false. When set totrue, enhances security by running containers without root privileges. - type String
- The type of plugin runtime. Currently only
containeris supported. Changing this forces a new resource to be created.
Import
Plugin runtimes can be imported using the {type}/{name} format, e.g.
$ pulumi import vault:index/pluginRuntime:PluginRuntime example container/example-runtime
Note on Import Behavior The Vault API returns all configuration fields when reading a plugin runtime. However, fields that were not explicitly set (
ociRuntime,cgroupParent,cpuNanos,memoryBytes) will have default values (empty string for strings, 0 for integers). The provider treats these default values as “not set” (null in Terraform state) to match configurations where these fields are omitted. After import, if your configuration includes these fields with non-default values, they will be properly populated in state.
Import Workflow:
- Import the resource:
terraform import vault_plugin_runtime.example container/example-runtime - Verify the import:
pulumi preview(should show no changes if config matches what’s in Vault)
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Vault pulumi/pulumi-vault
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
vaultTerraform Provider.
published on Tuesday, Aug 11, 2026 by Pulumi