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

ionoscloud.compute.VCPUServer

Explore with Pulumi AI

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

    Manages a VCPU Server on IonosCloud.

    Example Usage

    VCPU 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.getImage({
        type: "HDD",
        imageAlias: "ubuntu:latest",
        location: "us/las",
    });
    const exampleDatacenter = new ionoscloud.compute.Datacenter("example", {
        name: "Datacenter Example",
        location: "de/txl",
        description: "Datacenter Description",
        secAuthProtection: false,
    });
    const exampleLan = new ionoscloud.compute.Lan("example", {
        datacenterId: exampleDatacenter.id,
        "public": true,
        name: "Lan Example",
    });
    const exampleIPBlock = new ionoscloud.compute.IPBlock("example", {
        location: exampleDatacenter.location,
        size: 4,
        name: "IP Block Example",
    });
    const serverImagePassword = new random.index.Password("server_image_password", {
        length: 16,
        special: false,
    });
    const exampleVCPUServer = new ionoscloud.compute.VCPUServer("example", {
        name: "VCPU Server Example",
        datacenterId: exampleDatacenter.id,
        cores: 1,
        ram: 1024,
        availabilityZone: "ZONE_1",
        imageName: example.then(example => example.id),
        imagePassword: serverImagePassword.result,
        volume: {
            name: "system",
            size: 5,
            diskType: "SSD Standard",
            userData: "foo",
            bus: "VIRTIO",
            availabilityZone: "ZONE_1",
        },
        nic: {
            lan: exampleLan.id,
            name: "system",
            dhcp: true,
            firewallActive: true,
            firewallType: "BIDIRECTIONAL",
            ips: [
                exampleIPBlock.ips[0],
                exampleIPBlock.ips[1],
            ],
            firewalls: [{
                protocol: "TCP",
                name: "SSH",
                portRangeStart: 22,
                portRangeEnd: 22,
                sourceMac: "00:0a:95:9d:68:17",
                sourceIp: exampleIPBlock.ips[2],
                targetIp: exampleIPBlock.ips[3],
                type: "EGRESS",
            }],
        },
        labels: [
            {
                key: "labelkey1",
                value: "labelvalue1",
            },
            {
                key: "labelkey2",
                value: "labelvalue2",
            },
        ],
    });
    
    import pulumi
    import pulumi_ionoscloud as ionoscloud
    import pulumi_random as random
    
    example = ionoscloud.compute.get_image(type="HDD",
        image_alias="ubuntu:latest",
        location="us/las")
    example_datacenter = ionoscloud.compute.Datacenter("example",
        name="Datacenter Example",
        location="de/txl",
        description="Datacenter Description",
        sec_auth_protection=False)
    example_lan = ionoscloud.compute.Lan("example",
        datacenter_id=example_datacenter.id,
        public=True,
        name="Lan Example")
    example_ip_block = ionoscloud.compute.IPBlock("example",
        location=example_datacenter.location,
        size=4,
        name="IP Block Example")
    server_image_password = random.index.Password("server_image_password",
        length=16,
        special=False)
    example_vcpu_server = ionoscloud.compute.VCPUServer("example",
        name="VCPU Server Example",
        datacenter_id=example_datacenter.id,
        cores=1,
        ram=1024,
        availability_zone="ZONE_1",
        image_name=example.id,
        image_password=server_image_password["result"],
        volume={
            "name": "system",
            "size": 5,
            "disk_type": "SSD Standard",
            "user_data": "foo",
            "bus": "VIRTIO",
            "availability_zone": "ZONE_1",
        },
        nic={
            "lan": example_lan.id,
            "name": "system",
            "dhcp": True,
            "firewall_active": True,
            "firewall_type": "BIDIRECTIONAL",
            "ips": [
                example_ip_block.ips[0],
                example_ip_block.ips[1],
            ],
            "firewalls": [{
                "protocol": "TCP",
                "name": "SSH",
                "port_range_start": 22,
                "port_range_end": 22,
                "source_mac": "00:0a:95:9d:68:17",
                "source_ip": example_ip_block.ips[2],
                "target_ip": example_ip_block.ips[3],
                "type": "EGRESS",
            }],
        },
        labels=[
            {
                "key": "labelkey1",
                "value": "labelvalue1",
            },
            {
                "key": "labelkey2",
                "value": "labelvalue2",
            },
        ])
    
    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.GetImage(ctx, &compute.GetImageArgs{
    			Type:       pulumi.StringRef("HDD"),
    			ImageAlias: pulumi.StringRef("ubuntu:latest"),
    			Location:   pulumi.StringRef("us/las"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		exampleDatacenter, err := compute.NewDatacenter(ctx, "example", &compute.DatacenterArgs{
    			Name:              pulumi.String("Datacenter Example"),
    			Location:          pulumi.String("de/txl"),
    			Description:       pulumi.String("Datacenter Description"),
    			SecAuthProtection: pulumi.Bool(false),
    		})
    		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
    		}
    		exampleIPBlock, err := compute.NewIPBlock(ctx, "example", &compute.IPBlockArgs{
    			Location: exampleDatacenter.Location,
    			Size:     pulumi.Int(4),
    			Name:     pulumi.String("IP Block 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.NewVCPUServer(ctx, "example", &compute.VCPUServerArgs{
    			Name:             pulumi.String("VCPU Server Example"),
    			DatacenterId:     exampleDatacenter.ID(),
    			Cores:            pulumi.Int(1),
    			Ram:              pulumi.Int(1024),
    			AvailabilityZone: pulumi.String("ZONE_1"),
    			ImageName:        pulumi.String(example.Id),
    			ImagePassword:    serverImagePassword.Result,
    			Volume: &compute.VCPUServerVolumeArgs{
    				Name:             pulumi.String("system"),
    				Size:             pulumi.Int(5),
    				DiskType:         pulumi.String("SSD Standard"),
    				UserData:         pulumi.String("foo"),
    				Bus:              pulumi.String("VIRTIO"),
    				AvailabilityZone: pulumi.String("ZONE_1"),
    			},
    			Nic: &compute.VCPUServerNicArgs{
    				Lan:            exampleLan.ID(),
    				Name:           pulumi.String("system"),
    				Dhcp:           pulumi.Bool(true),
    				FirewallActive: pulumi.Bool(true),
    				FirewallType:   pulumi.String("BIDIRECTIONAL"),
    				Ips: pulumi.StringArray{
    					exampleIPBlock.Ips.ApplyT(func(ips []string) (string, error) {
    						return ips[0], nil
    					}).(pulumi.StringOutput),
    					exampleIPBlock.Ips.ApplyT(func(ips []string) (string, error) {
    						return ips[1], nil
    					}).(pulumi.StringOutput),
    				},
    				Firewalls: compute.VCPUServerNicFirewallArray{
    					&compute.VCPUServerNicFirewallArgs{
    						Protocol:       pulumi.String("TCP"),
    						Name:           pulumi.String("SSH"),
    						PortRangeStart: pulumi.Int(22),
    						PortRangeEnd:   pulumi.Int(22),
    						SourceMac:      pulumi.String("00:0a:95:9d:68:17"),
    						SourceIp: exampleIPBlock.Ips.ApplyT(func(ips []string) (string, error) {
    							return ips[2], nil
    						}).(pulumi.StringOutput),
    						TargetIp: exampleIPBlock.Ips.ApplyT(func(ips []string) (string, error) {
    							return ips[3], nil
    						}).(pulumi.StringOutput),
    						Type: pulumi.String("EGRESS"),
    					},
    				},
    			},
    			Labels: compute.VCPUServerLabelArray{
    				&compute.VCPUServerLabelArgs{
    					Key:   pulumi.String("labelkey1"),
    					Value: pulumi.String("labelvalue1"),
    				},
    				&compute.VCPUServerLabelArgs{
    					Key:   pulumi.String("labelkey2"),
    					Value: pulumi.String("labelvalue2"),
    				},
    			},
    		})
    		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.GetImage.Invoke(new()
        {
            Type = "HDD",
            ImageAlias = "ubuntu:latest",
            Location = "us/las",
        });
    
        var exampleDatacenter = new Ionoscloud.Compute.Datacenter("example", new()
        {
            Name = "Datacenter Example",
            Location = "de/txl",
            Description = "Datacenter Description",
            SecAuthProtection = false,
        });
    
        var exampleLan = new Ionoscloud.Compute.Lan("example", new()
        {
            DatacenterId = exampleDatacenter.Id,
            Public = true,
            Name = "Lan Example",
        });
    
        var exampleIPBlock = new Ionoscloud.Compute.IPBlock("example", new()
        {
            Location = exampleDatacenter.Location,
            Size = 4,
            Name = "IP Block Example",
        });
    
        var serverImagePassword = new Random.Index.Password("server_image_password", new()
        {
            Length = 16,
            Special = false,
        });
    
        var exampleVCPUServer = new Ionoscloud.Compute.VCPUServer("example", new()
        {
            Name = "VCPU Server Example",
            DatacenterId = exampleDatacenter.Id,
            Cores = 1,
            Ram = 1024,
            AvailabilityZone = "ZONE_1",
            ImageName = example.Apply(getImageResult => getImageResult.Id),
            ImagePassword = serverImagePassword.Result,
            Volume = new Ionoscloud.Compute.Inputs.VCPUServerVolumeArgs
            {
                Name = "system",
                Size = 5,
                DiskType = "SSD Standard",
                UserData = "foo",
                Bus = "VIRTIO",
                AvailabilityZone = "ZONE_1",
            },
            Nic = new Ionoscloud.Compute.Inputs.VCPUServerNicArgs
            {
                Lan = exampleLan.Id,
                Name = "system",
                Dhcp = true,
                FirewallActive = true,
                FirewallType = "BIDIRECTIONAL",
                Ips = new[]
                {
                    exampleIPBlock.Ips.Apply(ips => ips[0]),
                    exampleIPBlock.Ips.Apply(ips => ips[1]),
                },
                Firewalls = new[]
                {
                    new Ionoscloud.Compute.Inputs.VCPUServerNicFirewallArgs
                    {
                        Protocol = "TCP",
                        Name = "SSH",
                        PortRangeStart = 22,
                        PortRangeEnd = 22,
                        SourceMac = "00:0a:95:9d:68:17",
                        SourceIp = exampleIPBlock.Ips.Apply(ips => ips[2]),
                        TargetIp = exampleIPBlock.Ips.Apply(ips => ips[3]),
                        Type = "EGRESS",
                    },
                },
            },
            Labels = new[]
            {
                new Ionoscloud.Compute.Inputs.VCPUServerLabelArgs
                {
                    Key = "labelkey1",
                    Value = "labelvalue1",
                },
                new Ionoscloud.Compute.Inputs.VCPUServerLabelArgs
                {
                    Key = "labelkey2",
                    Value = "labelvalue2",
                },
            },
        });
    
    });
    
    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.GetImageArgs;
    import com.pulumi.ionoscloud.compute.Datacenter;
    import com.pulumi.ionoscloud.compute.DatacenterArgs;
    import com.pulumi.ionoscloud.compute.Lan;
    import com.pulumi.ionoscloud.compute.LanArgs;
    import com.pulumi.ionoscloud.compute.IPBlock;
    import com.pulumi.ionoscloud.compute.IPBlockArgs;
    import com.pulumi.random.password;
    import com.pulumi.random.PasswordArgs;
    import com.pulumi.ionoscloud.compute.VCPUServer;
    import com.pulumi.ionoscloud.compute.VCPUServerArgs;
    import com.pulumi.ionoscloud.compute.inputs.VCPUServerVolumeArgs;
    import com.pulumi.ionoscloud.compute.inputs.VCPUServerNicArgs;
    import com.pulumi.ionoscloud.compute.inputs.VCPUServerLabelArgs;
    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.getImage(GetImageArgs.builder()
                .type("HDD")
                .imageAlias("ubuntu:latest")
                .location("us/las")
                .build());
    
            var exampleDatacenter = new Datacenter("exampleDatacenter", DatacenterArgs.builder()
                .name("Datacenter Example")
                .location("de/txl")
                .description("Datacenter Description")
                .secAuthProtection(false)
                .build());
    
            var exampleLan = new Lan("exampleLan", LanArgs.builder()
                .datacenterId(exampleDatacenter.id())
                .public_(true)
                .name("Lan Example")
                .build());
    
            var exampleIPBlock = new IPBlock("exampleIPBlock", IPBlockArgs.builder()
                .location(exampleDatacenter.location())
                .size(4)
                .name("IP Block Example")
                .build());
    
            var serverImagePassword = new Password("serverImagePassword", PasswordArgs.builder()
                .length(16)
                .special(false)
                .build());
    
            var exampleVCPUServer = new VCPUServer("exampleVCPUServer", VCPUServerArgs.builder()
                .name("VCPU Server Example")
                .datacenterId(exampleDatacenter.id())
                .cores(1)
                .ram(1024)
                .availabilityZone("ZONE_1")
                .imageName(example.applyValue(getImageResult -> getImageResult.id()))
                .imagePassword(serverImagePassword.result())
                .volume(VCPUServerVolumeArgs.builder()
                    .name("system")
                    .size(5)
                    .diskType("SSD Standard")
                    .userData("foo")
                    .bus("VIRTIO")
                    .availabilityZone("ZONE_1")
                    .build())
                .nic(VCPUServerNicArgs.builder()
                    .lan(exampleLan.id())
                    .name("system")
                    .dhcp(true)
                    .firewallActive(true)
                    .firewallType("BIDIRECTIONAL")
                    .ips(                
                        exampleIPBlock.ips().applyValue(ips -> ips[0]),
                        exampleIPBlock.ips().applyValue(ips -> ips[1]))
                    .firewalls(VCPUServerNicFirewallArgs.builder()
                        .protocol("TCP")
                        .name("SSH")
                        .portRangeStart(22)
                        .portRangeEnd(22)
                        .sourceMac("00:0a:95:9d:68:17")
                        .sourceIp(exampleIPBlock.ips().applyValue(ips -> ips[2]))
                        .targetIp(exampleIPBlock.ips().applyValue(ips -> ips[3]))
                        .type("EGRESS")
                        .build())
                    .build())
                .labels(            
                    VCPUServerLabelArgs.builder()
                        .key("labelkey1")
                        .value("labelvalue1")
                        .build(),
                    VCPUServerLabelArgs.builder()
                        .key("labelkey2")
                        .value("labelvalue2")
                        .build())
                .build());
    
        }
    }
    
    resources:
      exampleDatacenter:
        type: ionoscloud:compute:Datacenter
        name: example
        properties:
          name: Datacenter Example
          location: de/txl
          description: Datacenter Description
          secAuthProtection: false
      exampleLan:
        type: ionoscloud:compute:Lan
        name: example
        properties:
          datacenterId: ${exampleDatacenter.id}
          public: true
          name: Lan Example
      exampleIPBlock:
        type: ionoscloud:compute:IPBlock
        name: example
        properties:
          location: ${exampleDatacenter.location}
          size: 4
          name: IP Block Example
      exampleVCPUServer:
        type: ionoscloud:compute:VCPUServer
        name: example
        properties:
          name: VCPU Server Example
          datacenterId: ${exampleDatacenter.id}
          cores: 1
          ram: 1024
          availabilityZone: ZONE_1
          imageName: ${example.id}
          imagePassword: ${serverImagePassword.result}
          volume:
            name: system
            size: 5
            diskType: SSD Standard
            userData: foo
            bus: VIRTIO
            availabilityZone: ZONE_1
          nic:
            lan: ${exampleLan.id}
            name: system
            dhcp: true
            firewallActive: true
            firewallType: BIDIRECTIONAL
            ips:
              - ${exampleIPBlock.ips[0]}
              - ${exampleIPBlock.ips[1]}
            firewalls:
              - protocol: TCP
                name: SSH
                portRangeStart: 22
                portRangeEnd: 22
                sourceMac: 00:0a:95:9d:68:17
                sourceIp: ${exampleIPBlock.ips[2]}
                targetIp: ${exampleIPBlock.ips[3]}
                type: EGRESS
          labels:
            - key: labelkey1
              value: labelvalue1
            - key: labelkey2
              value: labelvalue2
      serverImagePassword:
        type: random:password
        name: server_image_password
        properties:
          length: 16
          special: false
    variables:
      example:
        fn::invoke:
          function: ionoscloud:compute:getImage
          arguments:
            type: HDD
            imageAlias: ubuntu:latest
            location: us/las
    

    Notes

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

    ⚠️ Note: Important for deleting an firewall rule from within a list of inline resources defined on the same nic. There is one limitation to removing one firewall rule from the middle of the list of firewall rules. The existing rules will be modified and the last one will be deleted.

    Create VCPUServer Resource

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

    Constructor syntax

    new VCPUServer(name: string, args: VCPUServerArgs, opts?: CustomResourceOptions);
    @overload
    def VCPUServer(resource_name: str,
                   args: VCPUServerArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def VCPUServer(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   ram: Optional[int] = None,
                   datacenter_id: Optional[str] = None,
                   volume: Optional[VCPUServerVolumeArgs] = None,
                   cores: Optional[int] = None,
                   labels: Optional[Sequence[VCPUServerLabelArgs]] = None,
                   firewallrule_ids: Optional[Sequence[str]] = None,
                   hostname: Optional[str] = None,
                   image_name: Optional[str] = None,
                   boot_cdrom: Optional[str] = None,
                   name: Optional[str] = None,
                   image_password: Optional[str] = None,
                   nic: Optional[VCPUServerNicArgs] = None,
                   availability_zone: Optional[str] = None,
                   security_groups_ids: Optional[Sequence[str]] = None,
                   ssh_keys: Optional[Sequence[str]] = None,
                   vm_state: Optional[str] = None,
                   boot_image: Optional[str] = None)
    func NewVCPUServer(ctx *Context, name string, args VCPUServerArgs, opts ...ResourceOption) (*VCPUServer, error)
    public VCPUServer(string name, VCPUServerArgs args, CustomResourceOptions? opts = null)
    public VCPUServer(String name, VCPUServerArgs args)
    public VCPUServer(String name, VCPUServerArgs args, CustomResourceOptions options)
    
    type: ionoscloud:compute:VCPUServer
    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 VCPUServerArgs
    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 VCPUServerArgs
    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 VCPUServerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VCPUServerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VCPUServerArgs
    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 vcpuserverResource = new Ionoscloud.Compute.VCPUServer("vcpuserverResource", new()
    {
        Ram = 0,
        DatacenterId = "string",
        Volume = new Ionoscloud.Compute.Inputs.VCPUServerVolumeArgs
        {
            DiskType = "string",
            CpuHotPlug = false,
            Name = "string",
            Bus = "string",
            AvailabilityZone = "string",
            DeviceNumber = 0,
            DiscVirtioHotPlug = false,
            BootServer = "string",
            DiscVirtioHotUnplug = false,
            LicenceType = "string",
            BackupUnitId = "string",
            NicHotPlug = false,
            NicHotUnplug = false,
            PciSlot = 0,
            RamHotPlug = false,
            Size = 0,
            UserData = "string",
        },
        Cores = 0,
        Labels = new[]
        {
            new Ionoscloud.Compute.Inputs.VCPUServerLabelArgs
            {
                Key = "string",
                Value = "string",
            },
        },
        FirewallruleIds = new[]
        {
            "string",
        },
        Hostname = "string",
        ImageName = "string",
        Name = "string",
        ImagePassword = "string",
        Nic = new Ionoscloud.Compute.Inputs.VCPUServerNicArgs
        {
            Lan = 0,
            Id = "string",
            Ipv6CidrBlock = "string",
            FirewallActive = false,
            FirewallType = "string",
            Firewalls = new[]
            {
                new Ionoscloud.Compute.Inputs.VCPUServerNicFirewallArgs
                {
                    Protocol = "string",
                    IcmpCode = "string",
                    IcmpType = "string",
                    Id = "string",
                    Name = "string",
                    PortRangeEnd = 0,
                    PortRangeStart = 0,
                    SourceIp = "string",
                    SourceMac = "string",
                    TargetIp = "string",
                    Type = "string",
                },
            },
            DeviceNumber = 0,
            Ips = new[]
            {
                "string",
            },
            Dhcpv6 = false,
            Ipv6Ips = new[]
            {
                "string",
            },
            Dhcp = false,
            Mac = "string",
            Name = "string",
            PciSlot = 0,
            SecurityGroupsIds = new[]
            {
                "string",
            },
        },
        AvailabilityZone = "string",
        SecurityGroupsIds = new[]
        {
            "string",
        },
        SshKeys = new[]
        {
            "string",
        },
        VmState = "string",
        BootImage = "string",
    });
    
    example, err := compute.NewVCPUServer(ctx, "vcpuserverResource", &compute.VCPUServerArgs{
    	Ram:          pulumi.Int(0),
    	DatacenterId: pulumi.String("string"),
    	Volume: &compute.VCPUServerVolumeArgs{
    		DiskType:            pulumi.String("string"),
    		CpuHotPlug:          pulumi.Bool(false),
    		Name:                pulumi.String("string"),
    		Bus:                 pulumi.String("string"),
    		AvailabilityZone:    pulumi.String("string"),
    		DeviceNumber:        pulumi.Int(0),
    		DiscVirtioHotPlug:   pulumi.Bool(false),
    		BootServer:          pulumi.String("string"),
    		DiscVirtioHotUnplug: pulumi.Bool(false),
    		LicenceType:         pulumi.String("string"),
    		BackupUnitId:        pulumi.String("string"),
    		NicHotPlug:          pulumi.Bool(false),
    		NicHotUnplug:        pulumi.Bool(false),
    		PciSlot:             pulumi.Int(0),
    		RamHotPlug:          pulumi.Bool(false),
    		Size:                pulumi.Int(0),
    		UserData:            pulumi.String("string"),
    	},
    	Cores: pulumi.Int(0),
    	Labels: compute.VCPUServerLabelArray{
    		&compute.VCPUServerLabelArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	FirewallruleIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Hostname:      pulumi.String("string"),
    	ImageName:     pulumi.String("string"),
    	Name:          pulumi.String("string"),
    	ImagePassword: pulumi.String("string"),
    	Nic: &compute.VCPUServerNicArgs{
    		Lan:            pulumi.Int(0),
    		Id:             pulumi.String("string"),
    		Ipv6CidrBlock:  pulumi.String("string"),
    		FirewallActive: pulumi.Bool(false),
    		FirewallType:   pulumi.String("string"),
    		Firewalls: compute.VCPUServerNicFirewallArray{
    			&compute.VCPUServerNicFirewallArgs{
    				Protocol:       pulumi.String("string"),
    				IcmpCode:       pulumi.String("string"),
    				IcmpType:       pulumi.String("string"),
    				Id:             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"),
    			},
    		},
    		DeviceNumber: pulumi.Int(0),
    		Ips: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Dhcpv6: pulumi.Bool(false),
    		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"),
    		},
    	},
    	AvailabilityZone: pulumi.String("string"),
    	SecurityGroupsIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	SshKeys: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	VmState:   pulumi.String("string"),
    	BootImage: pulumi.String("string"),
    })
    
    var vcpuserverResource = new VCPUServer("vcpuserverResource", VCPUServerArgs.builder()
        .ram(0)
        .datacenterId("string")
        .volume(VCPUServerVolumeArgs.builder()
            .diskType("string")
            .cpuHotPlug(false)
            .name("string")
            .bus("string")
            .availabilityZone("string")
            .deviceNumber(0)
            .discVirtioHotPlug(false)
            .bootServer("string")
            .discVirtioHotUnplug(false)
            .licenceType("string")
            .backupUnitId("string")
            .nicHotPlug(false)
            .nicHotUnplug(false)
            .pciSlot(0)
            .ramHotPlug(false)
            .size(0)
            .userData("string")
            .build())
        .cores(0)
        .labels(VCPUServerLabelArgs.builder()
            .key("string")
            .value("string")
            .build())
        .firewallruleIds("string")
        .hostname("string")
        .imageName("string")
        .name("string")
        .imagePassword("string")
        .nic(VCPUServerNicArgs.builder()
            .lan(0)
            .id("string")
            .ipv6CidrBlock("string")
            .firewallActive(false)
            .firewallType("string")
            .firewalls(VCPUServerNicFirewallArgs.builder()
                .protocol("string")
                .icmpCode("string")
                .icmpType("string")
                .id("string")
                .name("string")
                .portRangeEnd(0)
                .portRangeStart(0)
                .sourceIp("string")
                .sourceMac("string")
                .targetIp("string")
                .type("string")
                .build())
            .deviceNumber(0)
            .ips("string")
            .dhcpv6(false)
            .ipv6Ips("string")
            .dhcp(false)
            .mac("string")
            .name("string")
            .pciSlot(0)
            .securityGroupsIds("string")
            .build())
        .availabilityZone("string")
        .securityGroupsIds("string")
        .sshKeys("string")
        .vmState("string")
        .bootImage("string")
        .build());
    
    vcpuserver_resource = ionoscloud.compute.VCPUServer("vcpuserverResource",
        ram=0,
        datacenter_id="string",
        volume={
            "disk_type": "string",
            "cpu_hot_plug": False,
            "name": "string",
            "bus": "string",
            "availability_zone": "string",
            "device_number": 0,
            "disc_virtio_hot_plug": False,
            "boot_server": "string",
            "disc_virtio_hot_unplug": False,
            "licence_type": "string",
            "backup_unit_id": "string",
            "nic_hot_plug": False,
            "nic_hot_unplug": False,
            "pci_slot": 0,
            "ram_hot_plug": False,
            "size": 0,
            "user_data": "string",
        },
        cores=0,
        labels=[{
            "key": "string",
            "value": "string",
        }],
        firewallrule_ids=["string"],
        hostname="string",
        image_name="string",
        name="string",
        image_password="string",
        nic={
            "lan": 0,
            "id": "string",
            "ipv6_cidr_block": "string",
            "firewall_active": False,
            "firewall_type": "string",
            "firewalls": [{
                "protocol": "string",
                "icmp_code": "string",
                "icmp_type": "string",
                "id": "string",
                "name": "string",
                "port_range_end": 0,
                "port_range_start": 0,
                "source_ip": "string",
                "source_mac": "string",
                "target_ip": "string",
                "type": "string",
            }],
            "device_number": 0,
            "ips": ["string"],
            "dhcpv6": False,
            "ipv6_ips": ["string"],
            "dhcp": False,
            "mac": "string",
            "name": "string",
            "pci_slot": 0,
            "security_groups_ids": ["string"],
        },
        availability_zone="string",
        security_groups_ids=["string"],
        ssh_keys=["string"],
        vm_state="string",
        boot_image="string")
    
    const vcpuserverResource = new ionoscloud.compute.VCPUServer("vcpuserverResource", {
        ram: 0,
        datacenterId: "string",
        volume: {
            diskType: "string",
            cpuHotPlug: false,
            name: "string",
            bus: "string",
            availabilityZone: "string",
            deviceNumber: 0,
            discVirtioHotPlug: false,
            bootServer: "string",
            discVirtioHotUnplug: false,
            licenceType: "string",
            backupUnitId: "string",
            nicHotPlug: false,
            nicHotUnplug: false,
            pciSlot: 0,
            ramHotPlug: false,
            size: 0,
            userData: "string",
        },
        cores: 0,
        labels: [{
            key: "string",
            value: "string",
        }],
        firewallruleIds: ["string"],
        hostname: "string",
        imageName: "string",
        name: "string",
        imagePassword: "string",
        nic: {
            lan: 0,
            id: "string",
            ipv6CidrBlock: "string",
            firewallActive: false,
            firewallType: "string",
            firewalls: [{
                protocol: "string",
                icmpCode: "string",
                icmpType: "string",
                id: "string",
                name: "string",
                portRangeEnd: 0,
                portRangeStart: 0,
                sourceIp: "string",
                sourceMac: "string",
                targetIp: "string",
                type: "string",
            }],
            deviceNumber: 0,
            ips: ["string"],
            dhcpv6: false,
            ipv6Ips: ["string"],
            dhcp: false,
            mac: "string",
            name: "string",
            pciSlot: 0,
            securityGroupsIds: ["string"],
        },
        availabilityZone: "string",
        securityGroupsIds: ["string"],
        sshKeys: ["string"],
        vmState: "string",
        bootImage: "string",
    });
    
    type: ionoscloud:compute:VCPUServer
    properties:
        availabilityZone: string
        bootImage: string
        cores: 0
        datacenterId: string
        firewallruleIds:
            - string
        hostname: string
        imageName: string
        imagePassword: string
        labels:
            - key: string
              value: string
        name: string
        nic:
            deviceNumber: 0
            dhcp: false
            dhcpv6: false
            firewallActive: false
            firewallType: string
            firewalls:
                - icmpCode: string
                  icmpType: string
                  id: string
                  name: string
                  portRangeEnd: 0
                  portRangeStart: 0
                  protocol: string
                  sourceIp: string
                  sourceMac: string
                  targetIp: string
                  type: string
            id: string
            ips:
                - string
            ipv6CidrBlock: string
            ipv6Ips:
                - string
            lan: 0
            mac: string
            name: string
            pciSlot: 0
            securityGroupsIds:
                - string
        ram: 0
        securityGroupsIds:
            - string
        sshKeys:
            - 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
            size: 0
            userData: string
    

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

    Cores int
    [integer] Number of server CPU cores.
    DatacenterId string
    [string] The ID of a Virtual Data Center.
    Ram int
    [integer] The amount of memory for the server in MB.
    Volume Ionoscloud.VCPUServerVolume
    See the Volume section.
    AvailabilityZone string
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    FirewallruleIds List<string>
    The associated firewall rules.
    Hostname string
    (Computed)[string] 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] The password for the image.
    Labels List<Ionoscloud.VCPUServerLabel>
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    Name string
    [string] The name of the server.
    Nic Ionoscloud.VCPUServerNic
    See the Nic section.
    SecurityGroupsIds List<string>

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    SshKeys List<string>
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    VmState string
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    Cores int
    [integer] Number of server CPU cores.
    DatacenterId string
    [string] The ID of a Virtual Data Center.
    Ram int
    [integer] The amount of memory for the server in MB.
    Volume VCPUServerVolumeArgs
    See the Volume section.
    AvailabilityZone string
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    FirewallruleIds []string
    The associated firewall rules.
    Hostname string
    (Computed)[string] 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] The password for the image.
    Labels []VCPUServerLabelArgs
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    Name string
    [string] The name of the server.
    Nic VCPUServerNicArgs
    See the Nic section.
    SecurityGroupsIds []string

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    SshKeys []string
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    VmState string
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    cores Integer
    [integer] Number of server CPU cores.
    datacenterId String
    [string] The ID of a Virtual Data Center.
    ram Integer
    [integer] The amount of memory for the server in MB.
    volume VCPUServerVolume
    See the Volume section.
    availabilityZone String
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    firewallruleIds List<String>
    The associated firewall rules.
    hostname String
    (Computed)[string] 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] The password for the image.
    labels List<VCPUServerLabel>
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    name String
    [string] The name of the server.
    nic VCPUServerNic
    See the Nic section.
    securityGroupsIds List<String>

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    sshKeys List<String>
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    vmState String
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    cores number
    [integer] Number of server CPU cores.
    datacenterId string
    [string] The ID of a Virtual Data Center.
    ram number
    [integer] The amount of memory for the server in MB.
    volume VCPUServerVolume
    See the Volume section.
    availabilityZone string
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    firewallruleIds string[]
    The associated firewall rules.
    hostname string
    (Computed)[string] 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] The password for the image.
    labels VCPUServerLabel[]
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    name string
    [string] The name of the server.
    nic VCPUServerNic
    See the Nic section.
    securityGroupsIds string[]

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    sshKeys string[]
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    vmState string
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    cores int
    [integer] Number of server CPU cores.
    datacenter_id str
    [string] The ID of a Virtual Data Center.
    ram int
    [integer] The amount of memory for the server in MB.
    volume VCPUServerVolumeArgs
    See the Volume section.
    availability_zone str
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    firewallrule_ids Sequence[str]
    The associated firewall rules.
    hostname str
    (Computed)[string] 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] The password for the image.
    labels Sequence[VCPUServerLabelArgs]
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    name str
    [string] The name of the server.
    nic VCPUServerNicArgs
    See the Nic section.
    security_groups_ids Sequence[str]

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    ssh_keys Sequence[str]
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    vm_state str
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    cores Number
    [integer] Number of server CPU cores.
    datacenterId String
    [string] The ID of a Virtual Data Center.
    ram Number
    [integer] The amount of memory for the server in MB.
    volume Property Map
    See the Volume section.
    availabilityZone String
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    firewallruleIds List<String>
    The associated firewall rules.
    hostname String
    (Computed)[string] 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] The password for the image.
    labels List<Property Map>
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    name String
    [string] The name of the server.
    nic Property Map
    See the Nic section.
    securityGroupsIds List<String>

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    sshKeys List<String>
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    vmState String
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.

    Outputs

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

    BootVolume string
    The associated boot volume.
    CpuFamily string
    FirewallruleId string
    The associated firewall rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    InlineVolumeIds List<string>
    A list with the IDs for the volumes that are defined inside the server resource.
    PrimaryIp string
    The associated IP address.
    PrimaryNic string
    The associated NIC.
    Type string
    BootVolume string
    The associated boot volume.
    CpuFamily string
    FirewallruleId string
    The associated firewall rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    InlineVolumeIds []string
    A list with the IDs for the volumes that are defined inside the server resource.
    PrimaryIp string
    The associated IP address.
    PrimaryNic string
    The associated NIC.
    Type string
    bootVolume String
    The associated boot volume.
    cpuFamily String
    firewallruleId String
    The associated firewall rule.
    id String
    The provider-assigned unique ID for this managed resource.
    inlineVolumeIds List<String>
    A list with the IDs for the volumes that are defined inside the server resource.
    primaryIp String
    The associated IP address.
    primaryNic String
    The associated NIC.
    type String
    bootVolume string
    The associated boot volume.
    cpuFamily string
    firewallruleId string
    The associated firewall rule.
    id string
    The provider-assigned unique ID for this managed resource.
    inlineVolumeIds string[]
    A list with the IDs for the volumes that are defined inside the server resource.
    primaryIp string
    The associated IP address.
    primaryNic string
    The associated NIC.
    type string
    boot_volume str
    The associated boot volume.
    cpu_family str
    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 with the IDs for the volumes that are defined inside the server resource.
    primary_ip str
    The associated IP address.
    primary_nic str
    The associated NIC.
    type str
    bootVolume String
    The associated boot volume.
    cpuFamily String
    firewallruleId String
    The associated firewall rule.
    id String
    The provider-assigned unique ID for this managed resource.
    inlineVolumeIds List<String>
    A list with the IDs for the volumes that are defined inside the server resource.
    primaryIp String
    The associated IP address.
    primaryNic String
    The associated NIC.
    type String

    Look up Existing VCPUServer Resource

    Get an existing VCPUServer 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?: VCPUServerState, opts?: CustomResourceOptions): VCPUServer
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            availability_zone: Optional[str] = None,
            boot_cdrom: Optional[str] = None,
            boot_image: Optional[str] = None,
            boot_volume: Optional[str] = None,
            cores: Optional[int] = None,
            cpu_family: Optional[str] = None,
            datacenter_id: Optional[str] = None,
            firewallrule_id: Optional[str] = None,
            firewallrule_ids: Optional[Sequence[str]] = None,
            hostname: Optional[str] = None,
            image_name: Optional[str] = None,
            image_password: Optional[str] = None,
            inline_volume_ids: Optional[Sequence[str]] = None,
            labels: Optional[Sequence[VCPUServerLabelArgs]] = None,
            name: Optional[str] = None,
            nic: Optional[VCPUServerNicArgs] = None,
            primary_ip: Optional[str] = None,
            primary_nic: Optional[str] = None,
            ram: Optional[int] = None,
            security_groups_ids: Optional[Sequence[str]] = None,
            ssh_keys: Optional[Sequence[str]] = None,
            type: Optional[str] = None,
            vm_state: Optional[str] = None,
            volume: Optional[VCPUServerVolumeArgs] = None) -> VCPUServer
    func GetVCPUServer(ctx *Context, name string, id IDInput, state *VCPUServerState, opts ...ResourceOption) (*VCPUServer, error)
    public static VCPUServer Get(string name, Input<string> id, VCPUServerState? state, CustomResourceOptions? opts = null)
    public static VCPUServer get(String name, Output<String> id, VCPUServerState state, CustomResourceOptions options)
    resources:  _:    type: ionoscloud:compute:VCPUServer    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:
    AvailabilityZone string
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    Cores int
    [integer] Number of server CPU cores.
    CpuFamily string
    DatacenterId string
    [string] The ID of a Virtual Data Center.
    FirewallruleId string
    The associated firewall rule.
    FirewallruleIds List<string>
    The associated firewall rules.
    Hostname string
    (Computed)[string] 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] The password for the image.
    InlineVolumeIds List<string>
    A list with the IDs for the volumes that are defined inside the server resource.
    Labels List<Ionoscloud.VCPUServerLabel>
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    Name string
    [string] The name of the server.
    Nic Ionoscloud.VCPUServerNic
    See the Nic section.
    PrimaryIp string
    The associated IP address.
    PrimaryNic string
    The associated NIC.
    Ram int
    [integer] The amount of memory for the server in MB.
    SecurityGroupsIds List<string>

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    SshKeys List<string>
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    Type string
    VmState string
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    Volume Ionoscloud.VCPUServerVolume
    See the Volume section.
    AvailabilityZone string
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    Cores int
    [integer] Number of server CPU cores.
    CpuFamily string
    DatacenterId string
    [string] The ID of a Virtual Data Center.
    FirewallruleId string
    The associated firewall rule.
    FirewallruleIds []string
    The associated firewall rules.
    Hostname string
    (Computed)[string] 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] The password for the image.
    InlineVolumeIds []string
    A list with the IDs for the volumes that are defined inside the server resource.
    Labels []VCPUServerLabelArgs
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    Name string
    [string] The name of the server.
    Nic VCPUServerNicArgs
    See the Nic section.
    PrimaryIp string
    The associated IP address.
    PrimaryNic string
    The associated NIC.
    Ram int
    [integer] The amount of memory for the server in MB.
    SecurityGroupsIds []string

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    SshKeys []string
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    Type string
    VmState string
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    Volume VCPUServerVolumeArgs
    See the Volume section.
    availabilityZone String
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    cores Integer
    [integer] Number of server CPU cores.
    cpuFamily String
    datacenterId String
    [string] The ID of a Virtual Data Center.
    firewallruleId String
    The associated firewall rule.
    firewallruleIds List<String>
    The associated firewall rules.
    hostname String
    (Computed)[string] 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] The password for the image.
    inlineVolumeIds List<String>
    A list with the IDs for the volumes that are defined inside the server resource.
    labels List<VCPUServerLabel>
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    name String
    [string] The name of the server.
    nic VCPUServerNic
    See the Nic section.
    primaryIp String
    The associated IP address.
    primaryNic String
    The associated NIC.
    ram Integer
    [integer] The amount of memory for the server in MB.
    securityGroupsIds List<String>

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    sshKeys List<String>
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    type String
    vmState String
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    volume VCPUServerVolume
    See the Volume section.
    availabilityZone string
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    cores number
    [integer] Number of server CPU cores.
    cpuFamily string
    datacenterId string
    [string] The ID of a Virtual Data Center.
    firewallruleId string
    The associated firewall rule.
    firewallruleIds string[]
    The associated firewall rules.
    hostname string
    (Computed)[string] 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] The password for the image.
    inlineVolumeIds string[]
    A list with the IDs for the volumes that are defined inside the server resource.
    labels VCPUServerLabel[]
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    name string
    [string] The name of the server.
    nic VCPUServerNic
    See the Nic section.
    primaryIp string
    The associated IP address.
    primaryNic string
    The associated NIC.
    ram number
    [integer] The amount of memory for the server in MB.
    securityGroupsIds string[]

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    sshKeys string[]
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    type string
    vmState string
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    volume VCPUServerVolume
    See the Volume section.
    availability_zone str
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    cores int
    [integer] Number of server CPU cores.
    cpu_family str
    datacenter_id str
    [string] The ID of a Virtual Data Center.
    firewallrule_id str
    The associated firewall rule.
    firewallrule_ids Sequence[str]
    The associated firewall rules.
    hostname str
    (Computed)[string] 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] The password for the image.
    inline_volume_ids Sequence[str]
    A list with the IDs for the volumes that are defined inside the server resource.
    labels Sequence[VCPUServerLabelArgs]
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    name str
    [string] The name of the server.
    nic VCPUServerNicArgs
    See the Nic section.
    primary_ip str
    The associated IP address.
    primary_nic str
    The associated NIC.
    ram int
    [integer] The amount of memory for the server in MB.
    security_groups_ids Sequence[str]

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    ssh_keys Sequence[str]
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    type str
    vm_state str
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    volume VCPUServerVolumeArgs
    See the Volume section.
    availabilityZone String
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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.
    cores Number
    [integer] Number of server CPU cores.
    cpuFamily String
    datacenterId String
    [string] The ID of a Virtual Data Center.
    firewallruleId String
    The associated firewall rule.
    firewallruleIds List<String>
    The associated firewall rules.
    hostname String
    (Computed)[string] 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] The password for the image.
    inlineVolumeIds List<String>
    A list with the IDs for the volumes that are defined inside the server resource.
    labels List<Property Map>
    A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
    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.
    ram Number
    [integer] The amount of memory for the server in MB.
    securityGroupsIds List<String>

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    sshKeys List<String>
    [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
    type String
    vmState String
    Sets the power state of the vcpu server. Possible values: RUNNING or SHUTOFF.
    volume Property Map
    See the Volume section.

    Supporting Types

    VCPUServerLabel, VCPUServerLabelArgs

    Key string
    Value string
    Key string
    Value string
    key String
    value String
    key string
    value string
    key str
    value str
    key String
    value String

    VCPUServerNic, VCPUServerNicArgs

    Lan int
    DeviceNumber int
    Dhcp bool
    Dhcpv6 bool
    FirewallActive bool
    FirewallType string
    Firewalls List<Ionoscloud.VCPUServerNicFirewall>
    Allows to define firewall rules inline in the server. See the Firewall section.
    Id string
    Ips List<string>
    Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
    Ipv6CidrBlock string
    Ipv6Ips List<string>
    Mac string
    Name string
    [string] The name of the server.
    PciSlot int
    SecurityGroupsIds List<string>

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    Lan int
    DeviceNumber int
    Dhcp bool
    Dhcpv6 bool
    FirewallActive bool
    FirewallType string
    Firewalls []VCPUServerNicFirewall
    Allows to define firewall rules inline in the server. See the Firewall section.
    Id string
    Ips []string
    Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
    Ipv6CidrBlock string
    Ipv6Ips []string
    Mac string
    Name string
    [string] The name of the server.
    PciSlot int
    SecurityGroupsIds []string

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    lan Integer
    deviceNumber Integer
    dhcp Boolean
    dhcpv6 Boolean
    firewallActive Boolean
    firewallType String
    firewalls List<VCPUServerNicFirewall>
    Allows to define firewall rules inline in the server. See the Firewall section.
    id String
    ips List<String>
    Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
    ipv6CidrBlock String
    ipv6Ips List<String>
    mac String
    name String
    [string] The name of the server.
    pciSlot Integer
    securityGroupsIds List<String>

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    lan number
    deviceNumber number
    dhcp boolean
    dhcpv6 boolean
    firewallActive boolean
    firewallType string
    firewalls VCPUServerNicFirewall[]
    Allows to define firewall rules inline in the server. See the Firewall section.
    id string
    ips string[]
    Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
    ipv6CidrBlock string
    ipv6Ips string[]
    mac string
    name string
    [string] The name of the server.
    pciSlot number
    securityGroupsIds string[]

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    lan int
    device_number int
    dhcp bool
    dhcpv6 bool
    firewall_active bool
    firewall_type str
    firewalls Sequence[VCPUServerNicFirewall]
    Allows to define firewall rules inline in the server. See the Firewall section.
    id str
    ips Sequence[str]
    Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
    ipv6_cidr_block str
    ipv6_ips Sequence[str]
    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.

    ⚠ WARNING

    ssh_keys field is immutable.

    lan Number
    deviceNumber Number
    dhcp Boolean
    dhcpv6 Boolean
    firewallActive Boolean
    firewallType String
    firewalls List<Property Map>
    Allows to define firewall rules inline in the server. See the Firewall section.
    id String
    ips List<String>
    Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
    ipv6CidrBlock String
    ipv6Ips List<String>
    mac String
    name String
    [string] The name of the server.
    pciSlot Number
    securityGroupsIds List<String>

    The list of Security Group IDs for the resource.

    ⚠ WARNING

    ssh_keys field is immutable.

    VCPUServerNicFirewall, VCPUServerNicFirewallArgs

    Protocol string
    IcmpCode string
    IcmpType string
    Id 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
    Id 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
    id 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
    id 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
    id 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
    id String
    name String
    [string] The name of the server.
    portRangeEnd Number
    portRangeStart Number
    sourceIp String
    sourceMac String
    targetIp String
    type String

    VCPUServerVolume, VCPUServerVolumeArgs

    DiskType string
    AvailabilityZone string
    [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. 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
    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
    Size int
    The size of the volume in GB.
    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. E.g: AUTO, ZONE_1, ZONE_2. 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
    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
    Size int
    The size of the volume in GB.
    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. E.g: AUTO, ZONE_1, ZONE_2. 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
    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
    size Integer
    The size of the volume in GB.
    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. E.g: AUTO, ZONE_1, ZONE_2. 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
    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
    size number
    The size of the volume in GB.
    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. E.g: AUTO, ZONE_1, ZONE_2. 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
    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
    size int
    The size of the volume in GB.
    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. E.g: AUTO, ZONE_1, ZONE_2. 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
    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
    size Number
    The size of the volume in GB.
    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 VCPU Server can be imported using the resource id and the datacenter id, for example, passing only resource id and datacenter id means that the first nic found linked to the server will be attached to it.

    $ pulumi import ionoscloud:compute/vCPUServer:VCPUServer myserver datacenter uuid/server uuid
    

    Optionally, you can pass primary_nic and firewallrule_id so pulumi will know to import also the first nic and firewall rule (if it exists on the server):

    $ pulumi import ionoscloud:compute/vCPUServer:VCPUServer myserver datacenter uuid/server uuid/primary nic id/firewall rule id
    

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

    Package Details

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