1. Packages
  2. HashiCorp Vault Provider
  3. API Docs
  4. RaftAutopilot
HashiCorp Vault v6.6.0 published on Thursday, Mar 13, 2025 by Pulumi

vault.RaftAutopilot

Explore with Pulumi AI

Autopilot enables automated workflows for managing Raft clusters. The current feature set includes 3 main features: Server Stabilization, Dead Server Cleanup and State API. These three features are introduced in Vault 1.7.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";

const autopilot = new vault.RaftAutopilot("autopilot", {
    cleanupDeadServers: true,
    deadServerLastContactThreshold: "24h0m0s",
    lastContactThreshold: "10s",
    maxTrailingLogs: 1000,
    minQuorum: 3,
    serverStabilizationTime: "10s",
});
Copy
import pulumi
import pulumi_vault as vault

autopilot = vault.RaftAutopilot("autopilot",
    cleanup_dead_servers=True,
    dead_server_last_contact_threshold="24h0m0s",
    last_contact_threshold="10s",
    max_trailing_logs=1000,
    min_quorum=3,
    server_stabilization_time="10s")
Copy
package main

import (
	"github.com/pulumi/pulumi-vault/sdk/v6/go/vault"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vault.NewRaftAutopilot(ctx, "autopilot", &vault.RaftAutopilotArgs{
			CleanupDeadServers:             pulumi.Bool(true),
			DeadServerLastContactThreshold: pulumi.String("24h0m0s"),
			LastContactThreshold:           pulumi.String("10s"),
			MaxTrailingLogs:                pulumi.Int(1000),
			MinQuorum:                      pulumi.Int(3),
			ServerStabilizationTime:        pulumi.String("10s"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;

return await Deployment.RunAsync(() => 
{
    var autopilot = new Vault.RaftAutopilot("autopilot", new()
    {
        CleanupDeadServers = true,
        DeadServerLastContactThreshold = "24h0m0s",
        LastContactThreshold = "10s",
        MaxTrailingLogs = 1000,
        MinQuorum = 3,
        ServerStabilizationTime = "10s",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.RaftAutopilot;
import com.pulumi.vault.RaftAutopilotArgs;
import java.util.List;
import java.util.ArrayList;
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 autopilot = new RaftAutopilot("autopilot", RaftAutopilotArgs.builder()
            .cleanupDeadServers(true)
            .deadServerLastContactThreshold("24h0m0s")
            .lastContactThreshold("10s")
            .maxTrailingLogs(1000)
            .minQuorum(3)
            .serverStabilizationTime("10s")
            .build());

    }
}
Copy
resources:
  autopilot:
    type: vault:RaftAutopilot
    properties:
      cleanupDeadServers: true
      deadServerLastContactThreshold: 24h0m0s
      lastContactThreshold: 10s
      maxTrailingLogs: 1000
      minQuorum: 3
      serverStabilizationTime: 10s
Copy

Create RaftAutopilot Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new RaftAutopilot(name: string, args?: RaftAutopilotArgs, opts?: CustomResourceOptions);
@overload
def RaftAutopilot(resource_name: str,
                  args: Optional[RaftAutopilotArgs] = None,
                  opts: Optional[ResourceOptions] = None)

@overload
def RaftAutopilot(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  cleanup_dead_servers: Optional[bool] = None,
                  dead_server_last_contact_threshold: Optional[str] = None,
                  disable_upgrade_migration: Optional[bool] = None,
                  last_contact_threshold: Optional[str] = None,
                  max_trailing_logs: Optional[int] = None,
                  min_quorum: Optional[int] = None,
                  namespace: Optional[str] = None,
                  server_stabilization_time: Optional[str] = None)
func NewRaftAutopilot(ctx *Context, name string, args *RaftAutopilotArgs, opts ...ResourceOption) (*RaftAutopilot, error)
public RaftAutopilot(string name, RaftAutopilotArgs? args = null, CustomResourceOptions? opts = null)
public RaftAutopilot(String name, RaftAutopilotArgs args)
public RaftAutopilot(String name, RaftAutopilotArgs args, CustomResourceOptions options)
type: vault:RaftAutopilot
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args RaftAutopilotArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args RaftAutopilotArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args RaftAutopilotArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args RaftAutopilotArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. RaftAutopilotArgs
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 raftAutopilotResource = new Vault.RaftAutopilot("raftAutopilotResource", new()
{
    CleanupDeadServers = false,
    DeadServerLastContactThreshold = "string",
    DisableUpgradeMigration = false,
    LastContactThreshold = "string",
    MaxTrailingLogs = 0,
    MinQuorum = 0,
    Namespace = "string",
    ServerStabilizationTime = "string",
});
Copy
example, err := vault.NewRaftAutopilot(ctx, "raftAutopilotResource", &vault.RaftAutopilotArgs{
	CleanupDeadServers:             pulumi.Bool(false),
	DeadServerLastContactThreshold: pulumi.String("string"),
	DisableUpgradeMigration:        pulumi.Bool(false),
	LastContactThreshold:           pulumi.String("string"),
	MaxTrailingLogs:                pulumi.Int(0),
	MinQuorum:                      pulumi.Int(0),
	Namespace:                      pulumi.String("string"),
	ServerStabilizationTime:        pulumi.String("string"),
})
Copy
var raftAutopilotResource = new RaftAutopilot("raftAutopilotResource", RaftAutopilotArgs.builder()
    .cleanupDeadServers(false)
    .deadServerLastContactThreshold("string")
    .disableUpgradeMigration(false)
    .lastContactThreshold("string")
    .maxTrailingLogs(0)
    .minQuorum(0)
    .namespace("string")
    .serverStabilizationTime("string")
    .build());
Copy
raft_autopilot_resource = vault.RaftAutopilot("raftAutopilotResource",
    cleanup_dead_servers=False,
    dead_server_last_contact_threshold="string",
    disable_upgrade_migration=False,
    last_contact_threshold="string",
    max_trailing_logs=0,
    min_quorum=0,
    namespace="string",
    server_stabilization_time="string")
Copy
const raftAutopilotResource = new vault.RaftAutopilot("raftAutopilotResource", {
    cleanupDeadServers: false,
    deadServerLastContactThreshold: "string",
    disableUpgradeMigration: false,
    lastContactThreshold: "string",
    maxTrailingLogs: 0,
    minQuorum: 0,
    namespace: "string",
    serverStabilizationTime: "string",
});
Copy
type: vault:RaftAutopilot
properties:
    cleanupDeadServers: false
    deadServerLastContactThreshold: string
    disableUpgradeMigration: false
    lastContactThreshold: string
    maxTrailingLogs: 0
    minQuorum: 0
    namespace: string
    serverStabilizationTime: string
Copy

RaftAutopilot 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 RaftAutopilot resource accepts the following input properties:

CleanupDeadServers bool
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
DeadServerLastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
DisableUpgradeMigration bool
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
LastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered unhealthy.
MaxTrailingLogs int
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
MinQuorum int
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
Namespace Changes to this property will trigger replacement. string
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
ServerStabilizationTime string
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
CleanupDeadServers bool
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
DeadServerLastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
DisableUpgradeMigration bool
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
LastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered unhealthy.
MaxTrailingLogs int
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
MinQuorum int
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
Namespace Changes to this property will trigger replacement. string
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
ServerStabilizationTime string
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
cleanupDeadServers Boolean
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
deadServerLastContactThreshold String
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
disableUpgradeMigration Boolean
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
lastContactThreshold String
Limit the amount of time a server can go without leader contact before being considered unhealthy.
maxTrailingLogs Integer
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
minQuorum Integer
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
namespace Changes to this property will trigger replacement. String
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
serverStabilizationTime String
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
cleanupDeadServers boolean
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
deadServerLastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
disableUpgradeMigration boolean
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
lastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered unhealthy.
maxTrailingLogs number
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
minQuorum number
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
namespace Changes to this property will trigger replacement. string
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
serverStabilizationTime string
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
cleanup_dead_servers bool
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
dead_server_last_contact_threshold str
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
disable_upgrade_migration bool
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
last_contact_threshold str
Limit the amount of time a server can go without leader contact before being considered unhealthy.
max_trailing_logs int
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
min_quorum int
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
namespace Changes to this property will trigger replacement. str
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
server_stabilization_time str
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
cleanupDeadServers Boolean
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
deadServerLastContactThreshold String
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
disableUpgradeMigration Boolean
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
lastContactThreshold String
Limit the amount of time a server can go without leader contact before being considered unhealthy.
maxTrailingLogs Number
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
minQuorum Number
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
namespace Changes to this property will trigger replacement. String
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
serverStabilizationTime String
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.

Outputs

All input properties are implicitly available as output properties. Additionally, the RaftAutopilot 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 str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Look up Existing RaftAutopilot Resource

Get an existing RaftAutopilot 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?: RaftAutopilotState, opts?: CustomResourceOptions): RaftAutopilot
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        cleanup_dead_servers: Optional[bool] = None,
        dead_server_last_contact_threshold: Optional[str] = None,
        disable_upgrade_migration: Optional[bool] = None,
        last_contact_threshold: Optional[str] = None,
        max_trailing_logs: Optional[int] = None,
        min_quorum: Optional[int] = None,
        namespace: Optional[str] = None,
        server_stabilization_time: Optional[str] = None) -> RaftAutopilot
func GetRaftAutopilot(ctx *Context, name string, id IDInput, state *RaftAutopilotState, opts ...ResourceOption) (*RaftAutopilot, error)
public static RaftAutopilot Get(string name, Input<string> id, RaftAutopilotState? state, CustomResourceOptions? opts = null)
public static RaftAutopilot get(String name, Output<String> id, RaftAutopilotState state, CustomResourceOptions options)
resources:  _:    type: vault:RaftAutopilot    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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.
The following state arguments are supported:
CleanupDeadServers bool
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
DeadServerLastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
DisableUpgradeMigration bool
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
LastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered unhealthy.
MaxTrailingLogs int
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
MinQuorum int
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
Namespace Changes to this property will trigger replacement. string
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
ServerStabilizationTime string
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
CleanupDeadServers bool
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
DeadServerLastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
DisableUpgradeMigration bool
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
LastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered unhealthy.
MaxTrailingLogs int
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
MinQuorum int
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
Namespace Changes to this property will trigger replacement. string
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
ServerStabilizationTime string
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
cleanupDeadServers Boolean
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
deadServerLastContactThreshold String
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
disableUpgradeMigration Boolean
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
lastContactThreshold String
Limit the amount of time a server can go without leader contact before being considered unhealthy.
maxTrailingLogs Integer
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
minQuorum Integer
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
namespace Changes to this property will trigger replacement. String
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
serverStabilizationTime String
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
cleanupDeadServers boolean
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
deadServerLastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
disableUpgradeMigration boolean
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
lastContactThreshold string
Limit the amount of time a server can go without leader contact before being considered unhealthy.
maxTrailingLogs number
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
minQuorum number
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
namespace Changes to this property will trigger replacement. string
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
serverStabilizationTime string
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
cleanup_dead_servers bool
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
dead_server_last_contact_threshold str
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
disable_upgrade_migration bool
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
last_contact_threshold str
Limit the amount of time a server can go without leader contact before being considered unhealthy.
max_trailing_logs int
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
min_quorum int
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
namespace Changes to this property will trigger replacement. str
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
server_stabilization_time str
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.
cleanupDeadServers Boolean
Specifies whether to remove dead server nodes periodically or when a new server joins. This requires that min-quorum is also set.
deadServerLastContactThreshold String
Limit the amount of time a server can go without leader contact before being considered failed. This only takes effect when cleanup_dead_servers is set.
disableUpgradeMigration Boolean
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
lastContactThreshold String
Limit the amount of time a server can go without leader contact before being considered unhealthy.
maxTrailingLogs Number
Maximum number of log entries in the Raft log that a server can be behind its leader before being considered unhealthy.
minQuorum Number
Minimum number of servers allowed in a cluster before autopilot can prune dead servers. This should at least be 3. Applicable only for voting nodes.
namespace Changes to this property will trigger replacement. String
The namespace to provision the resource in. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.
serverStabilizationTime String
Minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster.

Import

Raft Autopilot config can be imported using the ID, e.g.

$ pulumi import vault:index/raftAutopilot:RaftAutopilot autopilot sys/storage/raft/autopilot/configuration
Copy

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 vault Terraform Provider.