1. Packages
  2. Hcloud Provider
  3. API Docs
  4. StorageBox
Hetzner Cloud v1.29.0 published on Saturday, Nov 29, 2025 by Pulumi
hcloud logo
Hetzner Cloud v1.29.0 published on Saturday, Nov 29, 2025 by Pulumi

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as hcloud from "@pulumi/hcloud";
    
    const backups = new hcloud.StorageBox("backups", {
        name: "backups",
        storageBoxType: "bx21",
        location: "hel1",
        password: storageBoxPassword,
        labels: {
            foo: "bar",
        },
        accessSettings: {
            reachableExternally: true,
            sambaEnabled: true,
            sshEnabled: true,
            webdavEnabled: true,
            zfsEnabled: true,
        },
        snapshotPlan: {
            maxSnapshots: 10,
            minute: 16,
            hour: 18,
            dayOfWeek: 3,
        },
        deleteProtection: true,
    });
    
    import pulumi
    import pulumi_hcloud as hcloud
    
    backups = hcloud.StorageBox("backups",
        name="backups",
        storage_box_type="bx21",
        location="hel1",
        password=storage_box_password,
        labels={
            "foo": "bar",
        },
        access_settings={
            "reachable_externally": True,
            "samba_enabled": True,
            "ssh_enabled": True,
            "webdav_enabled": True,
            "zfs_enabled": True,
        },
        snapshot_plan={
            "max_snapshots": 10,
            "minute": 16,
            "hour": 18,
            "day_of_week": 3,
        },
        delete_protection=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-hcloud/sdk/go/hcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := hcloud.NewStorageBox(ctx, "backups", &hcloud.StorageBoxArgs{
    			Name:           pulumi.String("backups"),
    			StorageBoxType: pulumi.String("bx21"),
    			Location:       pulumi.String("hel1"),
    			Password:       pulumi.Any(storageBoxPassword),
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			AccessSettings: &hcloud.StorageBoxAccessSettingsArgs{
    				ReachableExternally: pulumi.Bool(true),
    				SambaEnabled:        pulumi.Bool(true),
    				SshEnabled:          pulumi.Bool(true),
    				WebdavEnabled:       pulumi.Bool(true),
    				ZfsEnabled:          pulumi.Bool(true),
    			},
    			SnapshotPlan: &hcloud.StorageBoxSnapshotPlanArgs{
    				MaxSnapshots: pulumi.Int(10),
    				Minute:       pulumi.Int(16),
    				Hour:         pulumi.Int(18),
    				DayOfWeek:    pulumi.Int(3),
    			},
    			DeleteProtection: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using HCloud = Pulumi.HCloud;
    
    return await Deployment.RunAsync(() => 
    {
        var backups = new HCloud.StorageBox("backups", new()
        {
            Name = "backups",
            StorageBoxType = "bx21",
            Location = "hel1",
            Password = storageBoxPassword,
            Labels = 
            {
                { "foo", "bar" },
            },
            AccessSettings = new HCloud.Inputs.StorageBoxAccessSettingsArgs
            {
                ReachableExternally = true,
                SambaEnabled = true,
                SshEnabled = true,
                WebdavEnabled = true,
                ZfsEnabled = true,
            },
            SnapshotPlan = new HCloud.Inputs.StorageBoxSnapshotPlanArgs
            {
                MaxSnapshots = 10,
                Minute = 16,
                Hour = 18,
                DayOfWeek = 3,
            },
            DeleteProtection = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.hcloud.StorageBox;
    import com.pulumi.hcloud.StorageBoxArgs;
    import com.pulumi.hcloud.inputs.StorageBoxAccessSettingsArgs;
    import com.pulumi.hcloud.inputs.StorageBoxSnapshotPlanArgs;
    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 backups = new StorageBox("backups", StorageBoxArgs.builder()
                .name("backups")
                .storageBoxType("bx21")
                .location("hel1")
                .password(storageBoxPassword)
                .labels(Map.of("foo", "bar"))
                .accessSettings(StorageBoxAccessSettingsArgs.builder()
                    .reachableExternally(true)
                    .sambaEnabled(true)
                    .sshEnabled(true)
                    .webdavEnabled(true)
                    .zfsEnabled(true)
                    .build())
                .snapshotPlan(StorageBoxSnapshotPlanArgs.builder()
                    .maxSnapshots(10)
                    .minute(16)
                    .hour(18)
                    .dayOfWeek(3)
                    .build())
                .deleteProtection(true)
                .build());
    
        }
    }
    
    resources:
      backups:
        type: hcloud:StorageBox
        properties:
          name: backups
          storageBoxType: bx21
          location: hel1
          password: ${storageBoxPassword}
          labels:
            foo: bar
          accessSettings:
            reachableExternally: true
            sambaEnabled: true
            sshEnabled: true
            webdavEnabled: true
            zfsEnabled: true
          snapshotPlan:
            maxSnapshots: 10
            minute: 16
            hour: 18
            dayOfWeek: 3
          deleteProtection: true
    

    Create StorageBox Resource

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

    Constructor syntax

    new StorageBox(name: string, args: StorageBoxArgs, opts?: CustomResourceOptions);
    @overload
    def StorageBox(resource_name: str,
                   args: StorageBoxArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def StorageBox(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   location: Optional[str] = None,
                   password: Optional[str] = None,
                   storage_box_type: Optional[str] = None,
                   access_settings: Optional[StorageBoxAccessSettingsArgs] = None,
                   delete_protection: Optional[bool] = None,
                   labels: Optional[Mapping[str, str]] = None,
                   name: Optional[str] = None,
                   snapshot_plan: Optional[StorageBoxSnapshotPlanArgs] = None,
                   ssh_keys: Optional[Sequence[str]] = None)
    func NewStorageBox(ctx *Context, name string, args StorageBoxArgs, opts ...ResourceOption) (*StorageBox, error)
    public StorageBox(string name, StorageBoxArgs args, CustomResourceOptions? opts = null)
    public StorageBox(String name, StorageBoxArgs args)
    public StorageBox(String name, StorageBoxArgs args, CustomResourceOptions options)
    
    type: hcloud:StorageBox
    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 StorageBoxArgs
    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 StorageBoxArgs
    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 StorageBoxArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args StorageBoxArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args StorageBoxArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var storageBoxResource = new HCloud.StorageBox("storageBoxResource", new()
    {
        Location = "string",
        Password = "string",
        StorageBoxType = "string",
        AccessSettings = new HCloud.Inputs.StorageBoxAccessSettingsArgs
        {
            ReachableExternally = false,
            SambaEnabled = false,
            SshEnabled = false,
            WebdavEnabled = false,
            ZfsEnabled = false,
        },
        DeleteProtection = false,
        Labels = 
        {
            { "string", "string" },
        },
        Name = "string",
        SnapshotPlan = new HCloud.Inputs.StorageBoxSnapshotPlanArgs
        {
            Hour = 0,
            MaxSnapshots = 0,
            Minute = 0,
            DayOfMonth = 0,
            DayOfWeek = 0,
        },
        SshKeys = new[]
        {
            "string",
        },
    });
    
    example, err := hcloud.NewStorageBox(ctx, "storageBoxResource", &hcloud.StorageBoxArgs{
    	Location:       pulumi.String("string"),
    	Password:       pulumi.String("string"),
    	StorageBoxType: pulumi.String("string"),
    	AccessSettings: &hcloud.StorageBoxAccessSettingsArgs{
    		ReachableExternally: pulumi.Bool(false),
    		SambaEnabled:        pulumi.Bool(false),
    		SshEnabled:          pulumi.Bool(false),
    		WebdavEnabled:       pulumi.Bool(false),
    		ZfsEnabled:          pulumi.Bool(false),
    	},
    	DeleteProtection: pulumi.Bool(false),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	SnapshotPlan: &hcloud.StorageBoxSnapshotPlanArgs{
    		Hour:         pulumi.Int(0),
    		MaxSnapshots: pulumi.Int(0),
    		Minute:       pulumi.Int(0),
    		DayOfMonth:   pulumi.Int(0),
    		DayOfWeek:    pulumi.Int(0),
    	},
    	SshKeys: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var storageBoxResource = new StorageBox("storageBoxResource", StorageBoxArgs.builder()
        .location("string")
        .password("string")
        .storageBoxType("string")
        .accessSettings(StorageBoxAccessSettingsArgs.builder()
            .reachableExternally(false)
            .sambaEnabled(false)
            .sshEnabled(false)
            .webdavEnabled(false)
            .zfsEnabled(false)
            .build())
        .deleteProtection(false)
        .labels(Map.of("string", "string"))
        .name("string")
        .snapshotPlan(StorageBoxSnapshotPlanArgs.builder()
            .hour(0)
            .maxSnapshots(0)
            .minute(0)
            .dayOfMonth(0)
            .dayOfWeek(0)
            .build())
        .sshKeys("string")
        .build());
    
    storage_box_resource = hcloud.StorageBox("storageBoxResource",
        location="string",
        password="string",
        storage_box_type="string",
        access_settings={
            "reachable_externally": False,
            "samba_enabled": False,
            "ssh_enabled": False,
            "webdav_enabled": False,
            "zfs_enabled": False,
        },
        delete_protection=False,
        labels={
            "string": "string",
        },
        name="string",
        snapshot_plan={
            "hour": 0,
            "max_snapshots": 0,
            "minute": 0,
            "day_of_month": 0,
            "day_of_week": 0,
        },
        ssh_keys=["string"])
    
    const storageBoxResource = new hcloud.StorageBox("storageBoxResource", {
        location: "string",
        password: "string",
        storageBoxType: "string",
        accessSettings: {
            reachableExternally: false,
            sambaEnabled: false,
            sshEnabled: false,
            webdavEnabled: false,
            zfsEnabled: false,
        },
        deleteProtection: false,
        labels: {
            string: "string",
        },
        name: "string",
        snapshotPlan: {
            hour: 0,
            maxSnapshots: 0,
            minute: 0,
            dayOfMonth: 0,
            dayOfWeek: 0,
        },
        sshKeys: ["string"],
    });
    
    type: hcloud:StorageBox
    properties:
        accessSettings:
            reachableExternally: false
            sambaEnabled: false
            sshEnabled: false
            webdavEnabled: false
            zfsEnabled: false
        deleteProtection: false
        labels:
            string: string
        location: string
        name: string
        password: string
        snapshotPlan:
            dayOfMonth: 0
            dayOfWeek: 0
            hour: 0
            maxSnapshots: 0
            minute: 0
        sshKeys:
            - string
        storageBoxType: string
    

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

    Location string
    Name of the Location.
    Password string
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    StorageBoxType string
    Name of the Storage Box Type.
    AccessSettings Pulumi.HCloud.Inputs.StorageBoxAccessSettings
    Access settings of the Storage Box.
    DeleteProtection bool
    Labels Dictionary<string, string>
    User-defined labels (key-value pairs) for the resource.
    Name string
    Name of the Storage Box.
    SnapshotPlan Pulumi.HCloud.Inputs.StorageBoxSnapshotPlan
    Details of the active snapshot plan.
    SshKeys List<string>
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    Location string
    Name of the Location.
    Password string
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    StorageBoxType string
    Name of the Storage Box Type.
    AccessSettings StorageBoxAccessSettingsArgs
    Access settings of the Storage Box.
    DeleteProtection bool
    Labels map[string]string
    User-defined labels (key-value pairs) for the resource.
    Name string
    Name of the Storage Box.
    SnapshotPlan StorageBoxSnapshotPlanArgs
    Details of the active snapshot plan.
    SshKeys []string
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    location String
    Name of the Location.
    password String
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    storageBoxType String
    Name of the Storage Box Type.
    accessSettings StorageBoxAccessSettings
    Access settings of the Storage Box.
    deleteProtection Boolean
    labels Map<String,String>
    User-defined labels (key-value pairs) for the resource.
    name String
    Name of the Storage Box.
    snapshotPlan StorageBoxSnapshotPlan
    Details of the active snapshot plan.
    sshKeys List<String>
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    location string
    Name of the Location.
    password string
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    storageBoxType string
    Name of the Storage Box Type.
    accessSettings StorageBoxAccessSettings
    Access settings of the Storage Box.
    deleteProtection boolean
    labels {[key: string]: string}
    User-defined labels (key-value pairs) for the resource.
    name string
    Name of the Storage Box.
    snapshotPlan StorageBoxSnapshotPlan
    Details of the active snapshot plan.
    sshKeys string[]
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    location str
    Name of the Location.
    password str
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    storage_box_type str
    Name of the Storage Box Type.
    access_settings StorageBoxAccessSettingsArgs
    Access settings of the Storage Box.
    delete_protection bool
    labels Mapping[str, str]
    User-defined labels (key-value pairs) for the resource.
    name str
    Name of the Storage Box.
    snapshot_plan StorageBoxSnapshotPlanArgs
    Details of the active snapshot plan.
    ssh_keys Sequence[str]
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    location String
    Name of the Location.
    password String
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    storageBoxType String
    Name of the Storage Box Type.
    accessSettings Property Map
    Access settings of the Storage Box.
    deleteProtection Boolean
    labels Map<String>
    User-defined labels (key-value pairs) for the resource.
    name String
    Name of the Storage Box.
    snapshotPlan Property Map
    Details of the active snapshot plan.
    sshKeys List<String>
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the StorageBox resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Server string
    FQDN of the Storage Box.
    System string
    Host system of the Storage Box.
    Username string
    Primary username of the Storage Box.
    Id string
    The provider-assigned unique ID for this managed resource.
    Server string
    FQDN of the Storage Box.
    System string
    Host system of the Storage Box.
    Username string
    Primary username of the Storage Box.
    id String
    The provider-assigned unique ID for this managed resource.
    server String
    FQDN of the Storage Box.
    system String
    Host system of the Storage Box.
    username String
    Primary username of the Storage Box.
    id string
    The provider-assigned unique ID for this managed resource.
    server string
    FQDN of the Storage Box.
    system string
    Host system of the Storage Box.
    username string
    Primary username of the Storage Box.
    id str
    The provider-assigned unique ID for this managed resource.
    server str
    FQDN of the Storage Box.
    system str
    Host system of the Storage Box.
    username str
    Primary username of the Storage Box.
    id String
    The provider-assigned unique ID for this managed resource.
    server String
    FQDN of the Storage Box.
    system String
    Host system of the Storage Box.
    username String
    Primary username of the Storage Box.

    Look up Existing StorageBox Resource

    Get an existing StorageBox 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?: StorageBoxState, opts?: CustomResourceOptions): StorageBox
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            access_settings: Optional[StorageBoxAccessSettingsArgs] = None,
            delete_protection: Optional[bool] = None,
            labels: Optional[Mapping[str, str]] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            password: Optional[str] = None,
            server: Optional[str] = None,
            snapshot_plan: Optional[StorageBoxSnapshotPlanArgs] = None,
            ssh_keys: Optional[Sequence[str]] = None,
            storage_box_type: Optional[str] = None,
            system: Optional[str] = None,
            username: Optional[str] = None) -> StorageBox
    func GetStorageBox(ctx *Context, name string, id IDInput, state *StorageBoxState, opts ...ResourceOption) (*StorageBox, error)
    public static StorageBox Get(string name, Input<string> id, StorageBoxState? state, CustomResourceOptions? opts = null)
    public static StorageBox get(String name, Output<String> id, StorageBoxState state, CustomResourceOptions options)
    resources:  _:    type: hcloud:StorageBox    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:
    AccessSettings Pulumi.HCloud.Inputs.StorageBoxAccessSettings
    Access settings of the Storage Box.
    DeleteProtection bool
    Labels Dictionary<string, string>
    User-defined labels (key-value pairs) for the resource.
    Location string
    Name of the Location.
    Name string
    Name of the Storage Box.
    Password string
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    Server string
    FQDN of the Storage Box.
    SnapshotPlan Pulumi.HCloud.Inputs.StorageBoxSnapshotPlan
    Details of the active snapshot plan.
    SshKeys List<string>
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    StorageBoxType string
    Name of the Storage Box Type.
    System string
    Host system of the Storage Box.
    Username string
    Primary username of the Storage Box.
    AccessSettings StorageBoxAccessSettingsArgs
    Access settings of the Storage Box.
    DeleteProtection bool
    Labels map[string]string
    User-defined labels (key-value pairs) for the resource.
    Location string
    Name of the Location.
    Name string
    Name of the Storage Box.
    Password string
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    Server string
    FQDN of the Storage Box.
    SnapshotPlan StorageBoxSnapshotPlanArgs
    Details of the active snapshot plan.
    SshKeys []string
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    StorageBoxType string
    Name of the Storage Box Type.
    System string
    Host system of the Storage Box.
    Username string
    Primary username of the Storage Box.
    accessSettings StorageBoxAccessSettings
    Access settings of the Storage Box.
    deleteProtection Boolean
    labels Map<String,String>
    User-defined labels (key-value pairs) for the resource.
    location String
    Name of the Location.
    name String
    Name of the Storage Box.
    password String
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    server String
    FQDN of the Storage Box.
    snapshotPlan StorageBoxSnapshotPlan
    Details of the active snapshot plan.
    sshKeys List<String>
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    storageBoxType String
    Name of the Storage Box Type.
    system String
    Host system of the Storage Box.
    username String
    Primary username of the Storage Box.
    accessSettings StorageBoxAccessSettings
    Access settings of the Storage Box.
    deleteProtection boolean
    labels {[key: string]: string}
    User-defined labels (key-value pairs) for the resource.
    location string
    Name of the Location.
    name string
    Name of the Storage Box.
    password string
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    server string
    FQDN of the Storage Box.
    snapshotPlan StorageBoxSnapshotPlan
    Details of the active snapshot plan.
    sshKeys string[]
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    storageBoxType string
    Name of the Storage Box Type.
    system string
    Host system of the Storage Box.
    username string
    Primary username of the Storage Box.
    access_settings StorageBoxAccessSettingsArgs
    Access settings of the Storage Box.
    delete_protection bool
    labels Mapping[str, str]
    User-defined labels (key-value pairs) for the resource.
    location str
    Name of the Location.
    name str
    Name of the Storage Box.
    password str
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    server str
    FQDN of the Storage Box.
    snapshot_plan StorageBoxSnapshotPlanArgs
    Details of the active snapshot plan.
    ssh_keys Sequence[str]
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    storage_box_type str
    Name of the Storage Box Type.
    system str
    Host system of the Storage Box.
    username str
    Primary username of the Storage Box.
    accessSettings Property Map
    Access settings of the Storage Box.
    deleteProtection Boolean
    labels Map<String>
    User-defined labels (key-value pairs) for the resource.
    location String
    Name of the Location.
    name String
    Name of the Storage Box.
    password String
    Password of the Storage Box. For more details, see the Storage Boxes password policy.
    server String
    FQDN of the Storage Box.
    snapshotPlan Property Map
    Details of the active snapshot plan.
    sshKeys List<String>
    SSH public keys in OpenSSH format to inject into the Storage Box. Any changes to this attribute are ignored, as it is not possible to update the SSH Keys through the API, please add the SSH Keys manually on the Storage Box if you need to change them.
    storageBoxType String
    Name of the Storage Box Type.
    system String
    Host system of the Storage Box.
    username String
    Primary username of the Storage Box.

    Supporting Types

    StorageBoxAccessSettings, StorageBoxAccessSettingsArgs

    ReachableExternally bool
    Whether access from outside the Hetzner network is allowed.
    SambaEnabled bool
    Whether the Samba subsystem is enabled.
    SshEnabled bool
    Whether the SSH subsystem is enabled.
    WebdavEnabled bool
    Whether the WebDAV subsystem is enabled.
    ZfsEnabled bool
    Whether the ZFS snapshot folder is visible.
    ReachableExternally bool
    Whether access from outside the Hetzner network is allowed.
    SambaEnabled bool
    Whether the Samba subsystem is enabled.
    SshEnabled bool
    Whether the SSH subsystem is enabled.
    WebdavEnabled bool
    Whether the WebDAV subsystem is enabled.
    ZfsEnabled bool
    Whether the ZFS snapshot folder is visible.
    reachableExternally Boolean
    Whether access from outside the Hetzner network is allowed.
    sambaEnabled Boolean
    Whether the Samba subsystem is enabled.
    sshEnabled Boolean
    Whether the SSH subsystem is enabled.
    webdavEnabled Boolean
    Whether the WebDAV subsystem is enabled.
    zfsEnabled Boolean
    Whether the ZFS snapshot folder is visible.
    reachableExternally boolean
    Whether access from outside the Hetzner network is allowed.
    sambaEnabled boolean
    Whether the Samba subsystem is enabled.
    sshEnabled boolean
    Whether the SSH subsystem is enabled.
    webdavEnabled boolean
    Whether the WebDAV subsystem is enabled.
    zfsEnabled boolean
    Whether the ZFS snapshot folder is visible.
    reachable_externally bool
    Whether access from outside the Hetzner network is allowed.
    samba_enabled bool
    Whether the Samba subsystem is enabled.
    ssh_enabled bool
    Whether the SSH subsystem is enabled.
    webdav_enabled bool
    Whether the WebDAV subsystem is enabled.
    zfs_enabled bool
    Whether the ZFS snapshot folder is visible.
    reachableExternally Boolean
    Whether access from outside the Hetzner network is allowed.
    sambaEnabled Boolean
    Whether the Samba subsystem is enabled.
    sshEnabled Boolean
    Whether the SSH subsystem is enabled.
    webdavEnabled Boolean
    Whether the WebDAV subsystem is enabled.
    zfsEnabled Boolean
    Whether the ZFS snapshot folder is visible.

    StorageBoxSnapshotPlan, StorageBoxSnapshotPlanArgs

    Hour int
    Hour when the Snapshot Plan is executed (UTC).
    MaxSnapshots int
    Maximum amount of Snapshots that will be created by this Snapshot Plan. Older Snapshots will be deleted.
    Minute int
    Minute when the Snapshot Plan is executed (UTC).
    DayOfMonth int
    Day of the month when the Snapshot Plan is executed. Null means every day.
    DayOfWeek int
    Day of the week when the Snapshot Plan is executed. Starts at 0 for Sunday til 6 for Saturday. Note that this differs from the API, which uses 1 (Monday) through 7 (Sunday). Null means every day.
    Hour int
    Hour when the Snapshot Plan is executed (UTC).
    MaxSnapshots int
    Maximum amount of Snapshots that will be created by this Snapshot Plan. Older Snapshots will be deleted.
    Minute int
    Minute when the Snapshot Plan is executed (UTC).
    DayOfMonth int
    Day of the month when the Snapshot Plan is executed. Null means every day.
    DayOfWeek int
    Day of the week when the Snapshot Plan is executed. Starts at 0 for Sunday til 6 for Saturday. Note that this differs from the API, which uses 1 (Monday) through 7 (Sunday). Null means every day.
    hour Integer
    Hour when the Snapshot Plan is executed (UTC).
    maxSnapshots Integer
    Maximum amount of Snapshots that will be created by this Snapshot Plan. Older Snapshots will be deleted.
    minute Integer
    Minute when the Snapshot Plan is executed (UTC).
    dayOfMonth Integer
    Day of the month when the Snapshot Plan is executed. Null means every day.
    dayOfWeek Integer
    Day of the week when the Snapshot Plan is executed. Starts at 0 for Sunday til 6 for Saturday. Note that this differs from the API, which uses 1 (Monday) through 7 (Sunday). Null means every day.
    hour number
    Hour when the Snapshot Plan is executed (UTC).
    maxSnapshots number
    Maximum amount of Snapshots that will be created by this Snapshot Plan. Older Snapshots will be deleted.
    minute number
    Minute when the Snapshot Plan is executed (UTC).
    dayOfMonth number
    Day of the month when the Snapshot Plan is executed. Null means every day.
    dayOfWeek number
    Day of the week when the Snapshot Plan is executed. Starts at 0 for Sunday til 6 for Saturday. Note that this differs from the API, which uses 1 (Monday) through 7 (Sunday). Null means every day.
    hour int
    Hour when the Snapshot Plan is executed (UTC).
    max_snapshots int
    Maximum amount of Snapshots that will be created by this Snapshot Plan. Older Snapshots will be deleted.
    minute int
    Minute when the Snapshot Plan is executed (UTC).
    day_of_month int
    Day of the month when the Snapshot Plan is executed. Null means every day.
    day_of_week int
    Day of the week when the Snapshot Plan is executed. Starts at 0 for Sunday til 6 for Saturday. Note that this differs from the API, which uses 1 (Monday) through 7 (Sunday). Null means every day.
    hour Number
    Hour when the Snapshot Plan is executed (UTC).
    maxSnapshots Number
    Maximum amount of Snapshots that will be created by this Snapshot Plan. Older Snapshots will be deleted.
    minute Number
    Minute when the Snapshot Plan is executed (UTC).
    dayOfMonth Number
    Day of the month when the Snapshot Plan is executed. Null means every day.
    dayOfWeek Number
    Day of the week when the Snapshot Plan is executed. Starts at 0 for Sunday til 6 for Saturday. Note that this differs from the API, which uses 1 (Monday) through 7 (Sunday). Null means every day.

    Import

    In Terraform v1.5.0 and later, the import block can be used with the id attribute, for example:

    terraform

    import {

    to = hcloud_storage_box.example

    id = “$STORAGE_BOX_ID”

    }

    The pulumi import command can be used, for example:

    $ pulumi import hcloud:index/storageBox:StorageBox example "$STORAGE_BOX_ID"
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Hetzner Cloud pulumi/pulumi-hcloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the hcloud Terraform Provider.
    hcloud logo
    Hetzner Cloud v1.29.0 published on Saturday, Nov 29, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate