1. Packages
  2. Ionoscloud Provider
  3. API Docs
  4. CubeServer
ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud

ionoscloud.CubeServer

Explore with Pulumi AI

ionoscloud logo
ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud

    A Cube is a Virtual Machine (VM) with an attached NVMe Volume. You can use each newly created Cube as a new VM, either standalone or in combination with other IONOS Cloud products.

    Check out Configuration templates

    Example Usage

    This resource will create an operational server. After this section completes, the provisioner can be called.

    CUBE Server

    import * as pulumi from "@pulumi/pulumi";
    import * as ionoscloud from "@pulumi/ionoscloud";
    import * as random from "@pulumi/random";
    
    const exampleTemplate = ionoscloud.getTemplate({
        name: "Basic Cube XS",
    });
    const exampleDatacenter = new ionoscloud.Datacenter("exampleDatacenter", {location: "de/txl"});
    const exampleLan = new ionoscloud.Lan("exampleLan", {
        datacenterId: exampleDatacenter.datacenterId,
        "public": true,
    });
    const serverImagePassword = new random.index.Random_password("serverImagePassword", {
        length: 16,
        special: false,
    });
    const exampleCubeServer = new ionoscloud.CubeServer("exampleCubeServer", {
        availabilityZone: "ZONE_2",
        imageName: "ubuntu:latest",
        templateUuid: exampleTemplate.then(exampleTemplate => exampleTemplate.id),
        imagePassword: serverImagePassword.result,
        datacenterId: exampleDatacenter.datacenterId,
        volume: {
            name: "Volume Example",
            licenceType: "LINUX",
            diskType: "DAS",
        },
        nic: {
            lan: exampleLan.lanId,
            name: "Nic Example",
            dhcp: true,
            firewallActive: true,
        },
    });
    
    import pulumi
    import pulumi_ionoscloud as ionoscloud
    import pulumi_random as random
    
    example_template = ionoscloud.get_template(name="Basic Cube XS")
    example_datacenter = ionoscloud.Datacenter("exampleDatacenter", location="de/txl")
    example_lan = ionoscloud.Lan("exampleLan",
        datacenter_id=example_datacenter.datacenter_id,
        public=True)
    server_image_password = random.index.Random_password("serverImagePassword",
        length=16,
        special=False)
    example_cube_server = ionoscloud.CubeServer("exampleCubeServer",
        availability_zone="ZONE_2",
        image_name="ubuntu:latest",
        template_uuid=example_template.id,
        image_password=server_image_password["result"],
        datacenter_id=example_datacenter.datacenter_id,
        volume={
            "name": "Volume Example",
            "licence_type": "LINUX",
            "disk_type": "DAS",
        },
        nic={
            "lan": example_lan.lan_id,
            "name": "Nic Example",
            "dhcp": True,
            "firewall_active": True,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-random/sdk/go/random"
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleTemplate, err := ionoscloud.GetTemplate(ctx, &ionoscloud.GetTemplateArgs{
    			Name: pulumi.StringRef("Basic Cube XS"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		exampleDatacenter, err := ionoscloud.NewDatacenter(ctx, "exampleDatacenter", &ionoscloud.DatacenterArgs{
    			Location: pulumi.String("de/txl"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleLan, err := ionoscloud.NewLan(ctx, "exampleLan", &ionoscloud.LanArgs{
    			DatacenterId: exampleDatacenter.DatacenterId,
    			Public:       pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		serverImagePassword, err := random.NewRandom_password(ctx, "serverImagePassword", &random.Random_passwordArgs{
    			Length:  16,
    			Special: false,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ionoscloud.NewCubeServer(ctx, "exampleCubeServer", &ionoscloud.CubeServerArgs{
    			AvailabilityZone: pulumi.String("ZONE_2"),
    			ImageName:        pulumi.String("ubuntu:latest"),
    			TemplateUuid:     pulumi.String(exampleTemplate.Id),
    			ImagePassword:    serverImagePassword.Result,
    			DatacenterId:     exampleDatacenter.DatacenterId,
    			Volume: &ionoscloud.CubeServerVolumeArgs{
    				Name:        pulumi.String("Volume Example"),
    				LicenceType: pulumi.String("LINUX"),
    				DiskType:    pulumi.String("DAS"),
    			},
    			Nic: &ionoscloud.CubeServerNicArgs{
    				Lan:            exampleLan.LanId,
    				Name:           pulumi.String("Nic Example"),
    				Dhcp:           pulumi.Bool(true),
    				FirewallActive: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ionoscloud = Pulumi.Ionoscloud;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleTemplate = Ionoscloud.GetTemplate.Invoke(new()
        {
            Name = "Basic Cube XS",
        });
    
        var exampleDatacenter = new Ionoscloud.Datacenter("exampleDatacenter", new()
        {
            Location = "de/txl",
        });
    
        var exampleLan = new Ionoscloud.Lan("exampleLan", new()
        {
            DatacenterId = exampleDatacenter.DatacenterId,
            Public = true,
        });
    
        var serverImagePassword = new Random.Index.Random_password("serverImagePassword", new()
        {
            Length = 16,
            Special = false,
        });
    
        var exampleCubeServer = new Ionoscloud.CubeServer("exampleCubeServer", new()
        {
            AvailabilityZone = "ZONE_2",
            ImageName = "ubuntu:latest",
            TemplateUuid = exampleTemplate.Apply(getTemplateResult => getTemplateResult.Id),
            ImagePassword = serverImagePassword.Result,
            DatacenterId = exampleDatacenter.DatacenterId,
            Volume = new Ionoscloud.Inputs.CubeServerVolumeArgs
            {
                Name = "Volume Example",
                LicenceType = "LINUX",
                DiskType = "DAS",
            },
            Nic = new Ionoscloud.Inputs.CubeServerNicArgs
            {
                Lan = exampleLan.LanId,
                Name = "Nic Example",
                Dhcp = true,
                FirewallActive = true,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ionoscloud.IonoscloudFunctions;
    import com.pulumi.ionoscloud.inputs.GetTemplateArgs;
    import com.pulumi.ionoscloud.Datacenter;
    import com.pulumi.ionoscloud.DatacenterArgs;
    import com.pulumi.ionoscloud.Lan;
    import com.pulumi.ionoscloud.LanArgs;
    import com.pulumi.random.random_password;
    import com.pulumi.random.Random_passwordArgs;
    import com.pulumi.ionoscloud.CubeServer;
    import com.pulumi.ionoscloud.CubeServerArgs;
    import com.pulumi.ionoscloud.inputs.CubeServerVolumeArgs;
    import com.pulumi.ionoscloud.inputs.CubeServerNicArgs;
    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 exampleTemplate = IonoscloudFunctions.getTemplate(GetTemplateArgs.builder()
                .name("Basic Cube XS")
                .build());
    
            var exampleDatacenter = new Datacenter("exampleDatacenter", DatacenterArgs.builder()
                .location("de/txl")
                .build());
    
            var exampleLan = new Lan("exampleLan", LanArgs.builder()
                .datacenterId(exampleDatacenter.datacenterId())
                .public_(true)
                .build());
    
            var serverImagePassword = new Random_password("serverImagePassword", Random_passwordArgs.builder()
                .length(16)
                .special(false)
                .build());
    
            var exampleCubeServer = new CubeServer("exampleCubeServer", CubeServerArgs.builder()
                .availabilityZone("ZONE_2")
                .imageName("ubuntu:latest")
                .templateUuid(exampleTemplate.applyValue(getTemplateResult -> getTemplateResult.id()))
                .imagePassword(serverImagePassword.result())
                .datacenterId(exampleDatacenter.datacenterId())
                .volume(CubeServerVolumeArgs.builder()
                    .name("Volume Example")
                    .licenceType("LINUX")
                    .diskType("DAS")
                    .build())
                .nic(CubeServerNicArgs.builder()
                    .lan(exampleLan.lanId())
                    .name("Nic Example")
                    .dhcp(true)
                    .firewallActive(true)
                    .build())
                .build());
    
        }
    }
    
    resources:
      exampleDatacenter:
        type: ionoscloud:Datacenter
        properties:
          location: de/txl
      exampleLan:
        type: ionoscloud:Lan
        properties:
          datacenterId: ${exampleDatacenter.datacenterId}
          public: true
      exampleCubeServer:
        type: ionoscloud:CubeServer
        properties:
          availabilityZone: ZONE_2
          imageName: ubuntu:latest
          templateUuid: ${exampleTemplate.id}
          imagePassword: ${serverImagePassword.result}
          datacenterId: ${exampleDatacenter.datacenterId}
          volume:
            name: Volume Example
            licenceType: LINUX
            diskType: DAS
          nic:
            lan: ${exampleLan.lanId}
            name: Nic Example
            dhcp: true
            firewallActive: true
      serverImagePassword:
        type: random:random_password
        properties:
          length: 16
          special: false
    variables:
      exampleTemplate:
        fn::invoke:
          function: ionoscloud:getTemplate
          arguments:
            name: Basic Cube XS
    

    Create CubeServer Resource

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

    Constructor syntax

    new CubeServer(name: string, args: CubeServerArgs, opts?: CustomResourceOptions);
    @overload
    def CubeServer(resource_name: str,
                   args: CubeServerArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def CubeServer(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   datacenter_id: Optional[str] = None,
                   volume: Optional[CubeServerVolumeArgs] = None,
                   template_uuid: Optional[str] = None,
                   nic: Optional[CubeServerNicArgs] = None,
                   image_password: Optional[str] = None,
                   cube_server_id: Optional[str] = None,
                   hostname: Optional[str] = None,
                   image_name: Optional[str] = None,
                   allow_replace: Optional[bool] = None,
                   name: Optional[str] = None,
                   boot_image: Optional[str] = None,
                   security_groups_ids: Optional[Sequence[str]] = None,
                   ssh_key_paths: Optional[Sequence[str]] = None,
                   boot_cdrom: Optional[str] = None,
                   timeouts: Optional[CubeServerTimeoutsArgs] = None,
                   vm_state: Optional[str] = None,
                   availability_zone: Optional[str] = None)
    func NewCubeServer(ctx *Context, name string, args CubeServerArgs, opts ...ResourceOption) (*CubeServer, error)
    public CubeServer(string name, CubeServerArgs args, CustomResourceOptions? opts = null)
    public CubeServer(String name, CubeServerArgs args)
    public CubeServer(String name, CubeServerArgs args, CustomResourceOptions options)
    
    type: ionoscloud:CubeServer
    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 CubeServerArgs
    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 CubeServerArgs
    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 CubeServerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CubeServerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CubeServerArgs
    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 cubeServerResource = new Ionoscloud.CubeServer("cubeServerResource", new()
    {
        DatacenterId = "string",
        Volume = new Ionoscloud.Inputs.CubeServerVolumeArgs
        {
            DiskType = "string",
            CpuHotPlug = false,
            LicenceType = "string",
            Bus = "string",
            AvailabilityZone = "string",
            DeviceNumber = 0,
            DiscVirtioHotPlug = false,
            DiscVirtioHotUnplug = false,
            BackupUnitId = "string",
            BootServer = "string",
            Name = "string",
            NicHotPlug = false,
            NicHotUnplug = false,
            PciSlot = 0,
            RamHotPlug = false,
            UserData = "string",
        },
        TemplateUuid = "string",
        Nic = new Ionoscloud.Inputs.CubeServerNicArgs
        {
            Lan = 0,
            Firewall = new Ionoscloud.Inputs.CubeServerNicFirewallArgs
            {
                Protocol = "string",
                IcmpCode = "string",
                IcmpType = "string",
                Name = "string",
                PortRangeEnd = 0,
                PortRangeStart = 0,
                SourceIp = "string",
                SourceMac = "string",
                TargetIp = "string",
                Type = "string",
            },
            Dhcpv6 = false,
            DeviceNumber = 0,
            FirewallActive = false,
            FirewallType = "string",
            Ips = new[]
            {
                "string",
            },
            Ipv6CidrBlock = "string",
            Ipv6Ips = new[]
            {
                "string",
            },
            Dhcp = false,
            Mac = "string",
            Name = "string",
            PciSlot = 0,
            SecurityGroupsIds = new[]
            {
                "string",
            },
        },
        ImagePassword = "string",
        CubeServerId = "string",
        Hostname = "string",
        ImageName = "string",
        AllowReplace = false,
        Name = "string",
        BootImage = "string",
        SecurityGroupsIds = new[]
        {
            "string",
        },
        SshKeyPaths = new[]
        {
            "string",
        },
        Timeouts = new Ionoscloud.Inputs.CubeServerTimeoutsArgs
        {
            Create = "string",
            Default = "string",
            Delete = "string",
            Update = "string",
        },
        VmState = "string",
        AvailabilityZone = "string",
    });
    
    example, err := ionoscloud.NewCubeServer(ctx, "cubeServerResource", &ionoscloud.CubeServerArgs{
    	DatacenterId: pulumi.String("string"),
    	Volume: &ionoscloud.CubeServerVolumeArgs{
    		DiskType:            pulumi.String("string"),
    		CpuHotPlug:          pulumi.Bool(false),
    		LicenceType:         pulumi.String("string"),
    		Bus:                 pulumi.String("string"),
    		AvailabilityZone:    pulumi.String("string"),
    		DeviceNumber:        pulumi.Float64(0),
    		DiscVirtioHotPlug:   pulumi.Bool(false),
    		DiscVirtioHotUnplug: pulumi.Bool(false),
    		BackupUnitId:        pulumi.String("string"),
    		BootServer:          pulumi.String("string"),
    		Name:                pulumi.String("string"),
    		NicHotPlug:          pulumi.Bool(false),
    		NicHotUnplug:        pulumi.Bool(false),
    		PciSlot:             pulumi.Float64(0),
    		RamHotPlug:          pulumi.Bool(false),
    		UserData:            pulumi.String("string"),
    	},
    	TemplateUuid: pulumi.String("string"),
    	Nic: &ionoscloud.CubeServerNicArgs{
    		Lan: pulumi.Float64(0),
    		Firewall: &ionoscloud.CubeServerNicFirewallArgs{
    			Protocol:       pulumi.String("string"),
    			IcmpCode:       pulumi.String("string"),
    			IcmpType:       pulumi.String("string"),
    			Name:           pulumi.String("string"),
    			PortRangeEnd:   pulumi.Float64(0),
    			PortRangeStart: pulumi.Float64(0),
    			SourceIp:       pulumi.String("string"),
    			SourceMac:      pulumi.String("string"),
    			TargetIp:       pulumi.String("string"),
    			Type:           pulumi.String("string"),
    		},
    		Dhcpv6:         pulumi.Bool(false),
    		DeviceNumber:   pulumi.Float64(0),
    		FirewallActive: pulumi.Bool(false),
    		FirewallType:   pulumi.String("string"),
    		Ips: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Ipv6CidrBlock: pulumi.String("string"),
    		Ipv6Ips: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Dhcp:    pulumi.Bool(false),
    		Mac:     pulumi.String("string"),
    		Name:    pulumi.String("string"),
    		PciSlot: pulumi.Float64(0),
    		SecurityGroupsIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	ImagePassword: pulumi.String("string"),
    	CubeServerId:  pulumi.String("string"),
    	Hostname:      pulumi.String("string"),
    	ImageName:     pulumi.String("string"),
    	AllowReplace:  pulumi.Bool(false),
    	Name:          pulumi.String("string"),
    	BootImage:     pulumi.String("string"),
    	SecurityGroupsIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	SshKeyPaths: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Timeouts: &ionoscloud.CubeServerTimeoutsArgs{
    		Create:  pulumi.String("string"),
    		Default: pulumi.String("string"),
    		Delete:  pulumi.String("string"),
    		Update:  pulumi.String("string"),
    	},
    	VmState:          pulumi.String("string"),
    	AvailabilityZone: pulumi.String("string"),
    })
    
    var cubeServerResource = new CubeServer("cubeServerResource", CubeServerArgs.builder()
        .datacenterId("string")
        .volume(CubeServerVolumeArgs.builder()
            .diskType("string")
            .cpuHotPlug(false)
            .licenceType("string")
            .bus("string")
            .availabilityZone("string")
            .deviceNumber(0)
            .discVirtioHotPlug(false)
            .discVirtioHotUnplug(false)
            .backupUnitId("string")
            .bootServer("string")
            .name("string")
            .nicHotPlug(false)
            .nicHotUnplug(false)
            .pciSlot(0)
            .ramHotPlug(false)
            .userData("string")
            .build())
        .templateUuid("string")
        .nic(CubeServerNicArgs.builder()
            .lan(0)
            .firewall(CubeServerNicFirewallArgs.builder()
                .protocol("string")
                .icmpCode("string")
                .icmpType("string")
                .name("string")
                .portRangeEnd(0)
                .portRangeStart(0)
                .sourceIp("string")
                .sourceMac("string")
                .targetIp("string")
                .type("string")
                .build())
            .dhcpv6(false)
            .deviceNumber(0)
            .firewallActive(false)
            .firewallType("string")
            .ips("string")
            .ipv6CidrBlock("string")
            .ipv6Ips("string")
            .dhcp(false)
            .mac("string")
            .name("string")
            .pciSlot(0)
            .securityGroupsIds("string")
            .build())
        .imagePassword("string")
        .cubeServerId("string")
        .hostname("string")
        .imageName("string")
        .allowReplace(false)
        .name("string")
        .bootImage("string")
        .securityGroupsIds("string")
        .sshKeyPaths("string")
        .timeouts(CubeServerTimeoutsArgs.builder()
            .create("string")
            .default_("string")
            .delete("string")
            .update("string")
            .build())
        .vmState("string")
        .availabilityZone("string")
        .build());
    
    cube_server_resource = ionoscloud.CubeServer("cubeServerResource",
        datacenter_id="string",
        volume={
            "disk_type": "string",
            "cpu_hot_plug": False,
            "licence_type": "string",
            "bus": "string",
            "availability_zone": "string",
            "device_number": 0,
            "disc_virtio_hot_plug": False,
            "disc_virtio_hot_unplug": False,
            "backup_unit_id": "string",
            "boot_server": "string",
            "name": "string",
            "nic_hot_plug": False,
            "nic_hot_unplug": False,
            "pci_slot": 0,
            "ram_hot_plug": False,
            "user_data": "string",
        },
        template_uuid="string",
        nic={
            "lan": 0,
            "firewall": {
                "protocol": "string",
                "icmp_code": "string",
                "icmp_type": "string",
                "name": "string",
                "port_range_end": 0,
                "port_range_start": 0,
                "source_ip": "string",
                "source_mac": "string",
                "target_ip": "string",
                "type": "string",
            },
            "dhcpv6": False,
            "device_number": 0,
            "firewall_active": False,
            "firewall_type": "string",
            "ips": ["string"],
            "ipv6_cidr_block": "string",
            "ipv6_ips": ["string"],
            "dhcp": False,
            "mac": "string",
            "name": "string",
            "pci_slot": 0,
            "security_groups_ids": ["string"],
        },
        image_password="string",
        cube_server_id="string",
        hostname="string",
        image_name="string",
        allow_replace=False,
        name="string",
        boot_image="string",
        security_groups_ids=["string"],
        ssh_key_paths=["string"],
        timeouts={
            "create": "string",
            "default": "string",
            "delete": "string",
            "update": "string",
        },
        vm_state="string",
        availability_zone="string")
    
    const cubeServerResource = new ionoscloud.CubeServer("cubeServerResource", {
        datacenterId: "string",
        volume: {
            diskType: "string",
            cpuHotPlug: false,
            licenceType: "string",
            bus: "string",
            availabilityZone: "string",
            deviceNumber: 0,
            discVirtioHotPlug: false,
            discVirtioHotUnplug: false,
            backupUnitId: "string",
            bootServer: "string",
            name: "string",
            nicHotPlug: false,
            nicHotUnplug: false,
            pciSlot: 0,
            ramHotPlug: false,
            userData: "string",
        },
        templateUuid: "string",
        nic: {
            lan: 0,
            firewall: {
                protocol: "string",
                icmpCode: "string",
                icmpType: "string",
                name: "string",
                portRangeEnd: 0,
                portRangeStart: 0,
                sourceIp: "string",
                sourceMac: "string",
                targetIp: "string",
                type: "string",
            },
            dhcpv6: false,
            deviceNumber: 0,
            firewallActive: false,
            firewallType: "string",
            ips: ["string"],
            ipv6CidrBlock: "string",
            ipv6Ips: ["string"],
            dhcp: false,
            mac: "string",
            name: "string",
            pciSlot: 0,
            securityGroupsIds: ["string"],
        },
        imagePassword: "string",
        cubeServerId: "string",
        hostname: "string",
        imageName: "string",
        allowReplace: false,
        name: "string",
        bootImage: "string",
        securityGroupsIds: ["string"],
        sshKeyPaths: ["string"],
        timeouts: {
            create: "string",
            "default": "string",
            "delete": "string",
            update: "string",
        },
        vmState: "string",
        availabilityZone: "string",
    });
    
    type: ionoscloud:CubeServer
    properties:
        allowReplace: false
        availabilityZone: string
        bootImage: string
        cubeServerId: string
        datacenterId: string
        hostname: string
        imageName: string
        imagePassword: string
        name: string
        nic:
            deviceNumber: 0
            dhcp: false
            dhcpv6: false
            firewall:
                icmpCode: string
                icmpType: string
                name: string
                portRangeEnd: 0
                portRangeStart: 0
                protocol: string
                sourceIp: string
                sourceMac: string
                targetIp: string
                type: string
            firewallActive: false
            firewallType: string
            ips:
                - string
            ipv6CidrBlock: string
            ipv6Ips:
                - string
            lan: 0
            mac: string
            name: string
            pciSlot: 0
            securityGroupsIds:
                - string
        securityGroupsIds:
            - string
        sshKeyPaths:
            - string
        templateUuid: string
        timeouts:
            create: string
            default: string
            delete: string
            update: string
        vmState: string
        volume:
            availabilityZone: string
            backupUnitId: string
            bootServer: string
            bus: string
            cpuHotPlug: false
            deviceNumber: 0
            discVirtioHotPlug: false
            discVirtioHotUnplug: false
            diskType: string
            licenceType: string
            name: string
            nicHotPlug: false
            nicHotUnplug: false
            pciSlot: 0
            ramHotPlug: false
            userData: string
    

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

    DatacenterId string
    [string] The ID of a Virtual Data Center.
    Nic CubeServerNic
    See the Nic section.
    TemplateUuid string
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    Volume CubeServerVolume
    See the Volume section.
    AllowReplace bool

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    AvailabilityZone string
    [string] The availability zone in which the server should exist. This property is immutable.
    BootCdrom string
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    BootImage string
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    CubeServerId string
    Hostname string
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    ImageName string
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    ImagePassword string
    [string] Required if ssh_key_path is not provided.
    Name string
    [string] The name of the server.
    SecurityGroupsIds List<string>
    The list of Security Group IDs for the resource.
    SshKeyPaths List<string>
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    Timeouts CubeServerTimeouts
    VmState string
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    DatacenterId string
    [string] The ID of a Virtual Data Center.
    Nic CubeServerNicArgs
    See the Nic section.
    TemplateUuid string
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    Volume CubeServerVolumeArgs
    See the Volume section.
    AllowReplace bool

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    AvailabilityZone string
    [string] The availability zone in which the server should exist. This property is immutable.
    BootCdrom string
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    BootImage string
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    CubeServerId string
    Hostname string
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    ImageName string
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    ImagePassword string
    [string] Required if ssh_key_path is not provided.
    Name string
    [string] The name of the server.
    SecurityGroupsIds []string
    The list of Security Group IDs for the resource.
    SshKeyPaths []string
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    Timeouts CubeServerTimeoutsArgs
    VmState string
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    datacenterId String
    [string] The ID of a Virtual Data Center.
    nic CubeServerNic
    See the Nic section.
    templateUuid String
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    volume CubeServerVolume
    See the Volume section.
    allowReplace Boolean

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    availabilityZone String
    [string] The availability zone in which the server should exist. This property is immutable.
    bootCdrom String
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    bootImage String
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    cubeServerId String
    hostname String
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    imageName String
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    imagePassword String
    [string] Required if ssh_key_path is not provided.
    name String
    [string] The name of the server.
    securityGroupsIds List<String>
    The list of Security Group IDs for the resource.
    sshKeyPaths List<String>
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    timeouts CubeServerTimeouts
    vmState String
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    datacenterId string
    [string] The ID of a Virtual Data Center.
    nic CubeServerNic
    See the Nic section.
    templateUuid string
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    volume CubeServerVolume
    See the Volume section.
    allowReplace boolean

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    availabilityZone string
    [string] The availability zone in which the server should exist. This property is immutable.
    bootCdrom string
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    bootImage string
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    cubeServerId string
    hostname string
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    imageName string
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    imagePassword string
    [string] Required if ssh_key_path is not provided.
    name string
    [string] The name of the server.
    securityGroupsIds string[]
    The list of Security Group IDs for the resource.
    sshKeyPaths string[]
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    timeouts CubeServerTimeouts
    vmState string
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    datacenter_id str
    [string] The ID of a Virtual Data Center.
    nic CubeServerNicArgs
    See the Nic section.
    template_uuid str
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    volume CubeServerVolumeArgs
    See the Volume section.
    allow_replace bool

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    availability_zone str
    [string] The availability zone in which the server should exist. This property is immutable.
    boot_cdrom str
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    boot_image str
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    cube_server_id str
    hostname str
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    image_name str
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    image_password str
    [string] Required if ssh_key_path is not provided.
    name str
    [string] The name of the server.
    security_groups_ids Sequence[str]
    The list of Security Group IDs for the resource.
    ssh_key_paths Sequence[str]
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    timeouts CubeServerTimeoutsArgs
    vm_state str
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    datacenterId String
    [string] The ID of a Virtual Data Center.
    nic Property Map
    See the Nic section.
    templateUuid String
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    volume Property Map
    See the Volume section.
    allowReplace Boolean

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    availabilityZone String
    [string] The availability zone in which the server should exist. This property is immutable.
    bootCdrom String
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    bootImage String
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    cubeServerId String
    hostname String
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    imageName String
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    imagePassword String
    [string] Required if ssh_key_path is not provided.
    name String
    [string] The name of the server.
    securityGroupsIds List<String>
    The list of Security Group IDs for the resource.
    sshKeyPaths List<String>
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    timeouts Property Map
    vmState String
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.

    Outputs

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

    BootVolume string
    The associated boot volume.
    FirewallruleId string
    The associated firewall rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    InlineVolumeIds List<string>
    A list that contains the IDs for the volumes defined inside the cube server resource.
    PrimaryIp string
    The associated IP address.
    PrimaryNic string
    The associated NIC.
    BootVolume string
    The associated boot volume.
    FirewallruleId string
    The associated firewall rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    InlineVolumeIds []string
    A list that contains the IDs for the volumes defined inside the cube server resource.
    PrimaryIp string
    The associated IP address.
    PrimaryNic string
    The associated NIC.
    bootVolume String
    The associated boot volume.
    firewallruleId String
    The associated firewall rule.
    id String
    The provider-assigned unique ID for this managed resource.
    inlineVolumeIds List<String>
    A list that contains the IDs for the volumes defined inside the cube server resource.
    primaryIp String
    The associated IP address.
    primaryNic String
    The associated NIC.
    bootVolume string
    The associated boot volume.
    firewallruleId string
    The associated firewall rule.
    id string
    The provider-assigned unique ID for this managed resource.
    inlineVolumeIds string[]
    A list that contains the IDs for the volumes defined inside the cube server resource.
    primaryIp string
    The associated IP address.
    primaryNic string
    The associated NIC.
    boot_volume str
    The associated boot volume.
    firewallrule_id str
    The associated firewall rule.
    id str
    The provider-assigned unique ID for this managed resource.
    inline_volume_ids Sequence[str]
    A list that contains the IDs for the volumes defined inside the cube server resource.
    primary_ip str
    The associated IP address.
    primary_nic str
    The associated NIC.
    bootVolume String
    The associated boot volume.
    firewallruleId String
    The associated firewall rule.
    id String
    The provider-assigned unique ID for this managed resource.
    inlineVolumeIds List<String>
    A list that contains the IDs for the volumes defined inside the cube server resource.
    primaryIp String
    The associated IP address.
    primaryNic String
    The associated NIC.

    Look up Existing CubeServer Resource

    Get an existing CubeServer 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?: CubeServerState, opts?: CustomResourceOptions): CubeServer
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            allow_replace: Optional[bool] = None,
            availability_zone: Optional[str] = None,
            boot_cdrom: Optional[str] = None,
            boot_image: Optional[str] = None,
            boot_volume: Optional[str] = None,
            cube_server_id: Optional[str] = None,
            datacenter_id: Optional[str] = None,
            firewallrule_id: Optional[str] = None,
            hostname: Optional[str] = None,
            image_name: Optional[str] = None,
            image_password: Optional[str] = None,
            inline_volume_ids: Optional[Sequence[str]] = None,
            name: Optional[str] = None,
            nic: Optional[CubeServerNicArgs] = None,
            primary_ip: Optional[str] = None,
            primary_nic: Optional[str] = None,
            security_groups_ids: Optional[Sequence[str]] = None,
            ssh_key_paths: Optional[Sequence[str]] = None,
            template_uuid: Optional[str] = None,
            timeouts: Optional[CubeServerTimeoutsArgs] = None,
            vm_state: Optional[str] = None,
            volume: Optional[CubeServerVolumeArgs] = None) -> CubeServer
    func GetCubeServer(ctx *Context, name string, id IDInput, state *CubeServerState, opts ...ResourceOption) (*CubeServer, error)
    public static CubeServer Get(string name, Input<string> id, CubeServerState? state, CustomResourceOptions? opts = null)
    public static CubeServer get(String name, Output<String> id, CubeServerState state, CustomResourceOptions options)
    resources:  _:    type: ionoscloud:CubeServer    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:
    AllowReplace bool

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    AvailabilityZone string
    [string] The availability zone in which the server should exist. This property is immutable.
    BootCdrom string
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    BootImage string
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    BootVolume string
    The associated boot volume.
    CubeServerId string
    DatacenterId string
    [string] The ID of a Virtual Data Center.
    FirewallruleId string
    The associated firewall rule.
    Hostname string
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    ImageName string
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    ImagePassword string
    [string] Required if ssh_key_path is not provided.
    InlineVolumeIds List<string>
    A list that contains the IDs for the volumes defined inside the cube server resource.
    Name string
    [string] The name of the server.
    Nic CubeServerNic
    See the Nic section.
    PrimaryIp string
    The associated IP address.
    PrimaryNic string
    The associated NIC.
    SecurityGroupsIds List<string>
    The list of Security Group IDs for the resource.
    SshKeyPaths List<string>
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    TemplateUuid string
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    Timeouts CubeServerTimeouts
    VmState string
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    Volume CubeServerVolume
    See the Volume section.
    AllowReplace bool

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    AvailabilityZone string
    [string] The availability zone in which the server should exist. This property is immutable.
    BootCdrom string
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    BootImage string
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    BootVolume string
    The associated boot volume.
    CubeServerId string
    DatacenterId string
    [string] The ID of a Virtual Data Center.
    FirewallruleId string
    The associated firewall rule.
    Hostname string
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    ImageName string
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    ImagePassword string
    [string] Required if ssh_key_path is not provided.
    InlineVolumeIds []string
    A list that contains the IDs for the volumes defined inside the cube server resource.
    Name string
    [string] The name of the server.
    Nic CubeServerNicArgs
    See the Nic section.
    PrimaryIp string
    The associated IP address.
    PrimaryNic string
    The associated NIC.
    SecurityGroupsIds []string
    The list of Security Group IDs for the resource.
    SshKeyPaths []string
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    TemplateUuid string
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    Timeouts CubeServerTimeoutsArgs
    VmState string
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    Volume CubeServerVolumeArgs
    See the Volume section.
    allowReplace Boolean

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    availabilityZone String
    [string] The availability zone in which the server should exist. This property is immutable.
    bootCdrom String
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    bootImage String
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    bootVolume String
    The associated boot volume.
    cubeServerId String
    datacenterId String
    [string] The ID of a Virtual Data Center.
    firewallruleId String
    The associated firewall rule.
    hostname String
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    imageName String
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    imagePassword String
    [string] Required if ssh_key_path is not provided.
    inlineVolumeIds List<String>
    A list that contains the IDs for the volumes defined inside the cube server resource.
    name String
    [string] The name of the server.
    nic CubeServerNic
    See the Nic section.
    primaryIp String
    The associated IP address.
    primaryNic String
    The associated NIC.
    securityGroupsIds List<String>
    The list of Security Group IDs for the resource.
    sshKeyPaths List<String>
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    templateUuid String
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    timeouts CubeServerTimeouts
    vmState String
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    volume CubeServerVolume
    See the Volume section.
    allowReplace boolean

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    availabilityZone string
    [string] The availability zone in which the server should exist. This property is immutable.
    bootCdrom string
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    bootImage string
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    bootVolume string
    The associated boot volume.
    cubeServerId string
    datacenterId string
    [string] The ID of a Virtual Data Center.
    firewallruleId string
    The associated firewall rule.
    hostname string
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    imageName string
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    imagePassword string
    [string] Required if ssh_key_path is not provided.
    inlineVolumeIds string[]
    A list that contains the IDs for the volumes defined inside the cube server resource.
    name string
    [string] The name of the server.
    nic CubeServerNic
    See the Nic section.
    primaryIp string
    The associated IP address.
    primaryNic string
    The associated NIC.
    securityGroupsIds string[]
    The list of Security Group IDs for the resource.
    sshKeyPaths string[]
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    templateUuid string
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    timeouts CubeServerTimeouts
    vmState string
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    volume CubeServerVolume
    See the Volume section.
    allow_replace bool

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    availability_zone str
    [string] The availability zone in which the server should exist. This property is immutable.
    boot_cdrom str
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    boot_image str
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    boot_volume str
    The associated boot volume.
    cube_server_id str
    datacenter_id str
    [string] The ID of a Virtual Data Center.
    firewallrule_id str
    The associated firewall rule.
    hostname str
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    image_name str
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    image_password str
    [string] Required if ssh_key_path is not provided.
    inline_volume_ids Sequence[str]
    A list that contains the IDs for the volumes defined inside the cube server resource.
    name str
    [string] The name of the server.
    nic CubeServerNicArgs
    See the Nic section.
    primary_ip str
    The associated IP address.
    primary_nic str
    The associated NIC.
    security_groups_ids Sequence[str]
    The list of Security Group IDs for the resource.
    ssh_key_paths Sequence[str]
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    template_uuid str
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    timeouts CubeServerTimeoutsArgs
    vm_state str
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    volume CubeServerVolumeArgs
    See the Volume section.
    allowReplace Boolean

    [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.

    ⚠️ Warning: allow_replace - lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.

    ⚠ WARNING

    Image_name under volume level is deprecated, please use image_name under server level

    ⚠ WARNING

    For creating a CUBE server, you can not set volume.size argument.

    availabilityZone String
    [string] The availability zone in which the server should exist. This property is immutable.
    bootCdrom String
    DEPRECATED Please refer to ionoscloud.ServerBootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.getImage data source.

    Deprecated: Deprecated

    bootImage String
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    bootVolume String
    The associated boot volume.
    cubeServerId String
    datacenterId String
    [string] The ID of a Virtual Data Center.
    firewallruleId String
    The associated firewall rule.
    hostname String
    (Computed) The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
    imageName String
    [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
    imagePassword String
    [string] Required if ssh_key_path is not provided.
    inlineVolumeIds List<String>
    A list that contains the IDs for the volumes defined inside the cube server resource.
    name String
    [string] The name of the server.
    nic Property Map
    See the Nic section.
    primaryIp String
    The associated IP address.
    primaryNic String
    The associated NIC.
    securityGroupsIds List<String>
    The list of Security Group IDs for the resource.
    sshKeyPaths List<String>
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
    templateUuid String
    [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
    timeouts Property Map
    vmState String
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    volume Property Map
    See the Volume section.

    Supporting Types

    CubeServerNic, CubeServerNicArgs

    Lan double
    DeviceNumber double
    Dhcp bool
    Dhcpv6 bool
    Indicates whether this NIC receives an IPv6 address through DHCP.
    Firewall CubeServerNicFirewall
    FirewallActive bool
    FirewallType string
    Ips List<string>
    Ipv6CidrBlock string
    IPv6 CIDR block assigned to the NIC.
    Ipv6Ips List<string>
    Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
    Mac string
    Name string
    [string] The name of the server.
    PciSlot double
    SecurityGroupsIds List<string>
    The list of Security Group IDs for the resource.
    Lan float64
    DeviceNumber float64
    Dhcp bool
    Dhcpv6 bool
    Indicates whether this NIC receives an IPv6 address through DHCP.
    Firewall CubeServerNicFirewall
    FirewallActive bool
    FirewallType string
    Ips []string
    Ipv6CidrBlock string
    IPv6 CIDR block assigned to the NIC.
    Ipv6Ips []string
    Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
    Mac string
    Name string
    [string] The name of the server.
    PciSlot float64
    SecurityGroupsIds []string
    The list of Security Group IDs for the resource.
    lan Double
    deviceNumber Double
    dhcp Boolean
    dhcpv6 Boolean
    Indicates whether this NIC receives an IPv6 address through DHCP.
    firewall CubeServerNicFirewall
    firewallActive Boolean
    firewallType String
    ips List<String>
    ipv6CidrBlock String
    IPv6 CIDR block assigned to the NIC.
    ipv6Ips List<String>
    Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
    mac String
    name String
    [string] The name of the server.
    pciSlot Double
    securityGroupsIds List<String>
    The list of Security Group IDs for the resource.
    lan number
    deviceNumber number
    dhcp boolean
    dhcpv6 boolean
    Indicates whether this NIC receives an IPv6 address through DHCP.
    firewall CubeServerNicFirewall
    firewallActive boolean
    firewallType string
    ips string[]
    ipv6CidrBlock string
    IPv6 CIDR block assigned to the NIC.
    ipv6Ips string[]
    Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
    mac string
    name string
    [string] The name of the server.
    pciSlot number
    securityGroupsIds string[]
    The list of Security Group IDs for the resource.
    lan float
    device_number float
    dhcp bool
    dhcpv6 bool
    Indicates whether this NIC receives an IPv6 address through DHCP.
    firewall CubeServerNicFirewall
    firewall_active bool
    firewall_type str
    ips Sequence[str]
    ipv6_cidr_block str
    IPv6 CIDR block assigned to the NIC.
    ipv6_ips Sequence[str]
    Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
    mac str
    name str
    [string] The name of the server.
    pci_slot float
    security_groups_ids Sequence[str]
    The list of Security Group IDs for the resource.
    lan Number
    deviceNumber Number
    dhcp Boolean
    dhcpv6 Boolean
    Indicates whether this NIC receives an IPv6 address through DHCP.
    firewall Property Map
    firewallActive Boolean
    firewallType String
    ips List<String>
    ipv6CidrBlock String
    IPv6 CIDR block assigned to the NIC.
    ipv6Ips List<String>
    Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
    mac String
    name String
    [string] The name of the server.
    pciSlot Number
    securityGroupsIds List<String>
    The list of Security Group IDs for the resource.

    CubeServerNicFirewall, CubeServerNicFirewallArgs

    Protocol string
    IcmpCode string
    IcmpType string
    Name string
    [string] The name of the server.
    PortRangeEnd double
    PortRangeStart double
    SourceIp string
    SourceMac string
    TargetIp string
    Type string
    Protocol string
    IcmpCode string
    IcmpType string
    Name string
    [string] The name of the server.
    PortRangeEnd float64
    PortRangeStart float64
    SourceIp string
    SourceMac string
    TargetIp string
    Type string
    protocol String
    icmpCode String
    icmpType String
    name String
    [string] The name of the server.
    portRangeEnd Double
    portRangeStart Double
    sourceIp String
    sourceMac String
    targetIp String
    type String
    protocol string
    icmpCode string
    icmpType string
    name string
    [string] The name of the server.
    portRangeEnd number
    portRangeStart number
    sourceIp string
    sourceMac string
    targetIp string
    type string
    protocol str
    icmp_code str
    icmp_type str
    name str
    [string] The name of the server.
    port_range_end float
    port_range_start float
    source_ip str
    source_mac str
    target_ip str
    type str
    protocol String
    icmpCode String
    icmpType String
    name String
    [string] The name of the server.
    portRangeEnd Number
    portRangeStart Number
    sourceIp String
    sourceMac String
    targetIp String
    type String

    CubeServerTimeouts, CubeServerTimeoutsArgs

    Create string
    Default string
    Delete string
    Update string
    Create string
    Default string
    Delete string
    Update string
    create String
    default_ String
    delete String
    update String
    create string
    default string
    delete string
    update string
    create String
    default String
    delete String
    update String

    CubeServerVolume, CubeServerVolumeArgs

    DiskType string
    AvailabilityZone string
    [string] The availability zone in which the server should exist. This property is immutable.
    BackupUnitId string
    The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
    BootServer string
    The UUID of the attached server.
    Bus string
    CpuHotPlug bool
    DeviceNumber double
    DiscVirtioHotPlug bool
    DiscVirtioHotUnplug bool
    ImagePassword string
    [string] Required if ssh_key_path is not provided.

    Deprecated: Deprecated

    LicenceType string
    [string] Sets the OS type of the server.
    Name string
    [string] The name of the server.
    NicHotPlug bool
    NicHotUnplug bool
    PciSlot double
    RamHotPlug bool
    SshKeyPaths List<string>
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.

    Deprecated: Deprecated

    UserData string
    The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
    DiskType string
    AvailabilityZone string
    [string] The availability zone in which the server should exist. This property is immutable.
    BackupUnitId string
    The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
    BootServer string
    The UUID of the attached server.
    Bus string
    CpuHotPlug bool
    DeviceNumber float64
    DiscVirtioHotPlug bool
    DiscVirtioHotUnplug bool
    ImagePassword string
    [string] Required if ssh_key_path is not provided.

    Deprecated: Deprecated

    LicenceType string
    [string] Sets the OS type of the server.
    Name string
    [string] The name of the server.
    NicHotPlug bool
    NicHotUnplug bool
    PciSlot float64
    RamHotPlug bool
    SshKeyPaths []string
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.

    Deprecated: Deprecated

    UserData string
    The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
    diskType String
    availabilityZone String
    [string] The availability zone in which the server should exist. This property is immutable.
    backupUnitId String
    The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
    bootServer String
    The UUID of the attached server.
    bus String
    cpuHotPlug Boolean
    deviceNumber Double
    discVirtioHotPlug Boolean
    discVirtioHotUnplug Boolean
    imagePassword String
    [string] Required if ssh_key_path is not provided.

    Deprecated: Deprecated

    licenceType String
    [string] Sets the OS type of the server.
    name String
    [string] The name of the server.
    nicHotPlug Boolean
    nicHotUnplug Boolean
    pciSlot Double
    ramHotPlug Boolean
    sshKeyPaths List<String>
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.

    Deprecated: Deprecated

    userData String
    The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
    diskType string
    availabilityZone string
    [string] The availability zone in which the server should exist. This property is immutable.
    backupUnitId string
    The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
    bootServer string
    The UUID of the attached server.
    bus string
    cpuHotPlug boolean
    deviceNumber number
    discVirtioHotPlug boolean
    discVirtioHotUnplug boolean
    imagePassword string
    [string] Required if ssh_key_path is not provided.

    Deprecated: Deprecated

    licenceType string
    [string] Sets the OS type of the server.
    name string
    [string] The name of the server.
    nicHotPlug boolean
    nicHotUnplug boolean
    pciSlot number
    ramHotPlug boolean
    sshKeyPaths string[]
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.

    Deprecated: Deprecated

    userData string
    The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
    disk_type str
    availability_zone str
    [string] The availability zone in which the server should exist. This property is immutable.
    backup_unit_id str
    The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
    boot_server str
    The UUID of the attached server.
    bus str
    cpu_hot_plug bool
    device_number float
    disc_virtio_hot_plug bool
    disc_virtio_hot_unplug bool
    image_password str
    [string] Required if ssh_key_path is not provided.

    Deprecated: Deprecated

    licence_type str
    [string] Sets the OS type of the server.
    name str
    [string] The name of the server.
    nic_hot_plug bool
    nic_hot_unplug bool
    pci_slot float
    ram_hot_plug bool
    ssh_key_paths Sequence[str]
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.

    Deprecated: Deprecated

    user_data str
    The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
    diskType String
    availabilityZone String
    [string] The availability zone in which the server should exist. This property is immutable.
    backupUnitId String
    The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
    bootServer String
    The UUID of the attached server.
    bus String
    cpuHotPlug Boolean
    deviceNumber Number
    discVirtioHotPlug Boolean
    discVirtioHotUnplug Boolean
    imagePassword String
    [string] Required if ssh_key_path is not provided.

    Deprecated: Deprecated

    licenceType String
    [string] Sets the OS type of the server.
    name String
    [string] The name of the server.
    nicHotPlug Boolean
    nicHotUnplug Boolean
    pciSlot Number
    ramHotPlug Boolean
    sshKeyPaths List<String>
    [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.

    Deprecated: Deprecated

    userData String
    The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.

    Import

    Resource Server can be imported using the resource id and the datacenter id, e.g.

    $ pulumi import ionoscloud:index/cubeServer:CubeServer myserver datacenter uuid/server uuid
    

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

    Package Details

    Repository
    ionoscloud ionos-cloud/terraform-provider-ionoscloud
    License
    Notes
    This Pulumi package is based on the ionoscloud Terraform Provider.
    ionoscloud logo
    ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud