1. Packages
  2. HashiCorp Vault
  3. API Docs
  4. RaftAutopilot
HashiCorp Vault v5.17.0 published on Thursday, Nov 9, 2023 by Pulumi

vault.RaftAutopilot

Explore with Pulumi AI

vault logo
HashiCorp Vault v5.17.0 published on Thursday, Nov 9, 2023 by Pulumi

    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

    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",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vault/sdk/v5/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
    	})
    }
    
    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());
    
        }
    }
    
    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")
    
    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",
    });
    
    resources:
      autopilot:
        type: vault:RaftAutopilot
        properties:
          cleanupDeadServers: true
          deadServerLastContactThreshold: 24h0m0s
          lastContactThreshold: 10s
          maxTrailingLogs: 1000
          minQuorum: 3
          serverStabilizationTime: 10s
    

    Create RaftAutopilot Resource

    new RaftAutopilot(name: string, args?: RaftAutopilotArgs, opts?: CustomResourceOptions);
    @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)
    @overload
    def RaftAutopilot(resource_name: str,
                      args: Optional[RaftAutopilotArgs] = None,
                      opts: Optional[ResourceOptions] = 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.
    
    
    name 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 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 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 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 String
    The unique name of the resource.
    args RaftAutopilotArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    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

    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 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 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 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 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 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 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)
    Resource lookup is not supported in YAML
    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.
    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 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 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 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 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 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 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
    

    Package Details

    Repository
    Vault pulumi/pulumi-vault
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the vault Terraform Provider.

    vault logo
    HashiCorp Vault v5.17.0 published on Thursday, Nov 9, 2023 by Pulumi