1. Packages
  2. Packages
  3. HashiCorp Vault Provider
  4. API Docs
  5. RaftSnapshotAgentConfig
Viewing docs for HashiCorp Vault v7.8.0
published on Tuesday, Mar 31, 2026 by Pulumi
vault logo
Viewing docs for HashiCorp Vault v7.8.0
published on Tuesday, Mar 31, 2026 by Pulumi

    Creates a Raft Snapshot Agent Configuration for Vault. This configures Vault to take regular snapshots of its Raft storage backend and store them in a configurable location.

    Note this feature is available only with Vault Enterprise.

    Important All data provided in the resource configuration will be written in cleartext to state and plan files generated by Terraform, and will appear in the console output when Terraform runs. Protect these artifacts accordingly. See the main provider documentation for more details.

    Example Usage

    Local Storage

    import * as pulumi from "@pulumi/pulumi";
    import * as vault from "@pulumi/vault";
    
    const localBackups = new vault.RaftSnapshotAgentConfig("local_backups", {
        name: "local",
        intervalSeconds: 86400,
        retain: 7,
        pathPrefix: "/opt/vault/snapshots/",
        storageType: "local",
        localMaxSpace: 10000000,
    });
    
    import pulumi
    import pulumi_vault as vault
    
    local_backups = vault.RaftSnapshotAgentConfig("local_backups",
        name="local",
        interval_seconds=86400,
        retain=7,
        path_prefix="/opt/vault/snapshots/",
        storage_type="local",
        local_max_space=10000000)
    
    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.NewRaftSnapshotAgentConfig(ctx, "local_backups", &vault.RaftSnapshotAgentConfigArgs{
    			Name:            pulumi.String("local"),
    			IntervalSeconds: pulumi.Int(86400),
    			Retain:          pulumi.Int(7),
    			PathPrefix:      pulumi.String("/opt/vault/snapshots/"),
    			StorageType:     pulumi.String("local"),
    			LocalMaxSpace:   pulumi.Int(10000000),
    		})
    		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 localBackups = new Vault.RaftSnapshotAgentConfig("local_backups", new()
        {
            Name = "local",
            IntervalSeconds = 86400,
            Retain = 7,
            PathPrefix = "/opt/vault/snapshots/",
            StorageType = "local",
            LocalMaxSpace = 10000000,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vault.RaftSnapshotAgentConfig;
    import com.pulumi.vault.RaftSnapshotAgentConfigArgs;
    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 localBackups = new RaftSnapshotAgentConfig("localBackups", RaftSnapshotAgentConfigArgs.builder()
                .name("local")
                .intervalSeconds(86400)
                .retain(7)
                .pathPrefix("/opt/vault/snapshots/")
                .storageType("local")
                .localMaxSpace(10000000)
                .build());
    
        }
    }
    
    resources:
      localBackups:
        type: vault:RaftSnapshotAgentConfig
        name: local_backups
        properties:
          name: local
          intervalSeconds: 86400 # 24h
          retain: 7
          pathPrefix: /opt/vault/snapshots/
          storageType: local
          localMaxSpace: 1e+07
    

    Azure BLOB (Shared Key Authentication)

    import * as pulumi from "@pulumi/pulumi";
    import * as vault from "@pulumi/vault";
    
    const config = new pulumi.Config();
    const azureAccountName = config.requireObject<any>("azureAccountName");
    const azureAccountKey = config.requireObject<any>("azureAccountKey");
    const azureBackups = new vault.RaftSnapshotAgentConfig("azure_backups", {
        name: "azure_backup",
        intervalSeconds: 86400,
        retain: 7,
        pathPrefix: "/",
        storageType: "azure-blob",
        autoloadEnabled: true,
        azureContainerName: "vault-blob",
        azureAccountName: azureAccountName,
        azureAccountKey: azureAccountKey,
        azureAuthMode: "shared",
    });
    
    import pulumi
    import pulumi_vault as vault
    
    config = pulumi.Config()
    azure_account_name = config.require_object("azureAccountName")
    azure_account_key = config.require_object("azureAccountKey")
    azure_backups = vault.RaftSnapshotAgentConfig("azure_backups",
        name="azure_backup",
        interval_seconds=86400,
        retain=7,
        path_prefix="/",
        storage_type="azure-blob",
        autoload_enabled=True,
        azure_container_name="vault-blob",
        azure_account_name=azure_account_name,
        azure_account_key=azure_account_key,
        azure_auth_mode="shared")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vault/sdk/v7/go/vault"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		azureAccountName := cfg.RequireObject("azureAccountName")
    		azureAccountKey := cfg.RequireObject("azureAccountKey")
    		_, err := vault.NewRaftSnapshotAgentConfig(ctx, "azure_backups", &vault.RaftSnapshotAgentConfigArgs{
    			Name:               pulumi.String("azure_backup"),
    			IntervalSeconds:    pulumi.Int(86400),
    			Retain:             pulumi.Int(7),
    			PathPrefix:         pulumi.String("/"),
    			StorageType:        pulumi.String("azure-blob"),
    			AutoloadEnabled:    pulumi.Bool(true),
    			AzureContainerName: pulumi.String("vault-blob"),
    			AzureAccountName:   pulumi.Any(azureAccountName),
    			AzureAccountKey:    pulumi.Any(azureAccountKey),
    			AzureAuthMode:      pulumi.String("shared"),
    		})
    		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 config = new Config();
        var azureAccountName = config.RequireObject<dynamic>("azureAccountName");
        var azureAccountKey = config.RequireObject<dynamic>("azureAccountKey");
        var azureBackups = new Vault.RaftSnapshotAgentConfig("azure_backups", new()
        {
            Name = "azure_backup",
            IntervalSeconds = 86400,
            Retain = 7,
            PathPrefix = "/",
            StorageType = "azure-blob",
            AutoloadEnabled = true,
            AzureContainerName = "vault-blob",
            AzureAccountName = azureAccountName,
            AzureAccountKey = azureAccountKey,
            AzureAuthMode = "shared",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vault.RaftSnapshotAgentConfig;
    import com.pulumi.vault.RaftSnapshotAgentConfigArgs;
    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) {
            final var config = ctx.config();
            final var azureAccountName = config.require("azureAccountName");
            final var azureAccountKey = config.require("azureAccountKey");
            var azureBackups = new RaftSnapshotAgentConfig("azureBackups", RaftSnapshotAgentConfigArgs.builder()
                .name("azure_backup")
                .intervalSeconds(86400)
                .retain(7)
                .pathPrefix("/")
                .storageType("azure-blob")
                .autoloadEnabled(true)
                .azureContainerName("vault-blob")
                .azureAccountName(azureAccountName)
                .azureAccountKey(azureAccountKey)
                .azureAuthMode("shared")
                .build());
    
        }
    }
    
    configuration:
      azureAccountName:
        type: dynamic
      azureAccountKey:
        type: dynamic
    resources:
      azureBackups:
        type: vault:RaftSnapshotAgentConfig
        name: azure_backups
        properties:
          name: azure_backup
          intervalSeconds: 86400 # 24h
          retain: 7
          pathPrefix: /
          storageType: azure-blob
          autoloadEnabled: true # Storage Type Configuration
          azureContainerName: vault-blob
          azureAccountName: ${azureAccountName}
          azureAccountKey: ${azureAccountKey}
          azureAuthMode: shared
    

    Azure BLOB (Managed Identity Authentication)

    import * as pulumi from "@pulumi/pulumi";
    import * as vault from "@pulumi/vault";
    
    const config = new pulumi.Config();
    const azureAccountName = config.requireObject<any>("azureAccountName");
    const azureClientId = config.requireObject<any>("azureClientId");
    const azureManagedIdentity = new vault.RaftSnapshotAgentConfig("azure_managed_identity", {
        name: "azure_managed",
        intervalSeconds: 86400,
        retain: 7,
        pathPrefix: "/",
        storageType: "azure-blob",
        autoloadEnabled: true,
        azureContainerName: "vault-blob",
        azureAccountName: azureAccountName,
        azureAuthMode: "managed",
        azureClientId: azureClientId,
    });
    
    import pulumi
    import pulumi_vault as vault
    
    config = pulumi.Config()
    azure_account_name = config.require_object("azureAccountName")
    azure_client_id = config.require_object("azureClientId")
    azure_managed_identity = vault.RaftSnapshotAgentConfig("azure_managed_identity",
        name="azure_managed",
        interval_seconds=86400,
        retain=7,
        path_prefix="/",
        storage_type="azure-blob",
        autoload_enabled=True,
        azure_container_name="vault-blob",
        azure_account_name=azure_account_name,
        azure_auth_mode="managed",
        azure_client_id=azure_client_id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vault/sdk/v7/go/vault"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		azureAccountName := cfg.RequireObject("azureAccountName")
    		azureClientId := cfg.RequireObject("azureClientId")
    		_, err := vault.NewRaftSnapshotAgentConfig(ctx, "azure_managed_identity", &vault.RaftSnapshotAgentConfigArgs{
    			Name:               pulumi.String("azure_managed"),
    			IntervalSeconds:    pulumi.Int(86400),
    			Retain:             pulumi.Int(7),
    			PathPrefix:         pulumi.String("/"),
    			StorageType:        pulumi.String("azure-blob"),
    			AutoloadEnabled:    pulumi.Bool(true),
    			AzureContainerName: pulumi.String("vault-blob"),
    			AzureAccountName:   pulumi.Any(azureAccountName),
    			AzureAuthMode:      pulumi.String("managed"),
    			AzureClientId:      pulumi.Any(azureClientId),
    		})
    		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 config = new Config();
        var azureAccountName = config.RequireObject<dynamic>("azureAccountName");
        var azureClientId = config.RequireObject<dynamic>("azureClientId");
        var azureManagedIdentity = new Vault.RaftSnapshotAgentConfig("azure_managed_identity", new()
        {
            Name = "azure_managed",
            IntervalSeconds = 86400,
            Retain = 7,
            PathPrefix = "/",
            StorageType = "azure-blob",
            AutoloadEnabled = true,
            AzureContainerName = "vault-blob",
            AzureAccountName = azureAccountName,
            AzureAuthMode = "managed",
            AzureClientId = azureClientId,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vault.RaftSnapshotAgentConfig;
    import com.pulumi.vault.RaftSnapshotAgentConfigArgs;
    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) {
            final var config = ctx.config();
            final var azureAccountName = config.require("azureAccountName");
            final var azureClientId = config.require("azureClientId");
            var azureManagedIdentity = new RaftSnapshotAgentConfig("azureManagedIdentity", RaftSnapshotAgentConfigArgs.builder()
                .name("azure_managed")
                .intervalSeconds(86400)
                .retain(7)
                .pathPrefix("/")
                .storageType("azure-blob")
                .autoloadEnabled(true)
                .azureContainerName("vault-blob")
                .azureAccountName(azureAccountName)
                .azureAuthMode("managed")
                .azureClientId(azureClientId)
                .build());
    
        }
    }
    
    configuration:
      azureAccountName:
        type: dynamic
      azureClientId:
        type: dynamic
    resources:
      azureManagedIdentity:
        type: vault:RaftSnapshotAgentConfig
        name: azure_managed_identity
        properties:
          name: azure_managed
          intervalSeconds: 86400 # 24h
          retain: 7
          pathPrefix: /
          storageType: azure-blob
          autoloadEnabled: true # Storage Type Configuration
          azureContainerName: vault-blob
          azureAccountName: ${azureAccountName}
          azureAuthMode: managed
          azureClientId: ${azureClientId}
    

    Create RaftSnapshotAgentConfig Resource

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

    Constructor syntax

    new RaftSnapshotAgentConfig(name: string, args: RaftSnapshotAgentConfigArgs, opts?: CustomResourceOptions);
    @overload
    def RaftSnapshotAgentConfig(resource_name: str,
                                args: RaftSnapshotAgentConfigArgs,
                                opts: Optional[ResourceOptions] = None)
    
    @overload
    def RaftSnapshotAgentConfig(resource_name: str,
                                opts: Optional[ResourceOptions] = None,
                                interval_seconds: Optional[int] = None,
                                storage_type: Optional[str] = None,
                                path_prefix: Optional[str] = None,
                                azure_auth_mode: Optional[str] = None,
                                azure_client_id: Optional[str] = None,
                                aws_s3_endpoint: Optional[str] = None,
                                aws_s3_force_path_style: Optional[bool] = None,
                                aws_s3_kms_key: Optional[str] = None,
                                aws_s3_region: Optional[str] = None,
                                aws_s3_server_side_encryption: Optional[bool] = None,
                                aws_secret_access_key: Optional[str] = None,
                                aws_session_token: Optional[str] = None,
                                azure_account_key: Optional[str] = None,
                                azure_account_name: Optional[str] = None,
                                autoload_enabled: Optional[bool] = None,
                                azure_blob_environment: Optional[str] = None,
                                aws_s3_enable_kms: Optional[bool] = None,
                                azure_container_name: Optional[str] = None,
                                azure_endpoint: Optional[str] = None,
                                file_prefix: Optional[str] = None,
                                google_disable_tls: Optional[bool] = None,
                                google_endpoint: Optional[str] = None,
                                google_gcs_bucket: Optional[str] = None,
                                google_service_account_key: Optional[str] = None,
                                aws_s3_disable_tls: Optional[bool] = None,
                                local_max_space: Optional[int] = None,
                                name: Optional[str] = None,
                                namespace: Optional[str] = None,
                                aws_s3_bucket: Optional[str] = None,
                                retain: Optional[int] = None,
                                aws_access_key_id: Optional[str] = None)
    func NewRaftSnapshotAgentConfig(ctx *Context, name string, args RaftSnapshotAgentConfigArgs, opts ...ResourceOption) (*RaftSnapshotAgentConfig, error)
    public RaftSnapshotAgentConfig(string name, RaftSnapshotAgentConfigArgs args, CustomResourceOptions? opts = null)
    public RaftSnapshotAgentConfig(String name, RaftSnapshotAgentConfigArgs args)
    public RaftSnapshotAgentConfig(String name, RaftSnapshotAgentConfigArgs args, CustomResourceOptions options)
    
    type: vault:RaftSnapshotAgentConfig
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args RaftSnapshotAgentConfigArgs
    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 RaftSnapshotAgentConfigArgs
    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 RaftSnapshotAgentConfigArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RaftSnapshotAgentConfigArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RaftSnapshotAgentConfigArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

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

    IntervalSeconds int
    <required> - Time (in seconds) between snapshots.
    PathPrefix string
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    StorageType string
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    AutoloadEnabled bool

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    AwsAccessKeyId string
    AWS access key ID.
    AwsS3Bucket string
    S3 bucket to write snapshots to.
    AwsS3DisableTls bool
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    AwsS3EnableKms bool
    Use KMS to encrypt bucket contents.
    AwsS3Endpoint string
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    AwsS3ForcePathStyle bool
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    AwsS3KmsKey string
    Use named KMS key, when aws_s3_enable_kms=true
    AwsS3Region string
    AWS region bucket is in.
    AwsS3ServerSideEncryption bool
    Use AES256 to encrypt bucket contents.
    AwsSecretAccessKey string
    AWS secret access key.
    AwsSessionToken string
    AWS session token.
    AzureAccountKey string
    Azure account key. Required when azureAuthMode is 'shared'.
    AzureAccountName string
    Azure account name.
    AzureAuthMode string
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    AzureBlobEnvironment string
    Azure blob environment.
    AzureClientId string
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    AzureContainerName string
    Azure container name to write snapshots to.
    AzureEndpoint string
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    FilePrefix string
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    GoogleDisableTls bool
    Disable TLS for the GCS endpoint.
    GoogleEndpoint string
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    GoogleGcsBucket string
    GCS bucket to write snapshots to.
    GoogleServiceAccountKey string
    Google service account key in JSON format.
    LocalMaxSpace int
    The maximum space, in bytes, to use for snapshots.
    Name string
    <required> – Name of the configuration to modify.
    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.
    Retain int
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    IntervalSeconds int
    <required> - Time (in seconds) between snapshots.
    PathPrefix string
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    StorageType string
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    AutoloadEnabled bool

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    AwsAccessKeyId string
    AWS access key ID.
    AwsS3Bucket string
    S3 bucket to write snapshots to.
    AwsS3DisableTls bool
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    AwsS3EnableKms bool
    Use KMS to encrypt bucket contents.
    AwsS3Endpoint string
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    AwsS3ForcePathStyle bool
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    AwsS3KmsKey string
    Use named KMS key, when aws_s3_enable_kms=true
    AwsS3Region string
    AWS region bucket is in.
    AwsS3ServerSideEncryption bool
    Use AES256 to encrypt bucket contents.
    AwsSecretAccessKey string
    AWS secret access key.
    AwsSessionToken string
    AWS session token.
    AzureAccountKey string
    Azure account key. Required when azureAuthMode is 'shared'.
    AzureAccountName string
    Azure account name.
    AzureAuthMode string
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    AzureBlobEnvironment string
    Azure blob environment.
    AzureClientId string
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    AzureContainerName string
    Azure container name to write snapshots to.
    AzureEndpoint string
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    FilePrefix string
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    GoogleDisableTls bool
    Disable TLS for the GCS endpoint.
    GoogleEndpoint string
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    GoogleGcsBucket string
    GCS bucket to write snapshots to.
    GoogleServiceAccountKey string
    Google service account key in JSON format.
    LocalMaxSpace int
    The maximum space, in bytes, to use for snapshots.
    Name string
    <required> – Name of the configuration to modify.
    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.
    Retain int
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    intervalSeconds Integer
    <required> - Time (in seconds) between snapshots.
    pathPrefix String
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    storageType String
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    autoloadEnabled Boolean

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    awsAccessKeyId String
    AWS access key ID.
    awsS3Bucket String
    S3 bucket to write snapshots to.
    awsS3DisableTls Boolean
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    awsS3EnableKms Boolean
    Use KMS to encrypt bucket contents.
    awsS3Endpoint String
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    awsS3ForcePathStyle Boolean
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    awsS3KmsKey String
    Use named KMS key, when aws_s3_enable_kms=true
    awsS3Region String
    AWS region bucket is in.
    awsS3ServerSideEncryption Boolean
    Use AES256 to encrypt bucket contents.
    awsSecretAccessKey String
    AWS secret access key.
    awsSessionToken String
    AWS session token.
    azureAccountKey String
    Azure account key. Required when azureAuthMode is 'shared'.
    azureAccountName String
    Azure account name.
    azureAuthMode String
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    azureBlobEnvironment String
    Azure blob environment.
    azureClientId String
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    azureContainerName String
    Azure container name to write snapshots to.
    azureEndpoint String
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    filePrefix String
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    googleDisableTls Boolean
    Disable TLS for the GCS endpoint.
    googleEndpoint String
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    googleGcsBucket String
    GCS bucket to write snapshots to.
    googleServiceAccountKey String
    Google service account key in JSON format.
    localMaxSpace Integer
    The maximum space, in bytes, to use for snapshots.
    name String
    <required> – Name of the configuration to modify.
    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.
    retain Integer
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    intervalSeconds number
    <required> - Time (in seconds) between snapshots.
    pathPrefix string
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    storageType string
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    autoloadEnabled boolean

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    awsAccessKeyId string
    AWS access key ID.
    awsS3Bucket string
    S3 bucket to write snapshots to.
    awsS3DisableTls boolean
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    awsS3EnableKms boolean
    Use KMS to encrypt bucket contents.
    awsS3Endpoint string
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    awsS3ForcePathStyle boolean
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    awsS3KmsKey string
    Use named KMS key, when aws_s3_enable_kms=true
    awsS3Region string
    AWS region bucket is in.
    awsS3ServerSideEncryption boolean
    Use AES256 to encrypt bucket contents.
    awsSecretAccessKey string
    AWS secret access key.
    awsSessionToken string
    AWS session token.
    azureAccountKey string
    Azure account key. Required when azureAuthMode is 'shared'.
    azureAccountName string
    Azure account name.
    azureAuthMode string
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    azureBlobEnvironment string
    Azure blob environment.
    azureClientId string
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    azureContainerName string
    Azure container name to write snapshots to.
    azureEndpoint string
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    filePrefix string
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    googleDisableTls boolean
    Disable TLS for the GCS endpoint.
    googleEndpoint string
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    googleGcsBucket string
    GCS bucket to write snapshots to.
    googleServiceAccountKey string
    Google service account key in JSON format.
    localMaxSpace number
    The maximum space, in bytes, to use for snapshots.
    name string
    <required> – Name of the configuration to modify.
    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.
    retain number
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    interval_seconds int
    <required> - Time (in seconds) between snapshots.
    path_prefix str
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    storage_type str
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    autoload_enabled bool

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    aws_access_key_id str
    AWS access key ID.
    aws_s3_bucket str
    S3 bucket to write snapshots to.
    aws_s3_disable_tls bool
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    aws_s3_enable_kms bool
    Use KMS to encrypt bucket contents.
    aws_s3_endpoint str
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    aws_s3_force_path_style bool
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    aws_s3_kms_key str
    Use named KMS key, when aws_s3_enable_kms=true
    aws_s3_region str
    AWS region bucket is in.
    aws_s3_server_side_encryption bool
    Use AES256 to encrypt bucket contents.
    aws_secret_access_key str
    AWS secret access key.
    aws_session_token str
    AWS session token.
    azure_account_key str
    Azure account key. Required when azureAuthMode is 'shared'.
    azure_account_name str
    Azure account name.
    azure_auth_mode str
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    azure_blob_environment str
    Azure blob environment.
    azure_client_id str
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    azure_container_name str
    Azure container name to write snapshots to.
    azure_endpoint str
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    file_prefix str
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    google_disable_tls bool
    Disable TLS for the GCS endpoint.
    google_endpoint str
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    google_gcs_bucket str
    GCS bucket to write snapshots to.
    google_service_account_key str
    Google service account key in JSON format.
    local_max_space int
    The maximum space, in bytes, to use for snapshots.
    name str
    <required> – Name of the configuration to modify.
    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.
    retain int
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    intervalSeconds Number
    <required> - Time (in seconds) between snapshots.
    pathPrefix String
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    storageType String
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    autoloadEnabled Boolean

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    awsAccessKeyId String
    AWS access key ID.
    awsS3Bucket String
    S3 bucket to write snapshots to.
    awsS3DisableTls Boolean
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    awsS3EnableKms Boolean
    Use KMS to encrypt bucket contents.
    awsS3Endpoint String
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    awsS3ForcePathStyle Boolean
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    awsS3KmsKey String
    Use named KMS key, when aws_s3_enable_kms=true
    awsS3Region String
    AWS region bucket is in.
    awsS3ServerSideEncryption Boolean
    Use AES256 to encrypt bucket contents.
    awsSecretAccessKey String
    AWS secret access key.
    awsSessionToken String
    AWS session token.
    azureAccountKey String
    Azure account key. Required when azureAuthMode is 'shared'.
    azureAccountName String
    Azure account name.
    azureAuthMode String
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    azureBlobEnvironment String
    Azure blob environment.
    azureClientId String
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    azureContainerName String
    Azure container name to write snapshots to.
    azureEndpoint String
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    filePrefix String
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    googleDisableTls Boolean
    Disable TLS for the GCS endpoint.
    googleEndpoint String
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    googleGcsBucket String
    GCS bucket to write snapshots to.
    googleServiceAccountKey String
    Google service account key in JSON format.
    localMaxSpace Number
    The maximum space, in bytes, to use for snapshots.
    name String
    <required> – Name of the configuration to modify.
    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.
    retain Number
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the RaftSnapshotAgentConfig 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 RaftSnapshotAgentConfig Resource

    Get an existing RaftSnapshotAgentConfig 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?: RaftSnapshotAgentConfigState, opts?: CustomResourceOptions): RaftSnapshotAgentConfig
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            autoload_enabled: Optional[bool] = None,
            aws_access_key_id: Optional[str] = None,
            aws_s3_bucket: Optional[str] = None,
            aws_s3_disable_tls: Optional[bool] = None,
            aws_s3_enable_kms: Optional[bool] = None,
            aws_s3_endpoint: Optional[str] = None,
            aws_s3_force_path_style: Optional[bool] = None,
            aws_s3_kms_key: Optional[str] = None,
            aws_s3_region: Optional[str] = None,
            aws_s3_server_side_encryption: Optional[bool] = None,
            aws_secret_access_key: Optional[str] = None,
            aws_session_token: Optional[str] = None,
            azure_account_key: Optional[str] = None,
            azure_account_name: Optional[str] = None,
            azure_auth_mode: Optional[str] = None,
            azure_blob_environment: Optional[str] = None,
            azure_client_id: Optional[str] = None,
            azure_container_name: Optional[str] = None,
            azure_endpoint: Optional[str] = None,
            file_prefix: Optional[str] = None,
            google_disable_tls: Optional[bool] = None,
            google_endpoint: Optional[str] = None,
            google_gcs_bucket: Optional[str] = None,
            google_service_account_key: Optional[str] = None,
            interval_seconds: Optional[int] = None,
            local_max_space: Optional[int] = None,
            name: Optional[str] = None,
            namespace: Optional[str] = None,
            path_prefix: Optional[str] = None,
            retain: Optional[int] = None,
            storage_type: Optional[str] = None) -> RaftSnapshotAgentConfig
    func GetRaftSnapshotAgentConfig(ctx *Context, name string, id IDInput, state *RaftSnapshotAgentConfigState, opts ...ResourceOption) (*RaftSnapshotAgentConfig, error)
    public static RaftSnapshotAgentConfig Get(string name, Input<string> id, RaftSnapshotAgentConfigState? state, CustomResourceOptions? opts = null)
    public static RaftSnapshotAgentConfig get(String name, Output<String> id, RaftSnapshotAgentConfigState state, CustomResourceOptions options)
    resources:  _:    type: vault:RaftSnapshotAgentConfig    get:      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.
    The following state arguments are supported:
    AutoloadEnabled bool

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    AwsAccessKeyId string
    AWS access key ID.
    AwsS3Bucket string
    S3 bucket to write snapshots to.
    AwsS3DisableTls bool
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    AwsS3EnableKms bool
    Use KMS to encrypt bucket contents.
    AwsS3Endpoint string
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    AwsS3ForcePathStyle bool
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    AwsS3KmsKey string
    Use named KMS key, when aws_s3_enable_kms=true
    AwsS3Region string
    AWS region bucket is in.
    AwsS3ServerSideEncryption bool
    Use AES256 to encrypt bucket contents.
    AwsSecretAccessKey string
    AWS secret access key.
    AwsSessionToken string
    AWS session token.
    AzureAccountKey string
    Azure account key. Required when azureAuthMode is 'shared'.
    AzureAccountName string
    Azure account name.
    AzureAuthMode string
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    AzureBlobEnvironment string
    Azure blob environment.
    AzureClientId string
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    AzureContainerName string
    Azure container name to write snapshots to.
    AzureEndpoint string
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    FilePrefix string
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    GoogleDisableTls bool
    Disable TLS for the GCS endpoint.
    GoogleEndpoint string
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    GoogleGcsBucket string
    GCS bucket to write snapshots to.
    GoogleServiceAccountKey string
    Google service account key in JSON format.
    IntervalSeconds int
    <required> - Time (in seconds) between snapshots.
    LocalMaxSpace int
    The maximum space, in bytes, to use for snapshots.
    Name string
    <required> – Name of the configuration to modify.
    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.
    PathPrefix string
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    Retain int
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    StorageType string
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    AutoloadEnabled bool

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    AwsAccessKeyId string
    AWS access key ID.
    AwsS3Bucket string
    S3 bucket to write snapshots to.
    AwsS3DisableTls bool
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    AwsS3EnableKms bool
    Use KMS to encrypt bucket contents.
    AwsS3Endpoint string
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    AwsS3ForcePathStyle bool
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    AwsS3KmsKey string
    Use named KMS key, when aws_s3_enable_kms=true
    AwsS3Region string
    AWS region bucket is in.
    AwsS3ServerSideEncryption bool
    Use AES256 to encrypt bucket contents.
    AwsSecretAccessKey string
    AWS secret access key.
    AwsSessionToken string
    AWS session token.
    AzureAccountKey string
    Azure account key. Required when azureAuthMode is 'shared'.
    AzureAccountName string
    Azure account name.
    AzureAuthMode string
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    AzureBlobEnvironment string
    Azure blob environment.
    AzureClientId string
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    AzureContainerName string
    Azure container name to write snapshots to.
    AzureEndpoint string
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    FilePrefix string
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    GoogleDisableTls bool
    Disable TLS for the GCS endpoint.
    GoogleEndpoint string
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    GoogleGcsBucket string
    GCS bucket to write snapshots to.
    GoogleServiceAccountKey string
    Google service account key in JSON format.
    IntervalSeconds int
    <required> - Time (in seconds) between snapshots.
    LocalMaxSpace int
    The maximum space, in bytes, to use for snapshots.
    Name string
    <required> – Name of the configuration to modify.
    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.
    PathPrefix string
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    Retain int
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    StorageType string
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    autoloadEnabled Boolean

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    awsAccessKeyId String
    AWS access key ID.
    awsS3Bucket String
    S3 bucket to write snapshots to.
    awsS3DisableTls Boolean
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    awsS3EnableKms Boolean
    Use KMS to encrypt bucket contents.
    awsS3Endpoint String
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    awsS3ForcePathStyle Boolean
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    awsS3KmsKey String
    Use named KMS key, when aws_s3_enable_kms=true
    awsS3Region String
    AWS region bucket is in.
    awsS3ServerSideEncryption Boolean
    Use AES256 to encrypt bucket contents.
    awsSecretAccessKey String
    AWS secret access key.
    awsSessionToken String
    AWS session token.
    azureAccountKey String
    Azure account key. Required when azureAuthMode is 'shared'.
    azureAccountName String
    Azure account name.
    azureAuthMode String
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    azureBlobEnvironment String
    Azure blob environment.
    azureClientId String
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    azureContainerName String
    Azure container name to write snapshots to.
    azureEndpoint String
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    filePrefix String
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    googleDisableTls Boolean
    Disable TLS for the GCS endpoint.
    googleEndpoint String
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    googleGcsBucket String
    GCS bucket to write snapshots to.
    googleServiceAccountKey String
    Google service account key in JSON format.
    intervalSeconds Integer
    <required> - Time (in seconds) between snapshots.
    localMaxSpace Integer
    The maximum space, in bytes, to use for snapshots.
    name String
    <required> – Name of the configuration to modify.
    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.
    pathPrefix String
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    retain Integer
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    storageType String
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    autoloadEnabled boolean

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    awsAccessKeyId string
    AWS access key ID.
    awsS3Bucket string
    S3 bucket to write snapshots to.
    awsS3DisableTls boolean
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    awsS3EnableKms boolean
    Use KMS to encrypt bucket contents.
    awsS3Endpoint string
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    awsS3ForcePathStyle boolean
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    awsS3KmsKey string
    Use named KMS key, when aws_s3_enable_kms=true
    awsS3Region string
    AWS region bucket is in.
    awsS3ServerSideEncryption boolean
    Use AES256 to encrypt bucket contents.
    awsSecretAccessKey string
    AWS secret access key.
    awsSessionToken string
    AWS session token.
    azureAccountKey string
    Azure account key. Required when azureAuthMode is 'shared'.
    azureAccountName string
    Azure account name.
    azureAuthMode string
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    azureBlobEnvironment string
    Azure blob environment.
    azureClientId string
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    azureContainerName string
    Azure container name to write snapshots to.
    azureEndpoint string
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    filePrefix string
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    googleDisableTls boolean
    Disable TLS for the GCS endpoint.
    googleEndpoint string
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    googleGcsBucket string
    GCS bucket to write snapshots to.
    googleServiceAccountKey string
    Google service account key in JSON format.
    intervalSeconds number
    <required> - Time (in seconds) between snapshots.
    localMaxSpace number
    The maximum space, in bytes, to use for snapshots.
    name string
    <required> – Name of the configuration to modify.
    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.
    pathPrefix string
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    retain number
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    storageType string
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    autoload_enabled bool

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    aws_access_key_id str
    AWS access key ID.
    aws_s3_bucket str
    S3 bucket to write snapshots to.
    aws_s3_disable_tls bool
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    aws_s3_enable_kms bool
    Use KMS to encrypt bucket contents.
    aws_s3_endpoint str
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    aws_s3_force_path_style bool
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    aws_s3_kms_key str
    Use named KMS key, when aws_s3_enable_kms=true
    aws_s3_region str
    AWS region bucket is in.
    aws_s3_server_side_encryption bool
    Use AES256 to encrypt bucket contents.
    aws_secret_access_key str
    AWS secret access key.
    aws_session_token str
    AWS session token.
    azure_account_key str
    Azure account key. Required when azureAuthMode is 'shared'.
    azure_account_name str
    Azure account name.
    azure_auth_mode str
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    azure_blob_environment str
    Azure blob environment.
    azure_client_id str
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    azure_container_name str
    Azure container name to write snapshots to.
    azure_endpoint str
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    file_prefix str
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    google_disable_tls bool
    Disable TLS for the GCS endpoint.
    google_endpoint str
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    google_gcs_bucket str
    GCS bucket to write snapshots to.
    google_service_account_key str
    Google service account key in JSON format.
    interval_seconds int
    <required> - Time (in seconds) between snapshots.
    local_max_space int
    The maximum space, in bytes, to use for snapshots.
    name str
    <required> – Name of the configuration to modify.
    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.
    path_prefix str
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    retain int
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    storage_type str
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.
    autoloadEnabled Boolean

    Have Vault automatically load the latest snapshot after it is written. This will replace the previously loaded snapshot. Note that this does not mean the snapshot is automatically applied to the cluster, it is just loaded and available for recovery operations. Note: Not supported with storageType = "local".

    Requires Vault Enterprise 1.21.0+.

    awsAccessKeyId String
    AWS access key ID.
    awsS3Bucket String
    S3 bucket to write snapshots to.
    awsS3DisableTls Boolean
    Disable TLS for the S3 endpoint. This should only be used for testing purposes.
    awsS3EnableKms Boolean
    Use KMS to encrypt bucket contents.
    awsS3Endpoint String
    AWS endpoint. This is typically only set when using a non-AWS S3 implementation like Minio.
    awsS3ForcePathStyle Boolean
    Use the endpoint/bucket URL style instead of bucket.endpoint.
    awsS3KmsKey String
    Use named KMS key, when aws_s3_enable_kms=true
    awsS3Region String
    AWS region bucket is in.
    awsS3ServerSideEncryption Boolean
    Use AES256 to encrypt bucket contents.
    awsSecretAccessKey String
    AWS secret access key.
    awsSessionToken String
    AWS session token.
    azureAccountKey String
    Azure account key. Required when azureAuthMode is 'shared'.
    azureAccountName String
    Azure account name.
    azureAuthMode String
    Azure authentication mode. Required for azure-blob storage. Possible values are 'shared', 'managed', or 'environment'. Requires Vault Enterprise 1.18.0+.
    azureBlobEnvironment String
    Azure blob environment.
    azureClientId String
    Azure client ID for authentication. Required when azureAuthMode is 'managed'. Requires Vault Enterprise 1.18.0+.
    azureContainerName String
    Azure container name to write snapshots to.
    azureEndpoint String
    Azure blob storage endpoint. This is typically only set when using a non-Azure implementation like Azurite.
    filePrefix String
    Within the directory or bucket prefix given by pathPrefix, the file or object name of snapshot files will start with this string.
    googleDisableTls Boolean
    Disable TLS for the GCS endpoint.
    googleEndpoint String
    GCS endpoint. This is typically only set when using a non-Google GCS implementation like fake-gcs-server.
    googleGcsBucket String
    GCS bucket to write snapshots to.
    googleServiceAccountKey String
    Google service account key in JSON format.
    intervalSeconds Number
    <required> - Time (in seconds) between snapshots.
    localMaxSpace Number
    The maximum space, in bytes, to use for snapshots.
    name String
    <required> – Name of the configuration to modify.
    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.
    pathPrefix String
    <required> - For storageType = "local", the directory to write the snapshots in. For cloud storage types, the bucket prefix to use. Types azure-s3 and google-gcs require a trailing / (slash). Types local and aws-s3 the trailing / is optional.
    retain Number
    How many snapshots are to be kept; when writing a snapshot, if there are more snapshots already stored than this number, the oldest ones will be deleted.
    storageType String
    <required> - One of "local", "azure-blob", "aws-s3", or "google-gcs". The remaining parameters described below are all specific to the selected storageType and prefixed accordingly.

    Import

    Raft Snapshot Agent Configurations can be imported using the name, e.g.

    $ pulumi import vault:index/raftSnapshotAgentConfig:RaftSnapshotAgentConfig local local
    

    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.
    vault logo
    Viewing docs for HashiCorp Vault v7.8.0
    published on Tuesday, Mar 31, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.