1. Packages
  2. Ionoscloud
  3. API Docs
  4. nfs
  5. Cluster
IonosCloud v0.2.2 published on Monday, May 12, 2025 by ionos-cloud

ionoscloud.nfs.Cluster

Explore with Pulumi AI

ionoscloud logo
IonosCloud v0.2.2 published on Monday, May 12, 2025 by ionos-cloud

    Create clusters of Network File Storage (NFS) on IonosCloud.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
    
    // Basic example
    const nfsDc = new ionoscloud.compute.Datacenter("nfs_dc", {
        name: "NFS Datacenter",
        location: "de/txl",
        description: "Datacenter Description",
        secAuthProtection: false,
    });
    const nfsLan = new ionoscloud.compute.Lan("nfs_lan", {
        datacenterId: nfsDc.id,
        "public": false,
        name: "Lan for NFS",
    });
    const example = new ionoscloud.nfs.Cluster("example", {
        name: "test",
        location: "de/txl",
        size: 2,
        nfs: {
            minVersion: "4.2",
        },
        connections: {
            datacenterId: nfsDc.id,
            ipAddress: "192.168.100.10/24",
            lan: nfsLan.id,
        },
    });
    
    import pulumi
    import pulumi_ionoscloud as ionoscloud
    
    # Basic example
    nfs_dc = ionoscloud.compute.Datacenter("nfs_dc",
        name="NFS Datacenter",
        location="de/txl",
        description="Datacenter Description",
        sec_auth_protection=False)
    nfs_lan = ionoscloud.compute.Lan("nfs_lan",
        datacenter_id=nfs_dc.id,
        public=False,
        name="Lan for NFS")
    example = ionoscloud.nfs.Cluster("example",
        name="test",
        location="de/txl",
        size=2,
        nfs={
            "min_version": "4.2",
        },
        connections={
            "datacenter_id": nfs_dc.id,
            "ip_address": "192.168.100.10/24",
            "lan": nfs_lan.id,
        })
    
    package main
    
    import (
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/nfs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Basic example
    		nfsDc, err := compute.NewDatacenter(ctx, "nfs_dc", &compute.DatacenterArgs{
    			Name:              pulumi.String("NFS Datacenter"),
    			Location:          pulumi.String("de/txl"),
    			Description:       pulumi.String("Datacenter Description"),
    			SecAuthProtection: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		nfsLan, err := compute.NewLan(ctx, "nfs_lan", &compute.LanArgs{
    			DatacenterId: nfsDc.ID(),
    			Public:       pulumi.Bool(false),
    			Name:         pulumi.String("Lan for NFS"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = nfs.NewCluster(ctx, "example", &nfs.ClusterArgs{
    			Name:     pulumi.String("test"),
    			Location: pulumi.String("de/txl"),
    			Size:     pulumi.Int(2),
    			Nfs: &nfs.ClusterNfsArgs{
    				MinVersion: pulumi.String("4.2"),
    			},
    			Connections: &nfs.ClusterConnectionsArgs{
    				DatacenterId: nfsDc.ID(),
    				IpAddress:    pulumi.String("192.168.100.10/24"),
    				Lan:          nfsLan.ID(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
    
    return await Deployment.RunAsync(() => 
    {
        // Basic example
        var nfsDc = new Ionoscloud.Compute.Datacenter("nfs_dc", new()
        {
            Name = "NFS Datacenter",
            Location = "de/txl",
            Description = "Datacenter Description",
            SecAuthProtection = false,
        });
    
        var nfsLan = new Ionoscloud.Compute.Lan("nfs_lan", new()
        {
            DatacenterId = nfsDc.Id,
            Public = false,
            Name = "Lan for NFS",
        });
    
        var example = new Ionoscloud.Nfs.Cluster("example", new()
        {
            Name = "test",
            Location = "de/txl",
            Size = 2,
            Nfs = new Ionoscloud.Nfs.Inputs.ClusterNfsArgs
            {
                MinVersion = "4.2",
            },
            Connections = new Ionoscloud.Nfs.Inputs.ClusterConnectionsArgs
            {
                DatacenterId = nfsDc.Id,
                IpAddress = "192.168.100.10/24",
                Lan = nfsLan.Id,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ionoscloud.compute.Datacenter;
    import com.pulumi.ionoscloud.compute.DatacenterArgs;
    import com.pulumi.ionoscloud.compute.Lan;
    import com.pulumi.ionoscloud.compute.LanArgs;
    import com.pulumi.ionoscloud.nfs.Cluster;
    import com.pulumi.ionoscloud.nfs.ClusterArgs;
    import com.pulumi.ionoscloud.nfs.inputs.ClusterNfsArgs;
    import com.pulumi.ionoscloud.nfs.inputs.ClusterConnectionsArgs;
    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) {
            // Basic example
            var nfsDc = new Datacenter("nfsDc", DatacenterArgs.builder()
                .name("NFS Datacenter")
                .location("de/txl")
                .description("Datacenter Description")
                .secAuthProtection(false)
                .build());
    
            var nfsLan = new Lan("nfsLan", LanArgs.builder()
                .datacenterId(nfsDc.id())
                .public_(false)
                .name("Lan for NFS")
                .build());
    
            var example = new Cluster("example", ClusterArgs.builder()
                .name("test")
                .location("de/txl")
                .size(2)
                .nfs(ClusterNfsArgs.builder()
                    .minVersion("4.2")
                    .build())
                .connections(ClusterConnectionsArgs.builder()
                    .datacenterId(nfsDc.id())
                    .ipAddress("192.168.100.10/24")
                    .lan(nfsLan.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Basic example
      nfsDc:
        type: ionoscloud:compute:Datacenter
        name: nfs_dc
        properties:
          name: NFS Datacenter
          location: de/txl
          description: Datacenter Description
          secAuthProtection: false
      nfsLan:
        type: ionoscloud:compute:Lan
        name: nfs_lan
        properties:
          datacenterId: ${nfsDc.id}
          public: false
          name: Lan for NFS
      example:
        type: ionoscloud:nfs:Cluster
        properties:
          name: test
          location: de/txl
          size: 2
          nfs:
            minVersion: '4.2'
          connections:
            datacenterId: ${nfsDc.id}
            ipAddress: 192.168.100.10/24
            lan: ${nfsLan.id}
    
    import * as pulumi from "@pulumi/pulumi";
    import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
    import * as ionoscloud from "@pulumi/ionoscloud";
    import * as random from "@pulumi/random";
    
    // Complete example
    const nfsDc = new ionoscloud.compute.Datacenter("nfs_dc", {
        name: "NFS Datacenter",
        location: "de/txl",
        description: "Datacenter Description",
        secAuthProtection: false,
    });
    const nfsLan = new ionoscloud.compute.Lan("nfs_lan", {
        datacenterId: nfsDc.id,
        "public": false,
        name: "Lan for NFS",
    });
    const hDDImage = ionoscloud.compute.getImage({
        imageAlias: "ubuntu:20.04",
        type: "HDD",
        cloudInit: "V1",
        location: "de/txl",
    });
    const password = new random.index.Password("password", {
        length: 16,
        special: false,
    });
    // needed for the NIC - which provides the IP address for the NFS cluster.
    const nfsServer = new ionoscloud.compute.Server("nfs_server", {
        name: "Server for NFS",
        datacenterId: nfsDc.id,
        cores: 1,
        ram: 2048,
        availabilityZone: "ZONE_1",
        cpuFamily: "INTEL_SKYLAKE",
        imageName: hDDImage.then(hDDImage => hDDImage.id),
        imagePassword: password.result,
        volume: {
            name: "system",
            size: 14,
            diskType: "SSD",
        },
        nic: {
            name: "NIC A",
            lan: nfsLan.id,
            dhcp: true,
            firewallActive: true,
        },
    });
    const example = new ionoscloud.nfs.Cluster("example", {
        name: "test",
        location: "de/txl",
        size: 2,
        nfs: {
            minVersion: "4.2",
        },
        connections: {
            datacenterId: nfsDc.id,
            ipAddress: "nfs_cluster_cidr_from_nic",
            lan: nfsLan.id,
        },
    });
    
    import pulumi
    import pulumi_ionoscloud as ionoscloud
    import pulumi_random as random
    
    # Complete example
    nfs_dc = ionoscloud.compute.Datacenter("nfs_dc",
        name="NFS Datacenter",
        location="de/txl",
        description="Datacenter Description",
        sec_auth_protection=False)
    nfs_lan = ionoscloud.compute.Lan("nfs_lan",
        datacenter_id=nfs_dc.id,
        public=False,
        name="Lan for NFS")
    h_dd_image = ionoscloud.compute.get_image(image_alias="ubuntu:20.04",
        type="HDD",
        cloud_init="V1",
        location="de/txl")
    password = random.index.Password("password",
        length=16,
        special=False)
    # needed for the NIC - which provides the IP address for the NFS cluster.
    nfs_server = ionoscloud.compute.Server("nfs_server",
        name="Server for NFS",
        datacenter_id=nfs_dc.id,
        cores=1,
        ram=2048,
        availability_zone="ZONE_1",
        cpu_family="INTEL_SKYLAKE",
        image_name=h_dd_image.id,
        image_password=password["result"],
        volume={
            "name": "system",
            "size": 14,
            "disk_type": "SSD",
        },
        nic={
            "name": "NIC A",
            "lan": nfs_lan.id,
            "dhcp": True,
            "firewall_active": True,
        })
    example = ionoscloud.nfs.Cluster("example",
        name="test",
        location="de/txl",
        size=2,
        nfs={
            "min_version": "4.2",
        },
        connections={
            "datacenter_id": nfs_dc.id,
            "ip_address": "nfs_cluster_cidr_from_nic",
            "lan": nfs_lan.id,
        })
    
    package main
    
    import (
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/nfs"
    	"github.com/pulumi/pulumi-random/sdk/go/random"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Complete example
    		nfsDc, err := compute.NewDatacenter(ctx, "nfs_dc", &compute.DatacenterArgs{
    			Name:              pulumi.String("NFS Datacenter"),
    			Location:          pulumi.String("de/txl"),
    			Description:       pulumi.String("Datacenter Description"),
    			SecAuthProtection: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		nfsLan, err := compute.NewLan(ctx, "nfs_lan", &compute.LanArgs{
    			DatacenterId: nfsDc.ID(),
    			Public:       pulumi.Bool(false),
    			Name:         pulumi.String("Lan for NFS"),
    		})
    		if err != nil {
    			return err
    		}
    		hDDImage, err := compute.GetImage(ctx, &compute.GetImageArgs{
    			ImageAlias: pulumi.StringRef("ubuntu:20.04"),
    			Type:       pulumi.StringRef("HDD"),
    			CloudInit:  pulumi.StringRef("V1"),
    			Location:   pulumi.StringRef("de/txl"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		password, err := random.NewPassword(ctx, "password", &random.PasswordArgs{
    			Length:  16,
    			Special: false,
    		})
    		if err != nil {
    			return err
    		}
    		// needed for the NIC - which provides the IP address for the NFS cluster.
    		_, err = compute.NewServer(ctx, "nfs_server", &compute.ServerArgs{
    			Name:             pulumi.String("Server for NFS"),
    			DatacenterId:     nfsDc.ID(),
    			Cores:            pulumi.Int(1),
    			Ram:              pulumi.Int(2048),
    			AvailabilityZone: pulumi.String("ZONE_1"),
    			CpuFamily:        pulumi.String("INTEL_SKYLAKE"),
    			ImageName:        pulumi.String(hDDImage.Id),
    			ImagePassword:    password.Result,
    			Volume: &compute.ServerVolumeArgs{
    				Name:     pulumi.String("system"),
    				Size:     pulumi.Int(14),
    				DiskType: pulumi.String("SSD"),
    			},
    			Nic: &compute.ServerNicArgs{
    				Name:           pulumi.String("NIC A"),
    				Lan:            nfsLan.ID(),
    				Dhcp:           pulumi.Bool(true),
    				FirewallActive: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = nfs.NewCluster(ctx, "example", &nfs.ClusterArgs{
    			Name:     pulumi.String("test"),
    			Location: pulumi.String("de/txl"),
    			Size:     pulumi.Int(2),
    			Nfs: &nfs.ClusterNfsArgs{
    				MinVersion: pulumi.String("4.2"),
    			},
    			Connections: &nfs.ClusterConnectionsArgs{
    				DatacenterId: nfsDc.ID(),
    				IpAddress:    pulumi.String("nfs_cluster_cidr_from_nic"),
    				Lan:          nfsLan.ID(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
    using Ionoscloud = Pulumi.Ionoscloud;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        // Complete example
        var nfsDc = new Ionoscloud.Compute.Datacenter("nfs_dc", new()
        {
            Name = "NFS Datacenter",
            Location = "de/txl",
            Description = "Datacenter Description",
            SecAuthProtection = false,
        });
    
        var nfsLan = new Ionoscloud.Compute.Lan("nfs_lan", new()
        {
            DatacenterId = nfsDc.Id,
            Public = false,
            Name = "Lan for NFS",
        });
    
        var hDDImage = Ionoscloud.Compute.GetImage.Invoke(new()
        {
            ImageAlias = "ubuntu:20.04",
            Type = "HDD",
            CloudInit = "V1",
            Location = "de/txl",
        });
    
        var password = new Random.Index.Password("password", new()
        {
            Length = 16,
            Special = false,
        });
    
        // needed for the NIC - which provides the IP address for the NFS cluster.
        var nfsServer = new Ionoscloud.Compute.Server("nfs_server", new()
        {
            Name = "Server for NFS",
            DatacenterId = nfsDc.Id,
            Cores = 1,
            Ram = 2048,
            AvailabilityZone = "ZONE_1",
            CpuFamily = "INTEL_SKYLAKE",
            ImageName = hDDImage.Apply(getImageResult => getImageResult.Id),
            ImagePassword = password.Result,
            Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
            {
                Name = "system",
                Size = 14,
                DiskType = "SSD",
            },
            Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
            {
                Name = "NIC A",
                Lan = nfsLan.Id,
                Dhcp = true,
                FirewallActive = true,
            },
        });
    
        var example = new Ionoscloud.Nfs.Cluster("example", new()
        {
            Name = "test",
            Location = "de/txl",
            Size = 2,
            Nfs = new Ionoscloud.Nfs.Inputs.ClusterNfsArgs
            {
                MinVersion = "4.2",
            },
            Connections = new Ionoscloud.Nfs.Inputs.ClusterConnectionsArgs
            {
                DatacenterId = nfsDc.Id,
                IpAddress = "nfs_cluster_cidr_from_nic",
                Lan = nfsLan.Id,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ionoscloud.compute.Datacenter;
    import com.pulumi.ionoscloud.compute.DatacenterArgs;
    import com.pulumi.ionoscloud.compute.Lan;
    import com.pulumi.ionoscloud.compute.LanArgs;
    import com.pulumi.ionoscloud.compute.ComputeFunctions;
    import com.pulumi.ionoscloud.compute.inputs.GetImageArgs;
    import com.pulumi.random.password;
    import com.pulumi.random.PasswordArgs;
    import com.pulumi.ionoscloud.compute.Server;
    import com.pulumi.ionoscloud.compute.ServerArgs;
    import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
    import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
    import com.pulumi.ionoscloud.nfs.Cluster;
    import com.pulumi.ionoscloud.nfs.ClusterArgs;
    import com.pulumi.ionoscloud.nfs.inputs.ClusterNfsArgs;
    import com.pulumi.ionoscloud.nfs.inputs.ClusterConnectionsArgs;
    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) {
            // Complete example
            var nfsDc = new Datacenter("nfsDc", DatacenterArgs.builder()
                .name("NFS Datacenter")
                .location("de/txl")
                .description("Datacenter Description")
                .secAuthProtection(false)
                .build());
    
            var nfsLan = new Lan("nfsLan", LanArgs.builder()
                .datacenterId(nfsDc.id())
                .public_(false)
                .name("Lan for NFS")
                .build());
    
            final var hDDImage = ComputeFunctions.getImage(GetImageArgs.builder()
                .imageAlias("ubuntu:20.04")
                .type("HDD")
                .cloudInit("V1")
                .location("de/txl")
                .build());
    
            var password = new Password("password", PasswordArgs.builder()
                .length(16)
                .special(false)
                .build());
    
            // needed for the NIC - which provides the IP address for the NFS cluster.
            var nfsServer = new Server("nfsServer", ServerArgs.builder()
                .name("Server for NFS")
                .datacenterId(nfsDc.id())
                .cores(1)
                .ram(2048)
                .availabilityZone("ZONE_1")
                .cpuFamily("INTEL_SKYLAKE")
                .imageName(hDDImage.applyValue(getImageResult -> getImageResult.id()))
                .imagePassword(password.result())
                .volume(ServerVolumeArgs.builder()
                    .name("system")
                    .size(14)
                    .diskType("SSD")
                    .build())
                .nic(ServerNicArgs.builder()
                    .name("NIC A")
                    .lan(nfsLan.id())
                    .dhcp(true)
                    .firewallActive(true)
                    .build())
                .build());
    
            var example = new Cluster("example", ClusterArgs.builder()
                .name("test")
                .location("de/txl")
                .size(2)
                .nfs(ClusterNfsArgs.builder()
                    .minVersion("4.2")
                    .build())
                .connections(ClusterConnectionsArgs.builder()
                    .datacenterId(nfsDc.id())
                    .ipAddress("nfs_cluster_cidr_from_nic")
                    .lan(nfsLan.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Complete example
      nfsDc:
        type: ionoscloud:compute:Datacenter
        name: nfs_dc
        properties:
          name: NFS Datacenter
          location: de/txl
          description: Datacenter Description
          secAuthProtection: false
      nfsLan:
        type: ionoscloud:compute:Lan
        name: nfs_lan
        properties:
          datacenterId: ${nfsDc.id}
          public: false
          name: Lan for NFS
      password:
        type: random:password
        properties:
          length: 16
          special: false
      # needed for the NIC - which provides the IP address for the NFS cluster.
      nfsServer:
        type: ionoscloud:compute:Server
        name: nfs_server
        properties:
          name: Server for NFS
          datacenterId: ${nfsDc.id}
          cores: 1
          ram: 2048
          availabilityZone: ZONE_1
          cpuFamily: INTEL_SKYLAKE
          imageName: ${hDDImage.id}
          imagePassword: ${password.result}
          volume:
            name: system
            size: 14
            diskType: SSD
          nic:
            name: NIC A
            lan: ${nfsLan.id}
            dhcp: true
            firewallActive: true
      example:
        type: ionoscloud:nfs:Cluster
        properties:
          name: test
          location: de/txl
          size: 2
          nfs:
            minVersion: '4.2'
          connections:
            datacenterId: ${nfsDc.id}
            ipAddress: nfs_cluster_cidr_from_nic
            lan: ${nfsLan.id}
    variables:
      hDDImage:
        fn::invoke:
          function: ionoscloud:compute:getImage
          arguments:
            imageAlias: ubuntu:20.04
            type: HDD
            cloudInit: V1
            location: de/txl
    

    Create Cluster Resource

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

    Constructor syntax

    new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
    @overload
    def Cluster(resource_name: str,
                args: ClusterArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Cluster(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                connections: Optional[ClusterConnectionsArgs] = None,
                size: Optional[int] = None,
                location: Optional[str] = None,
                name: Optional[str] = None,
                nfs: Optional[ClusterNfsArgs] = None)
    func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)
    public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
    public Cluster(String name, ClusterArgs args)
    public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
    
    type: ionoscloud:nfs:Cluster
    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 ClusterArgs
    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 ClusterArgs
    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 ClusterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterArgs
    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 exampleclusterResourceResourceFromNfscluster = new Ionoscloud.Nfs.Cluster("exampleclusterResourceResourceFromNfscluster", new()
    {
        Connections = new Ionoscloud.Nfs.Inputs.ClusterConnectionsArgs
        {
            DatacenterId = "string",
            IpAddress = "string",
            Lan = "string",
        },
        Size = 0,
        Location = "string",
        Name = "string",
        Nfs = new Ionoscloud.Nfs.Inputs.ClusterNfsArgs
        {
            MinVersion = "string",
        },
    });
    
    example, err := nfs.NewCluster(ctx, "exampleclusterResourceResourceFromNfscluster", &nfs.ClusterArgs{
    	Connections: &nfs.ClusterConnectionsArgs{
    		DatacenterId: pulumi.String("string"),
    		IpAddress:    pulumi.String("string"),
    		Lan:          pulumi.String("string"),
    	},
    	Size:     pulumi.Int(0),
    	Location: pulumi.String("string"),
    	Name:     pulumi.String("string"),
    	Nfs: &nfs.ClusterNfsArgs{
    		MinVersion: pulumi.String("string"),
    	},
    })
    
    var exampleclusterResourceResourceFromNfscluster = new com.ionoscloud.pulumi.ionoscloud.nfs.Cluster("exampleclusterResourceResourceFromNfscluster", com.ionoscloud.pulumi.ionoscloud.nfs.ClusterArgs.builder()
        .connections(ClusterConnectionsArgs.builder()
            .datacenterId("string")
            .ipAddress("string")
            .lan("string")
            .build())
        .size(0)
        .location("string")
        .name("string")
        .nfs(ClusterNfsArgs.builder()
            .minVersion("string")
            .build())
        .build());
    
    examplecluster_resource_resource_from_nfscluster = ionoscloud.nfs.Cluster("exampleclusterResourceResourceFromNfscluster",
        connections={
            "datacenter_id": "string",
            "ip_address": "string",
            "lan": "string",
        },
        size=0,
        location="string",
        name="string",
        nfs={
            "min_version": "string",
        })
    
    const exampleclusterResourceResourceFromNfscluster = new ionoscloud.nfs.Cluster("exampleclusterResourceResourceFromNfscluster", {
        connections: {
            datacenterId: "string",
            ipAddress: "string",
            lan: "string",
        },
        size: 0,
        location: "string",
        name: "string",
        nfs: {
            minVersion: "string",
        },
    });
    
    type: ionoscloud:nfs:Cluster
    properties:
        connections:
            datacenterId: string
            ipAddress: string
            lan: string
        location: string
        name: string
        nfs:
            minVersion: string
        size: 0
    

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

    Connections Ionoscloud.ClusterConnections
    The network connections for the Network File Storage Cluster.
    Size int
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    Location string
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    Name string
    The name of the Network File Storage cluster.
    Nfs Ionoscloud.ClusterNfs
    Connections ClusterConnectionsArgs
    The network connections for the Network File Storage Cluster.
    Size int
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    Location string
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    Name string
    The name of the Network File Storage cluster.
    Nfs ClusterNfsArgs
    connections ClusterConnections
    The network connections for the Network File Storage Cluster.
    size Integer
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    location String
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    name String
    The name of the Network File Storage cluster.
    nfs ClusterNfs
    connections ClusterConnections
    The network connections for the Network File Storage Cluster.
    size number
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    location string
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    name string
    The name of the Network File Storage cluster.
    nfs ClusterNfs
    connections ClusterConnectionsArgs
    The network connections for the Network File Storage Cluster.
    size int
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    location str
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    name str
    The name of the Network File Storage cluster.
    nfs ClusterNfsArgs
    connections Property Map
    The network connections for the Network File Storage Cluster.
    size Number
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    location String
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    name String
    The name of the Network File Storage cluster.
    nfs Property Map

    Outputs

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

    Get an existing Cluster 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?: ClusterState, opts?: CustomResourceOptions): Cluster
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            connections: Optional[ClusterConnectionsArgs] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            nfs: Optional[ClusterNfsArgs] = None,
            size: Optional[int] = None) -> Cluster
    func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)
    public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)
    public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)
    resources:  _:    type: ionoscloud:nfs:Cluster    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:
    Connections Ionoscloud.ClusterConnections
    The network connections for the Network File Storage Cluster.
    Location string
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    Name string
    The name of the Network File Storage cluster.
    Nfs Ionoscloud.ClusterNfs
    Size int
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    Connections ClusterConnectionsArgs
    The network connections for the Network File Storage Cluster.
    Location string
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    Name string
    The name of the Network File Storage cluster.
    Nfs ClusterNfsArgs
    Size int
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    connections ClusterConnections
    The network connections for the Network File Storage Cluster.
    location String
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    name String
    The name of the Network File Storage cluster.
    nfs ClusterNfs
    size Integer
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    connections ClusterConnections
    The network connections for the Network File Storage Cluster.
    location string
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    name string
    The name of the Network File Storage cluster.
    nfs ClusterNfs
    size number
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    connections ClusterConnectionsArgs
    The network connections for the Network File Storage Cluster.
    location str
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    name str
    The name of the Network File Storage cluster.
    nfs ClusterNfsArgs
    size int
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.
    connections Property Map
    The network connections for the Network File Storage Cluster.
    location String
    The location where the Network File Storage cluster is located. If this is not set and if no value is provided for the IONOS_API_URL env var, the default location will be: de/fra.

    • de/fra - Frankfurt
    • de/txl - Berlin
    name String
    The name of the Network File Storage cluster.
    nfs Property Map
    size Number
    The size of the Network File Storage cluster in TiB. Note that the cluster size cannot be reduced after provisioning. This value determines the billing fees. Default is 2. The minimum value is 2 and the maximum value is 42.

    Supporting Types

    ClusterConnections, ClusterConnectionsArgs

    DatacenterId string
    The ID of the datacenter where the Network File Storage cluster is located.
    IpAddress string
    The IP address and prefix of the Network File Storage cluster. The IP address can be either IPv4 or IPv6. The IP address has to be given with CIDR notation.
    Lan string

    The Private LAN to which the Network File Storage cluster must be connected.

    ⚠ NOTE: IONOS_API_URL_NFS can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    DatacenterId string
    The ID of the datacenter where the Network File Storage cluster is located.
    IpAddress string
    The IP address and prefix of the Network File Storage cluster. The IP address can be either IPv4 or IPv6. The IP address has to be given with CIDR notation.
    Lan string

    The Private LAN to which the Network File Storage cluster must be connected.

    ⚠ NOTE: IONOS_API_URL_NFS can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    datacenterId String
    The ID of the datacenter where the Network File Storage cluster is located.
    ipAddress String
    The IP address and prefix of the Network File Storage cluster. The IP address can be either IPv4 or IPv6. The IP address has to be given with CIDR notation.
    lan String

    The Private LAN to which the Network File Storage cluster must be connected.

    ⚠ NOTE: IONOS_API_URL_NFS can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    datacenterId string
    The ID of the datacenter where the Network File Storage cluster is located.
    ipAddress string
    The IP address and prefix of the Network File Storage cluster. The IP address can be either IPv4 or IPv6. The IP address has to be given with CIDR notation.
    lan string

    The Private LAN to which the Network File Storage cluster must be connected.

    ⚠ NOTE: IONOS_API_URL_NFS can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    datacenter_id str
    The ID of the datacenter where the Network File Storage cluster is located.
    ip_address str
    The IP address and prefix of the Network File Storage cluster. The IP address can be either IPv4 or IPv6. The IP address has to be given with CIDR notation.
    lan str

    The Private LAN to which the Network File Storage cluster must be connected.

    ⚠ NOTE: IONOS_API_URL_NFS can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    datacenterId String
    The ID of the datacenter where the Network File Storage cluster is located.
    ipAddress String
    The IP address and prefix of the Network File Storage cluster. The IP address can be either IPv4 or IPv6. The IP address has to be given with CIDR notation.
    lan String

    The Private LAN to which the Network File Storage cluster must be connected.

    ⚠ NOTE: IONOS_API_URL_NFS can be used to set a custom API URL for the resource. location field needs to be empty, otherwise it will override the custom API URL. Setting endpoint or IONOS_API_URL does not have any effect.

    ClusterNfs, ClusterNfsArgs

    MinVersion string
    The minimum supported version of the NFS cluster. Supported values: 4.2. Default is 4.2.
    MinVersion string
    The minimum supported version of the NFS cluster. Supported values: 4.2. Default is 4.2.
    minVersion String
    The minimum supported version of the NFS cluster. Supported values: 4.2. Default is 4.2.
    minVersion string
    The minimum supported version of the NFS cluster. Supported values: 4.2. Default is 4.2.
    min_version str
    The minimum supported version of the NFS cluster. Supported values: 4.2. Default is 4.2.
    minVersion String
    The minimum supported version of the NFS cluster. Supported values: 4.2. Default is 4.2.

    Import

    A Network File Storage Cluster resource can be imported using its location and resource id:

    $ pulumi import ionoscloud:nfs/cluster:Cluster name location:uuid
    

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

    Package Details

    Repository
    ionoscloud ionos-cloud/pulumi-ionoscloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the ionoscloud Terraform Provider.
    ionoscloud logo
    IonosCloud v0.2.2 published on Monday, May 12, 2025 by ionos-cloud