1. Packages
  2. Ionoscloud
  3. API Docs
  4. compute
  5. CubeServer
IonosCloud v0.2.3 published on Tuesday, May 13, 2025 by ionos-cloud

ionoscloud.compute.CubeServer

Explore with Pulumi AI

ionoscloud logo
IonosCloud v0.2.3 published on Tuesday, May 13, 2025 by ionos-cloud

    Manages a Cube Server on IonosCloud.

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

    With IPv6 Enabled

    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";
    
    const example = ionoscloud.compute.getTemplate({
        name: "Basic Cube XS",
    });
    const exampleDatacenter = new ionoscloud.compute.Datacenter("example", {
        name: "Datacenter Example",
        location: "de/txl",
    });
    const webserverIpblock = new ionoscloud.compute.IPBlock("webserver_ipblock", {
        location: "de/txl",
        size: 4,
        name: "webserver_ipblock",
    });
    const exampleLan = new ionoscloud.compute.Lan("example", {
        datacenterId: exampleDatacenter.id,
        "public": true,
        name: "Lan Example",
        ipv6CidrBlock: "ipv6_cidr_block_from_dc",
    });
    const serverImagePassword = new random.index.Password("server_image_password", {
        length: 16,
        special: false,
    });
    const exampleCubeServer = new ionoscloud.compute.CubeServer("example", {
        name: "Server Example",
        availabilityZone: "AUTO",
        imageName: "ubuntu:latest",
        templateUuid: example.then(example => example.id),
        imagePassword: serverImagePassword.result,
        datacenterId: exampleDatacenter.id,
        volume: {
            name: "Volume Example",
            licenceType: "LINUX",
            diskType: "DAS",
        },
        nic: {
            lan: exampleLan.id,
            name: "Nic Example",
            dhcp: true,
            ips: [
                webserverIpblock.ips[0],
                webserverIpblock.ips[1],
            ],
            dhcpv6: false,
            ipv6CidrBlock: "ipv6_cidr_block_from_lan",
            ipv6Ips: [
                "ipv6_ip1",
                "ipv6_ip2",
                "ipv6_ip3",
            ],
            firewallActive: true,
        },
    });
    
    import pulumi
    import pulumi_ionoscloud as ionoscloud
    import pulumi_random as random
    
    example = ionoscloud.compute.get_template(name="Basic Cube XS")
    example_datacenter = ionoscloud.compute.Datacenter("example",
        name="Datacenter Example",
        location="de/txl")
    webserver_ipblock = ionoscloud.compute.IPBlock("webserver_ipblock",
        location="de/txl",
        size=4,
        name="webserver_ipblock")
    example_lan = ionoscloud.compute.Lan("example",
        datacenter_id=example_datacenter.id,
        public=True,
        name="Lan Example",
        ipv6_cidr_block="ipv6_cidr_block_from_dc")
    server_image_password = random.index.Password("server_image_password",
        length=16,
        special=False)
    example_cube_server = ionoscloud.compute.CubeServer("example",
        name="Server Example",
        availability_zone="AUTO",
        image_name="ubuntu:latest",
        template_uuid=example.id,
        image_password=server_image_password["result"],
        datacenter_id=example_datacenter.id,
        volume={
            "name": "Volume Example",
            "licence_type": "LINUX",
            "disk_type": "DAS",
        },
        nic={
            "lan": example_lan.id,
            "name": "Nic Example",
            "dhcp": True,
            "ips": [
                webserver_ipblock.ips[0],
                webserver_ipblock.ips[1],
            ],
            "dhcpv6": False,
            "ipv6_cidr_block": "ipv6_cidr_block_from_lan",
            "ipv6_ips": [
                "ipv6_ip1",
                "ipv6_ip2",
                "ipv6_ip3",
            ],
            "firewall_active": True,
        })
    
    package main
    
    import (
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
    	"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 {
    		example, err := compute.GetTemplate(ctx, &compute.GetTemplateArgs{
    			Name: pulumi.StringRef("Basic Cube XS"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		exampleDatacenter, err := compute.NewDatacenter(ctx, "example", &compute.DatacenterArgs{
    			Name:     pulumi.String("Datacenter Example"),
    			Location: pulumi.String("de/txl"),
    		})
    		if err != nil {
    			return err
    		}
    		webserverIpblock, err := compute.NewIPBlock(ctx, "webserver_ipblock", &compute.IPBlockArgs{
    			Location: pulumi.String("de/txl"),
    			Size:     pulumi.Int(4),
    			Name:     pulumi.String("webserver_ipblock"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleLan, err := compute.NewLan(ctx, "example", &compute.LanArgs{
    			DatacenterId:  exampleDatacenter.ID(),
    			Public:        pulumi.Bool(true),
    			Name:          pulumi.String("Lan Example"),
    			Ipv6CidrBlock: pulumi.String("ipv6_cidr_block_from_dc"),
    		})
    		if err != nil {
    			return err
    		}
    		serverImagePassword, err := random.NewPassword(ctx, "server_image_password", &random.PasswordArgs{
    			Length:  16,
    			Special: false,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewCubeServer(ctx, "example", &compute.CubeServerArgs{
    			Name:             pulumi.String("Server Example"),
    			AvailabilityZone: pulumi.String("AUTO"),
    			ImageName:        pulumi.String("ubuntu:latest"),
    			TemplateUuid:     pulumi.String(example.Id),
    			ImagePassword:    serverImagePassword.Result,
    			DatacenterId:     exampleDatacenter.ID(),
    			Volume: &compute.CubeServerVolumeArgs{
    				Name:        pulumi.String("Volume Example"),
    				LicenceType: pulumi.String("LINUX"),
    				DiskType:    pulumi.String("DAS"),
    			},
    			Nic: &compute.CubeServerNicArgs{
    				Lan:  exampleLan.ID(),
    				Name: pulumi.String("Nic Example"),
    				Dhcp: pulumi.Bool(true),
    				Ips: pulumi.StringArray{
    					webserverIpblock.Ips.ApplyT(func(ips []string) (string, error) {
    						return ips[0], nil
    					}).(pulumi.StringOutput),
    					webserverIpblock.Ips.ApplyT(func(ips []string) (string, error) {
    						return ips[1], nil
    					}).(pulumi.StringOutput),
    				},
    				Dhcpv6:        pulumi.Bool(false),
    				Ipv6CidrBlock: pulumi.String("ipv6_cidr_block_from_lan"),
    				Ipv6Ips: pulumi.StringArray{
    					pulumi.String("ipv6_ip1"),
    					pulumi.String("ipv6_ip2"),
    					pulumi.String("ipv6_ip3"),
    				},
    				FirewallActive: pulumi.Bool(true),
    			},
    		})
    		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(() => 
    {
        var example = Ionoscloud.Compute.GetTemplate.Invoke(new()
        {
            Name = "Basic Cube XS",
        });
    
        var exampleDatacenter = new Ionoscloud.Compute.Datacenter("example", new()
        {
            Name = "Datacenter Example",
            Location = "de/txl",
        });
    
        var webserverIpblock = new Ionoscloud.Compute.IPBlock("webserver_ipblock", new()
        {
            Location = "de/txl",
            Size = 4,
            Name = "webserver_ipblock",
        });
    
        var exampleLan = new Ionoscloud.Compute.Lan("example", new()
        {
            DatacenterId = exampleDatacenter.Id,
            Public = true,
            Name = "Lan Example",
            Ipv6CidrBlock = "ipv6_cidr_block_from_dc",
        });
    
        var serverImagePassword = new Random.Index.Password("server_image_password", new()
        {
            Length = 16,
            Special = false,
        });
    
        var exampleCubeServer = new Ionoscloud.Compute.CubeServer("example", new()
        {
            Name = "Server Example",
            AvailabilityZone = "AUTO",
            ImageName = "ubuntu:latest",
            TemplateUuid = example.Apply(getTemplateResult => getTemplateResult.Id),
            ImagePassword = serverImagePassword.Result,
            DatacenterId = exampleDatacenter.Id,
            Volume = new Ionoscloud.Compute.Inputs.CubeServerVolumeArgs
            {
                Name = "Volume Example",
                LicenceType = "LINUX",
                DiskType = "DAS",
            },
            Nic = new Ionoscloud.Compute.Inputs.CubeServerNicArgs
            {
                Lan = exampleLan.Id,
                Name = "Nic Example",
                Dhcp = true,
                Ips = new[]
                {
                    webserverIpblock.Ips.Apply(ips => ips[0]),
                    webserverIpblock.Ips.Apply(ips => ips[1]),
                },
                Dhcpv6 = false,
                Ipv6CidrBlock = "ipv6_cidr_block_from_lan",
                Ipv6Ips = new[]
                {
                    "ipv6_ip1",
                    "ipv6_ip2",
                    "ipv6_ip3",
                },
                FirewallActive = true,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ionoscloud.compute.ComputeFunctions;
    import com.pulumi.ionoscloud.compute.inputs.GetTemplateArgs;
    import com.pulumi.ionoscloud.compute.Datacenter;
    import com.pulumi.ionoscloud.compute.DatacenterArgs;
    import com.pulumi.ionoscloud.compute.IPBlock;
    import com.pulumi.ionoscloud.compute.IPBlockArgs;
    import com.pulumi.ionoscloud.compute.Lan;
    import com.pulumi.ionoscloud.compute.LanArgs;
    import com.pulumi.random.password;
    import com.pulumi.random.PasswordArgs;
    import com.pulumi.ionoscloud.compute.CubeServer;
    import com.pulumi.ionoscloud.compute.CubeServerArgs;
    import com.pulumi.ionoscloud.compute.inputs.CubeServerVolumeArgs;
    import com.pulumi.ionoscloud.compute.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 example = ComputeFunctions.getTemplate(GetTemplateArgs.builder()
                .name("Basic Cube XS")
                .build());
    
            var exampleDatacenter = new Datacenter("exampleDatacenter", DatacenterArgs.builder()
                .name("Datacenter Example")
                .location("de/txl")
                .build());
    
            var webserverIpblock = new IPBlock("webserverIpblock", IPBlockArgs.builder()
                .location("de/txl")
                .size(4)
                .name("webserver_ipblock")
                .build());
    
            var exampleLan = new Lan("exampleLan", LanArgs.builder()
                .datacenterId(exampleDatacenter.id())
                .public_(true)
                .name("Lan Example")
                .ipv6CidrBlock("ipv6_cidr_block_from_dc")
                .build());
    
            var serverImagePassword = new Password("serverImagePassword", PasswordArgs.builder()
                .length(16)
                .special(false)
                .build());
    
            var exampleCubeServer = new CubeServer("exampleCubeServer", CubeServerArgs.builder()
                .name("Server Example")
                .availabilityZone("AUTO")
                .imageName("ubuntu:latest")
                .templateUuid(example.applyValue(getTemplateResult -> getTemplateResult.id()))
                .imagePassword(serverImagePassword.result())
                .datacenterId(exampleDatacenter.id())
                .volume(CubeServerVolumeArgs.builder()
                    .name("Volume Example")
                    .licenceType("LINUX")
                    .diskType("DAS")
                    .build())
                .nic(CubeServerNicArgs.builder()
                    .lan(exampleLan.id())
                    .name("Nic Example")
                    .dhcp(true)
                    .ips(                
                        webserverIpblock.ips().applyValue(ips -> ips[0]),
                        webserverIpblock.ips().applyValue(ips -> ips[1]))
                    .dhcpv6(false)
                    .ipv6CidrBlock("ipv6_cidr_block_from_lan")
                    .ipv6Ips(                
                        "ipv6_ip1",
                        "ipv6_ip2",
                        "ipv6_ip3")
                    .firewallActive(true)
                    .build())
                .build());
    
        }
    }
    
    resources:
      exampleDatacenter:
        type: ionoscloud:compute:Datacenter
        name: example
        properties:
          name: Datacenter Example
          location: de/txl
      webserverIpblock:
        type: ionoscloud:compute:IPBlock
        name: webserver_ipblock
        properties:
          location: de/txl
          size: 4
          name: webserver_ipblock
      exampleLan:
        type: ionoscloud:compute:Lan
        name: example
        properties:
          datacenterId: ${exampleDatacenter.id}
          public: true
          name: Lan Example
          ipv6CidrBlock: ipv6_cidr_block_from_dc
      exampleCubeServer:
        type: ionoscloud:compute:CubeServer
        name: example
        properties:
          name: Server Example
          availabilityZone: AUTO
          imageName: ubuntu:latest
          templateUuid: ${example.id}
          imagePassword: ${serverImagePassword.result}
          datacenterId: ${exampleDatacenter.id}
          volume:
            name: Volume Example
            licenceType: LINUX
            diskType: DAS
          nic:
            lan: ${exampleLan.id}
            name: Nic Example
            dhcp: true
            ips:
              - ${webserverIpblock.ips[0]}
              - ${webserverIpblock.ips[1]}
            dhcpv6: false
            ipv6CidrBlock: ipv6_cidr_block_from_lan
            ipv6Ips:
              - ipv6_ip1
              - ipv6_ip2
              - ipv6_ip3
            firewallActive: true
      serverImagePassword:
        type: random:password
        name: server_image_password
        properties:
          length: 16
          special: false
    variables:
      example:
        fn::invoke:
          function: ionoscloud:compute:getTemplate
          arguments:
            name: Basic Cube XS
    

    Notes

    Please note that for any secondary volume, you need to set the licence_type property to UNKNOWN

    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,
                   boot_image: Optional[str] = None,
                   hostname: Optional[str] = None,
                   image_name: Optional[str] = None,
                   image_password: Optional[str] = None,
                   name: Optional[str] = None,
                   allow_replace: Optional[bool] = None,
                   security_groups_ids: Optional[Sequence[str]] = None,
                   ssh_key_paths: Optional[Sequence[str]] = None,
                   boot_cdrom: Optional[str] = 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:compute: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.Compute.CubeServer("cubeServerResource", new()
    {
        DatacenterId = "string",
        Volume = new Ionoscloud.Compute.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.Compute.Inputs.CubeServerNicArgs
        {
            Lan = 0,
            Firewall = new Ionoscloud.Compute.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",
            },
        },
        BootImage = "string",
        Hostname = "string",
        ImageName = "string",
        ImagePassword = "string",
        Name = "string",
        AllowReplace = false,
        SecurityGroupsIds = new[]
        {
            "string",
        },
        SshKeyPaths = new[]
        {
            "string",
        },
        VmState = "string",
        AvailabilityZone = "string",
    });
    
    example, err := compute.NewCubeServer(ctx, "cubeServerResource", &compute.CubeServerArgs{
    	DatacenterId: pulumi.String("string"),
    	Volume: &compute.CubeServerVolumeArgs{
    		DiskType:            pulumi.String("string"),
    		CpuHotPlug:          pulumi.Bool(false),
    		LicenceType:         pulumi.String("string"),
    		Bus:                 pulumi.String("string"),
    		AvailabilityZone:    pulumi.String("string"),
    		DeviceNumber:        pulumi.Int(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.Int(0),
    		RamHotPlug:          pulumi.Bool(false),
    		UserData:            pulumi.String("string"),
    	},
    	TemplateUuid: pulumi.String("string"),
    	Nic: &compute.CubeServerNicArgs{
    		Lan: pulumi.Int(0),
    		Firewall: &compute.CubeServerNicFirewallArgs{
    			Protocol:       pulumi.String("string"),
    			IcmpCode:       pulumi.String("string"),
    			IcmpType:       pulumi.String("string"),
    			Name:           pulumi.String("string"),
    			PortRangeEnd:   pulumi.Int(0),
    			PortRangeStart: pulumi.Int(0),
    			SourceIp:       pulumi.String("string"),
    			SourceMac:      pulumi.String("string"),
    			TargetIp:       pulumi.String("string"),
    			Type:           pulumi.String("string"),
    		},
    		Dhcpv6:         pulumi.Bool(false),
    		DeviceNumber:   pulumi.Int(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.Int(0),
    		SecurityGroupsIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	BootImage:     pulumi.String("string"),
    	Hostname:      pulumi.String("string"),
    	ImageName:     pulumi.String("string"),
    	ImagePassword: pulumi.String("string"),
    	Name:          pulumi.String("string"),
    	AllowReplace:  pulumi.Bool(false),
    	SecurityGroupsIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	SshKeyPaths: pulumi.StringArray{
    		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())
        .bootImage("string")
        .hostname("string")
        .imageName("string")
        .imagePassword("string")
        .name("string")
        .allowReplace(false)
        .securityGroupsIds("string")
        .sshKeyPaths("string")
        .vmState("string")
        .availabilityZone("string")
        .build());
    
    cube_server_resource = ionoscloud.compute.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"],
        },
        boot_image="string",
        hostname="string",
        image_name="string",
        image_password="string",
        name="string",
        allow_replace=False,
        security_groups_ids=["string"],
        ssh_key_paths=["string"],
        vm_state="string",
        availability_zone="string")
    
    const cubeServerResource = new ionoscloud.compute.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"],
        },
        bootImage: "string",
        hostname: "string",
        imageName: "string",
        imagePassword: "string",
        name: "string",
        allowReplace: false,
        securityGroupsIds: ["string"],
        sshKeyPaths: ["string"],
        vmState: "string",
        availabilityZone: "string",
    });
    
    type: ionoscloud:compute:CubeServer
    properties:
        allowReplace: false
        availabilityZone: string
        bootImage: 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
        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 Ionoscloud.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 Ionoscloud.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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    BootImage string
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    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.
    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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    BootImage string
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    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.
    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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    bootImage String
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    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.
    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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    bootImage string
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    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.
    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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    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.
    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.
    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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    bootImage String
    [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
    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.
    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,
            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,
            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:compute: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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    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.
    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 Ionoscloud.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
    VmState string
    [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
    Volume Ionoscloud.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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    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.
    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
    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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    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.
    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
    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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    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.
    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
    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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    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.
    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
    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.compute.BootDeviceSelection (Optional)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.

    Deprecated: Please use the 'ionoscloud_server_boot_device_selection' resource for managing the boot device of the server.

    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.
    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
    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 int
    DeviceNumber int
    Dhcp bool
    Dhcpv6 bool
    Indicates whether this NIC receives an IPv6 address through DHCP.
    Firewall Ionoscloud.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 int
    SecurityGroupsIds List<string>
    The list of Security Group IDs for the resource.
    Lan int
    DeviceNumber int
    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 int
    SecurityGroupsIds []string
    The list of Security Group IDs for the resource.
    lan Integer
    deviceNumber Integer
    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 Integer
    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 int
    device_number int
    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 int
    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 int
    PortRangeStart int
    SourceIp string
    SourceMac string
    TargetIp string
    Type string
    Protocol string
    IcmpCode string
    IcmpType string
    Name string
    [string] The name of the server.
    PortRangeEnd int
    PortRangeStart int
    SourceIp string
    SourceMac string
    TargetIp string
    Type string
    protocol String
    icmpCode String
    icmpType String
    name String
    [string] The name of the server.
    portRangeEnd Integer
    portRangeStart Integer
    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 int
    port_range_start int
    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

    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 int
    DiscVirtioHotPlug bool
    DiscVirtioHotUnplug bool
    ImagePassword string
    [string] Required if ssh_key_path is not provided.

    Deprecated: Please use image_password under server level

    LicenceType string
    [string] Sets the OS type of the server.
    Name string
    [string] The name of the server.
    NicHotPlug bool
    NicHotUnplug bool
    PciSlot int
    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: Please use ssh_key_path under server level

    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 int
    DiscVirtioHotPlug bool
    DiscVirtioHotUnplug bool
    ImagePassword string
    [string] Required if ssh_key_path is not provided.

    Deprecated: Please use image_password under server level

    LicenceType string
    [string] Sets the OS type of the server.
    Name string
    [string] The name of the server.
    NicHotPlug bool
    NicHotUnplug bool
    PciSlot int
    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: Please use ssh_key_path under server level

    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 Integer
    discVirtioHotPlug Boolean
    discVirtioHotUnplug Boolean
    imagePassword String
    [string] Required if ssh_key_path is not provided.

    Deprecated: Please use image_password under server level

    licenceType String
    [string] Sets the OS type of the server.
    name String
    [string] The name of the server.
    nicHotPlug Boolean
    nicHotUnplug Boolean
    pciSlot Integer
    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: Please use ssh_key_path under server level

    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: Please use image_password under server level

    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: Please use ssh_key_path under server level

    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 int
    disc_virtio_hot_plug bool
    disc_virtio_hot_unplug bool
    image_password str
    [string] Required if ssh_key_path is not provided.

    Deprecated: Please use image_password under server level

    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 int
    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: Please use ssh_key_path under server level

    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: Please use image_password under server level

    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: Please use ssh_key_path under server level

    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:compute/cubeServer:CubeServer myserver datacenter uuid/server 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.3 published on Tuesday, May 13, 2025 by ionos-cloud