ionoscloud.compute.BootDeviceSelection
Explore with Pulumi AI
Manages the selection of a boot device for IonosCloud Servers.
Example Usage
The boot device of a ionoscloud.compute.Server, ionoscloud.compute.VCPUServer or ionoscloud.compute.CubeServer can be selected with this resource.
Deleting this resource will revert the boot device back to the default volume, which is the first inline volume created together with the server.
This resource also allows switching between a volume and a ionoscloud.compute.getImage CDROM. Note that CDROM images are detached after they are no longer set as boot devices.
Select an external volume
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
const exampleServer = new ionoscloud.compute.Server("example", {
    name: "Server Example",
    availabilityZone: "ZONE_2",
    imageName: "ubuntu:latest",
    cores: 2,
    ram: 2048,
    imagePassword: serverImagePassword.result,
    datacenterId: exampleIonoscloudDatacenter.id,
    volume: {
        name: "Inline Updated",
        size: 20,
        diskType: "SSD Standard",
        bus: "VIRTIO",
        availabilityZone: "AUTO",
    },
    nic: {
        lan: exampleIonoscloudLan.id,
        name: "Nic Example",
        dhcp: true,
        firewallActive: true,
    },
});
const exampleVolume = new ionoscloud.compute.Volume("example", {
    serverId: exampleServer.id,
    datacenterId: exampleIonoscloudDatacenter.id,
    name: "External 1",
    size: 10,
    diskType: "HDD",
    availabilityZone: "AUTO",
    imageName: "debian:latest",
    imagePassword: serverImagePassword.result,
});
const example = new ionoscloud.compute.BootDeviceSelection("example", {
    datacenterId: exampleIonoscloudDatacenter.id,
    serverId: exampleServer.id,
    bootDeviceId: exampleVolume.id,
});
import pulumi
import pulumi_ionoscloud as ionoscloud
example_server = ionoscloud.compute.Server("example",
    name="Server Example",
    availability_zone="ZONE_2",
    image_name="ubuntu:latest",
    cores=2,
    ram=2048,
    image_password=server_image_password["result"],
    datacenter_id=example_ionoscloud_datacenter["id"],
    volume={
        "name": "Inline Updated",
        "size": 20,
        "disk_type": "SSD Standard",
        "bus": "VIRTIO",
        "availability_zone": "AUTO",
    },
    nic={
        "lan": example_ionoscloud_lan["id"],
        "name": "Nic Example",
        "dhcp": True,
        "firewall_active": True,
    })
example_volume = ionoscloud.compute.Volume("example",
    server_id=example_server.id,
    datacenter_id=example_ionoscloud_datacenter["id"],
    name="External 1",
    size=10,
    disk_type="HDD",
    availability_zone="AUTO",
    image_name="debian:latest",
    image_password=server_image_password["result"])
example = ionoscloud.compute.BootDeviceSelection("example",
    datacenter_id=example_ionoscloud_datacenter["id"],
    server_id=example_server.id,
    boot_device_id=example_volume.id)
package main
import (
	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleServer, err := compute.NewServer(ctx, "example", &compute.ServerArgs{
			Name:             pulumi.String("Server Example"),
			AvailabilityZone: pulumi.String("ZONE_2"),
			ImageName:        pulumi.String("ubuntu:latest"),
			Cores:            pulumi.Int(2),
			Ram:              pulumi.Int(2048),
			ImagePassword:    pulumi.Any(serverImagePassword.Result),
			DatacenterId:     pulumi.Any(exampleIonoscloudDatacenter.Id),
			Volume: &compute.ServerVolumeArgs{
				Name:             pulumi.String("Inline Updated"),
				Size:             pulumi.Int(20),
				DiskType:         pulumi.String("SSD Standard"),
				Bus:              pulumi.String("VIRTIO"),
				AvailabilityZone: pulumi.String("AUTO"),
			},
			Nic: &compute.ServerNicArgs{
				Lan:            pulumi.Any(exampleIonoscloudLan.Id),
				Name:           pulumi.String("Nic Example"),
				Dhcp:           pulumi.Bool(true),
				FirewallActive: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		exampleVolume, err := compute.NewVolume(ctx, "example", &compute.VolumeArgs{
			ServerId:         exampleServer.ID(),
			DatacenterId:     pulumi.Any(exampleIonoscloudDatacenter.Id),
			Name:             pulumi.String("External 1"),
			Size:             pulumi.Int(10),
			DiskType:         pulumi.String("HDD"),
			AvailabilityZone: pulumi.String("AUTO"),
			ImageName:        pulumi.String("debian:latest"),
			ImagePassword:    pulumi.Any(serverImagePassword.Result),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewBootDeviceSelection(ctx, "example", &compute.BootDeviceSelectionArgs{
			DatacenterId: pulumi.Any(exampleIonoscloudDatacenter.Id),
			ServerId:     exampleServer.ID(),
			BootDeviceId: exampleVolume.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
return await Deployment.RunAsync(() => 
{
    var exampleServer = new Ionoscloud.Compute.Server("example", new()
    {
        Name = "Server Example",
        AvailabilityZone = "ZONE_2",
        ImageName = "ubuntu:latest",
        Cores = 2,
        Ram = 2048,
        ImagePassword = serverImagePassword.Result,
        DatacenterId = exampleIonoscloudDatacenter.Id,
        Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
        {
            Name = "Inline Updated",
            Size = 20,
            DiskType = "SSD Standard",
            Bus = "VIRTIO",
            AvailabilityZone = "AUTO",
        },
        Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
        {
            Lan = exampleIonoscloudLan.Id,
            Name = "Nic Example",
            Dhcp = true,
            FirewallActive = true,
        },
    });
    var exampleVolume = new Ionoscloud.Compute.Volume("example", new()
    {
        ServerId = exampleServer.Id,
        DatacenterId = exampleIonoscloudDatacenter.Id,
        Name = "External 1",
        Size = 10,
        DiskType = "HDD",
        AvailabilityZone = "AUTO",
        ImageName = "debian:latest",
        ImagePassword = serverImagePassword.Result,
    });
    var example = new Ionoscloud.Compute.BootDeviceSelection("example", new()
    {
        DatacenterId = exampleIonoscloudDatacenter.Id,
        ServerId = exampleServer.Id,
        BootDeviceId = exampleVolume.Id,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.compute.Server;
import com.pulumi.ionoscloud.compute.ServerArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.compute.Volume;
import com.pulumi.ionoscloud.compute.VolumeArgs;
import com.pulumi.ionoscloud.compute.BootDeviceSelection;
import com.pulumi.ionoscloud.compute.BootDeviceSelectionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var exampleServer = new Server("exampleServer", ServerArgs.builder()
            .name("Server Example")
            .availabilityZone("ZONE_2")
            .imageName("ubuntu:latest")
            .cores(2)
            .ram(2048)
            .imagePassword(serverImagePassword.result())
            .datacenterId(exampleIonoscloudDatacenter.id())
            .volume(ServerVolumeArgs.builder()
                .name("Inline Updated")
                .size(20)
                .diskType("SSD Standard")
                .bus("VIRTIO")
                .availabilityZone("AUTO")
                .build())
            .nic(ServerNicArgs.builder()
                .lan(exampleIonoscloudLan.id())
                .name("Nic Example")
                .dhcp(true)
                .firewallActive(true)
                .build())
            .build());
        var exampleVolume = new Volume("exampleVolume", VolumeArgs.builder()
            .serverId(exampleServer.id())
            .datacenterId(exampleIonoscloudDatacenter.id())
            .name("External 1")
            .size(10)
            .diskType("HDD")
            .availabilityZone("AUTO")
            .imageName("debian:latest")
            .imagePassword(serverImagePassword.result())
            .build());
        var example = new BootDeviceSelection("example", BootDeviceSelectionArgs.builder()
            .datacenterId(exampleIonoscloudDatacenter.id())
            .serverId(exampleServer.id())
            .bootDeviceId(exampleVolume.id())
            .build());
    }
}
resources:
  example:
    type: ionoscloud:compute:BootDeviceSelection
    properties:
      datacenterId: ${exampleIonoscloudDatacenter.id}
      serverId: ${exampleServer.id}
      bootDeviceId: ${exampleVolume.id}
  exampleServer:
    type: ionoscloud:compute:Server
    name: example
    properties:
      name: Server Example
      availabilityZone: ZONE_2
      imageName: ubuntu:latest
      cores: 2
      ram: 2048
      imagePassword: ${serverImagePassword.result}
      datacenterId: ${exampleIonoscloudDatacenter.id}
      volume:
        name: Inline Updated
        size: 20
        diskType: SSD Standard
        bus: VIRTIO
        availabilityZone: AUTO
      nic:
        lan: ${exampleIonoscloudLan.id}
        name: Nic Example
        dhcp: true
        firewallActive: true
  exampleVolume:
    type: ionoscloud:compute:Volume
    name: example
    properties:
      serverId: ${exampleServer.id}
      datacenterId: ${exampleIonoscloudDatacenter.id}
      name: External 1
      size: 10
      diskType: HDD
      availabilityZone: AUTO
      imageName: debian:latest
      imagePassword: ${serverImagePassword.result}
Select an inline volume again
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
const exampleServer = new ionoscloud.compute.Server("example", {
    name: "Server Example",
    availabilityZone: "ZONE_2",
    imageName: "ubuntu:latest",
    cores: 2,
    ram: 2048,
    imagePassword: serverImagePassword.result,
    datacenterId: exampleIonoscloudDatacenter.id,
    volume: {
        name: "Inline Updated",
        size: 20,
        diskType: "SSD Standard",
        bus: "VIRTIO",
        availabilityZone: "AUTO",
    },
    nic: {
        lan: exampleIonoscloudLan.id,
        name: "Nic Example",
        dhcp: true,
        firewallActive: true,
    },
});
const example = new ionoscloud.compute.BootDeviceSelection("example", {
    datacenterId: exampleIonoscloudDatacenter.id,
    serverId: exampleServer.id,
    bootDeviceId: exampleServer.inlineVolumeIds[0],
});
const exampleVolume = new ionoscloud.compute.Volume("example", {
    serverId: exampleServer.id,
    datacenterId: exampleIonoscloudDatacenter.id,
    name: "External 1",
    size: 10,
    diskType: "HDD",
    availabilityZone: "AUTO",
    imageName: "debian:latest",
    imagePassword: serverImagePassword.result,
});
import pulumi
import pulumi_ionoscloud as ionoscloud
example_server = ionoscloud.compute.Server("example",
    name="Server Example",
    availability_zone="ZONE_2",
    image_name="ubuntu:latest",
    cores=2,
    ram=2048,
    image_password=server_image_password["result"],
    datacenter_id=example_ionoscloud_datacenter["id"],
    volume={
        "name": "Inline Updated",
        "size": 20,
        "disk_type": "SSD Standard",
        "bus": "VIRTIO",
        "availability_zone": "AUTO",
    },
    nic={
        "lan": example_ionoscloud_lan["id"],
        "name": "Nic Example",
        "dhcp": True,
        "firewall_active": True,
    })
example = ionoscloud.compute.BootDeviceSelection("example",
    datacenter_id=example_ionoscloud_datacenter["id"],
    server_id=example_server.id,
    boot_device_id=example_server.inline_volume_ids[0])
example_volume = ionoscloud.compute.Volume("example",
    server_id=example_server.id,
    datacenter_id=example_ionoscloud_datacenter["id"],
    name="External 1",
    size=10,
    disk_type="HDD",
    availability_zone="AUTO",
    image_name="debian:latest",
    image_password=server_image_password["result"])
package main
import (
	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleServer, err := compute.NewServer(ctx, "example", &compute.ServerArgs{
			Name:             pulumi.String("Server Example"),
			AvailabilityZone: pulumi.String("ZONE_2"),
			ImageName:        pulumi.String("ubuntu:latest"),
			Cores:            pulumi.Int(2),
			Ram:              pulumi.Int(2048),
			ImagePassword:    pulumi.Any(serverImagePassword.Result),
			DatacenterId:     pulumi.Any(exampleIonoscloudDatacenter.Id),
			Volume: &compute.ServerVolumeArgs{
				Name:             pulumi.String("Inline Updated"),
				Size:             pulumi.Int(20),
				DiskType:         pulumi.String("SSD Standard"),
				Bus:              pulumi.String("VIRTIO"),
				AvailabilityZone: pulumi.String("AUTO"),
			},
			Nic: &compute.ServerNicArgs{
				Lan:            pulumi.Any(exampleIonoscloudLan.Id),
				Name:           pulumi.String("Nic Example"),
				Dhcp:           pulumi.Bool(true),
				FirewallActive: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewBootDeviceSelection(ctx, "example", &compute.BootDeviceSelectionArgs{
			DatacenterId: pulumi.Any(exampleIonoscloudDatacenter.Id),
			ServerId:     exampleServer.ID(),
			BootDeviceId: exampleServer.InlineVolumeIds.ApplyT(func(inlineVolumeIds []string) (string, error) {
				return inlineVolumeIds[0], nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewVolume(ctx, "example", &compute.VolumeArgs{
			ServerId:         exampleServer.ID(),
			DatacenterId:     pulumi.Any(exampleIonoscloudDatacenter.Id),
			Name:             pulumi.String("External 1"),
			Size:             pulumi.Int(10),
			DiskType:         pulumi.String("HDD"),
			AvailabilityZone: pulumi.String("AUTO"),
			ImageName:        pulumi.String("debian:latest"),
			ImagePassword:    pulumi.Any(serverImagePassword.Result),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
return await Deployment.RunAsync(() => 
{
    var exampleServer = new Ionoscloud.Compute.Server("example", new()
    {
        Name = "Server Example",
        AvailabilityZone = "ZONE_2",
        ImageName = "ubuntu:latest",
        Cores = 2,
        Ram = 2048,
        ImagePassword = serverImagePassword.Result,
        DatacenterId = exampleIonoscloudDatacenter.Id,
        Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
        {
            Name = "Inline Updated",
            Size = 20,
            DiskType = "SSD Standard",
            Bus = "VIRTIO",
            AvailabilityZone = "AUTO",
        },
        Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
        {
            Lan = exampleIonoscloudLan.Id,
            Name = "Nic Example",
            Dhcp = true,
            FirewallActive = true,
        },
    });
    var example = new Ionoscloud.Compute.BootDeviceSelection("example", new()
    {
        DatacenterId = exampleIonoscloudDatacenter.Id,
        ServerId = exampleServer.Id,
        BootDeviceId = exampleServer.InlineVolumeIds.Apply(inlineVolumeIds => inlineVolumeIds[0]),
    });
    var exampleVolume = new Ionoscloud.Compute.Volume("example", new()
    {
        ServerId = exampleServer.Id,
        DatacenterId = exampleIonoscloudDatacenter.Id,
        Name = "External 1",
        Size = 10,
        DiskType = "HDD",
        AvailabilityZone = "AUTO",
        ImageName = "debian:latest",
        ImagePassword = serverImagePassword.Result,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.compute.Server;
import com.pulumi.ionoscloud.compute.ServerArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.compute.BootDeviceSelection;
import com.pulumi.ionoscloud.compute.BootDeviceSelectionArgs;
import com.pulumi.ionoscloud.compute.Volume;
import com.pulumi.ionoscloud.compute.VolumeArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var exampleServer = new Server("exampleServer", ServerArgs.builder()
            .name("Server Example")
            .availabilityZone("ZONE_2")
            .imageName("ubuntu:latest")
            .cores(2)
            .ram(2048)
            .imagePassword(serverImagePassword.result())
            .datacenterId(exampleIonoscloudDatacenter.id())
            .volume(ServerVolumeArgs.builder()
                .name("Inline Updated")
                .size(20)
                .diskType("SSD Standard")
                .bus("VIRTIO")
                .availabilityZone("AUTO")
                .build())
            .nic(ServerNicArgs.builder()
                .lan(exampleIonoscloudLan.id())
                .name("Nic Example")
                .dhcp(true)
                .firewallActive(true)
                .build())
            .build());
        var example = new BootDeviceSelection("example", BootDeviceSelectionArgs.builder()
            .datacenterId(exampleIonoscloudDatacenter.id())
            .serverId(exampleServer.id())
            .bootDeviceId(exampleServer.inlineVolumeIds().applyValue(inlineVolumeIds -> inlineVolumeIds[0]))
            .build());
        var exampleVolume = new Volume("exampleVolume", VolumeArgs.builder()
            .serverId(exampleServer.id())
            .datacenterId(exampleIonoscloudDatacenter.id())
            .name("External 1")
            .size(10)
            .diskType("HDD")
            .availabilityZone("AUTO")
            .imageName("debian:latest")
            .imagePassword(serverImagePassword.result())
            .build());
    }
}
resources:
  example:
    type: ionoscloud:compute:BootDeviceSelection
    properties:
      datacenterId: ${exampleIonoscloudDatacenter.id}
      serverId: ${exampleServer.id}
      bootDeviceId: ${exampleServer.inlineVolumeIds[0]}
  exampleServer:
    type: ionoscloud:compute:Server
    name: example
    properties:
      name: Server Example
      availabilityZone: ZONE_2
      imageName: ubuntu:latest
      cores: 2
      ram: 2048
      imagePassword: ${serverImagePassword.result}
      datacenterId: ${exampleIonoscloudDatacenter.id}
      volume:
        name: Inline Updated
        size: 20
        diskType: SSD Standard
        bus: VIRTIO
        availabilityZone: AUTO
      nic:
        lan: ${exampleIonoscloudLan.id}
        name: Nic Example
        dhcp: true
        firewallActive: true
  exampleVolume:
    type: ionoscloud:compute:Volume
    name: example
    properties:
      serverId: ${exampleServer.id}
      datacenterId: ${exampleIonoscloudDatacenter.id}
      name: External 1
      size: 10
      diskType: HDD
      availabilityZone: AUTO
      imageName: debian:latest
      imagePassword: ${serverImagePassword.result}
Select a CDROM image
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
import * as ionoscloud from "@pulumi/ionoscloud";
const exampleServer = new ionoscloud.compute.Server("example", {
    name: "Server Example",
    availabilityZone: "ZONE_2",
    imageName: "ubuntu:latest",
    cores: 2,
    ram: 2048,
    imagePassword: serverImagePassword.result,
    datacenterId: exampleIonoscloudDatacenter.id,
    volume: {
        name: "Inline Updated",
        size: 20,
        diskType: "SSD Standard",
        bus: "VIRTIO",
        availabilityZone: "AUTO",
    },
    nic: {
        lan: exampleIonoscloudLan.id,
        name: "Nic Example",
        dhcp: true,
        firewallActive: true,
    },
});
const example = ionoscloud.compute.getImage({
    name: "ubuntu-20.04",
    location: "de/txl",
    type: "CDROM",
});
const exampleBootDeviceSelection = new ionoscloud.compute.BootDeviceSelection("example", {
    datacenterId: exampleIonoscloudDatacenter.id,
    serverId: exampleServer.inlineVolumeIds[0],
    bootDeviceId: example.then(example => example.id),
});
const exampleVolume = new ionoscloud.compute.Volume("example", {
    serverId: exampleServer.id,
    datacenterId: exampleIonoscloudDatacenter.id,
    name: "External 1",
    size: 10,
    diskType: "HDD",
    availabilityZone: "AUTO",
    imageName: "debian:latest",
    imagePassword: serverImagePassword.result,
});
import pulumi
import pulumi_ionoscloud as ionoscloud
example_server = ionoscloud.compute.Server("example",
    name="Server Example",
    availability_zone="ZONE_2",
    image_name="ubuntu:latest",
    cores=2,
    ram=2048,
    image_password=server_image_password["result"],
    datacenter_id=example_ionoscloud_datacenter["id"],
    volume={
        "name": "Inline Updated",
        "size": 20,
        "disk_type": "SSD Standard",
        "bus": "VIRTIO",
        "availability_zone": "AUTO",
    },
    nic={
        "lan": example_ionoscloud_lan["id"],
        "name": "Nic Example",
        "dhcp": True,
        "firewall_active": True,
    })
example = ionoscloud.compute.get_image(name="ubuntu-20.04",
    location="de/txl",
    type="CDROM")
example_boot_device_selection = ionoscloud.compute.BootDeviceSelection("example",
    datacenter_id=example_ionoscloud_datacenter["id"],
    server_id=example_server.inline_volume_ids[0],
    boot_device_id=example.id)
example_volume = ionoscloud.compute.Volume("example",
    server_id=example_server.id,
    datacenter_id=example_ionoscloud_datacenter["id"],
    name="External 1",
    size=10,
    disk_type="HDD",
    availability_zone="AUTO",
    image_name="debian:latest",
    image_password=server_image_password["result"])
package main
import (
	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleServer, err := compute.NewServer(ctx, "example", &compute.ServerArgs{
			Name:             pulumi.String("Server Example"),
			AvailabilityZone: pulumi.String("ZONE_2"),
			ImageName:        pulumi.String("ubuntu:latest"),
			Cores:            pulumi.Int(2),
			Ram:              pulumi.Int(2048),
			ImagePassword:    pulumi.Any(serverImagePassword.Result),
			DatacenterId:     pulumi.Any(exampleIonoscloudDatacenter.Id),
			Volume: &compute.ServerVolumeArgs{
				Name:             pulumi.String("Inline Updated"),
				Size:             pulumi.Int(20),
				DiskType:         pulumi.String("SSD Standard"),
				Bus:              pulumi.String("VIRTIO"),
				AvailabilityZone: pulumi.String("AUTO"),
			},
			Nic: &compute.ServerNicArgs{
				Lan:            pulumi.Any(exampleIonoscloudLan.Id),
				Name:           pulumi.String("Nic Example"),
				Dhcp:           pulumi.Bool(true),
				FirewallActive: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		example, err := compute.GetImage(ctx, &compute.GetImageArgs{
			Name:     pulumi.StringRef("ubuntu-20.04"),
			Location: pulumi.StringRef("de/txl"),
			Type:     pulumi.StringRef("CDROM"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = compute.NewBootDeviceSelection(ctx, "example", &compute.BootDeviceSelectionArgs{
			DatacenterId: pulumi.Any(exampleIonoscloudDatacenter.Id),
			ServerId: exampleServer.InlineVolumeIds.ApplyT(func(inlineVolumeIds []string) (string, error) {
				return inlineVolumeIds[0], nil
			}).(pulumi.StringOutput),
			BootDeviceId: pulumi.String(example.Id),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewVolume(ctx, "example", &compute.VolumeArgs{
			ServerId:         exampleServer.ID(),
			DatacenterId:     pulumi.Any(exampleIonoscloudDatacenter.Id),
			Name:             pulumi.String("External 1"),
			Size:             pulumi.Int(10),
			DiskType:         pulumi.String("HDD"),
			AvailabilityZone: pulumi.String("AUTO"),
			ImageName:        pulumi.String("debian:latest"),
			ImagePassword:    pulumi.Any(serverImagePassword.Result),
		})
		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;
return await Deployment.RunAsync(() => 
{
    var exampleServer = new Ionoscloud.Compute.Server("example", new()
    {
        Name = "Server Example",
        AvailabilityZone = "ZONE_2",
        ImageName = "ubuntu:latest",
        Cores = 2,
        Ram = 2048,
        ImagePassword = serverImagePassword.Result,
        DatacenterId = exampleIonoscloudDatacenter.Id,
        Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
        {
            Name = "Inline Updated",
            Size = 20,
            DiskType = "SSD Standard",
            Bus = "VIRTIO",
            AvailabilityZone = "AUTO",
        },
        Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
        {
            Lan = exampleIonoscloudLan.Id,
            Name = "Nic Example",
            Dhcp = true,
            FirewallActive = true,
        },
    });
    var example = Ionoscloud.Compute.GetImage.Invoke(new()
    {
        Name = "ubuntu-20.04",
        Location = "de/txl",
        Type = "CDROM",
    });
    var exampleBootDeviceSelection = new Ionoscloud.Compute.BootDeviceSelection("example", new()
    {
        DatacenterId = exampleIonoscloudDatacenter.Id,
        ServerId = exampleServer.InlineVolumeIds.Apply(inlineVolumeIds => inlineVolumeIds[0]),
        BootDeviceId = example.Apply(getImageResult => getImageResult.Id),
    });
    var exampleVolume = new Ionoscloud.Compute.Volume("example", new()
    {
        ServerId = exampleServer.Id,
        DatacenterId = exampleIonoscloudDatacenter.Id,
        Name = "External 1",
        Size = 10,
        DiskType = "HDD",
        AvailabilityZone = "AUTO",
        ImageName = "debian:latest",
        ImagePassword = serverImagePassword.Result,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.compute.Server;
import com.pulumi.ionoscloud.compute.ServerArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.compute.ComputeFunctions;
import com.pulumi.ionoscloud.compute.inputs.GetImageArgs;
import com.pulumi.ionoscloud.compute.BootDeviceSelection;
import com.pulumi.ionoscloud.compute.BootDeviceSelectionArgs;
import com.pulumi.ionoscloud.compute.Volume;
import com.pulumi.ionoscloud.compute.VolumeArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var exampleServer = new Server("exampleServer", ServerArgs.builder()
            .name("Server Example")
            .availabilityZone("ZONE_2")
            .imageName("ubuntu:latest")
            .cores(2)
            .ram(2048)
            .imagePassword(serverImagePassword.result())
            .datacenterId(exampleIonoscloudDatacenter.id())
            .volume(ServerVolumeArgs.builder()
                .name("Inline Updated")
                .size(20)
                .diskType("SSD Standard")
                .bus("VIRTIO")
                .availabilityZone("AUTO")
                .build())
            .nic(ServerNicArgs.builder()
                .lan(exampleIonoscloudLan.id())
                .name("Nic Example")
                .dhcp(true)
                .firewallActive(true)
                .build())
            .build());
        final var example = ComputeFunctions.getImage(GetImageArgs.builder()
            .name("ubuntu-20.04")
            .location("de/txl")
            .type("CDROM")
            .build());
        var exampleBootDeviceSelection = new BootDeviceSelection("exampleBootDeviceSelection", BootDeviceSelectionArgs.builder()
            .datacenterId(exampleIonoscloudDatacenter.id())
            .serverId(exampleServer.inlineVolumeIds().applyValue(inlineVolumeIds -> inlineVolumeIds[0]))
            .bootDeviceId(example.applyValue(getImageResult -> getImageResult.id()))
            .build());
        var exampleVolume = new Volume("exampleVolume", VolumeArgs.builder()
            .serverId(exampleServer.id())
            .datacenterId(exampleIonoscloudDatacenter.id())
            .name("External 1")
            .size(10)
            .diskType("HDD")
            .availabilityZone("AUTO")
            .imageName("debian:latest")
            .imagePassword(serverImagePassword.result())
            .build());
    }
}
resources:
  exampleBootDeviceSelection:
    type: ionoscloud:compute:BootDeviceSelection
    name: example
    properties:
      datacenterId: ${exampleIonoscloudDatacenter.id}
      serverId: ${exampleServer.inlineVolumeIds[0]}
      bootDeviceId: ${example.id}
  exampleServer:
    type: ionoscloud:compute:Server
    name: example
    properties:
      name: Server Example
      availabilityZone: ZONE_2
      imageName: ubuntu:latest
      cores: 2
      ram: 2048
      imagePassword: ${serverImagePassword.result}
      datacenterId: ${exampleIonoscloudDatacenter.id}
      volume:
        name: Inline Updated
        size: 20
        diskType: SSD Standard
        bus: VIRTIO
        availabilityZone: AUTO
      nic:
        lan: ${exampleIonoscloudLan.id}
        name: Nic Example
        dhcp: true
        firewallActive: true
  exampleVolume:
    type: ionoscloud:compute:Volume
    name: example
    properties:
      serverId: ${exampleServer.id}
      datacenterId: ${exampleIonoscloudDatacenter.id}
      name: External 1
      size: 10
      diskType: HDD
      availabilityZone: AUTO
      imageName: debian:latest
      imagePassword: ${serverImagePassword.result}
variables:
  example:
    fn::invoke:
      function: ionoscloud:compute:getImage
      arguments:
        name: ubuntu-20.04
        location: de/txl
        type: CDROM
Perform a network boot
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
import * as ionoscloud from "@pulumi/ionoscloud";
const exampleServer = new ionoscloud.compute.Server("example", {
    name: "Server Example",
    availabilityZone: "ZONE_2",
    imageName: "ubuntu:latest",
    cores: 2,
    ram: 2048,
    imagePassword: serverImagePassword.result,
    datacenterId: exampleIonoscloudDatacenter.id,
    volume: {
        name: "Inline volume",
        size: 20,
        diskType: "SSD Standard",
        bus: "VIRTIO",
        availabilityZone: "AUTO",
    },
    nic: {
        lan: exampleIonoscloudLan.id,
        name: "Nic Example",
        dhcp: true,
        firewallActive: true,
    },
});
const exampleBootDeviceSelection = new ionoscloud.compute.BootDeviceSelection("example", {
    datacenterId: exampleIonoscloudDatacenter.id,
    serverId: exampleServer.inlineVolumeIds[0],
});
const exampleVolume = new ionoscloud.compute.Volume("example", {
    serverId: exampleServer.id,
    datacenterId: exampleIonoscloudDatacenter.id,
    name: "External 1",
    size: 10,
    diskType: "HDD",
    availabilityZone: "AUTO",
    imageName: "debian:latest",
    imagePassword: serverImagePassword.result,
});
const example = ionoscloud.compute.getImage({
    name: "ubuntu-20.04",
    location: "de/txl",
    type: "CDROM",
});
import pulumi
import pulumi_ionoscloud as ionoscloud
example_server = ionoscloud.compute.Server("example",
    name="Server Example",
    availability_zone="ZONE_2",
    image_name="ubuntu:latest",
    cores=2,
    ram=2048,
    image_password=server_image_password["result"],
    datacenter_id=example_ionoscloud_datacenter["id"],
    volume={
        "name": "Inline volume",
        "size": 20,
        "disk_type": "SSD Standard",
        "bus": "VIRTIO",
        "availability_zone": "AUTO",
    },
    nic={
        "lan": example_ionoscloud_lan["id"],
        "name": "Nic Example",
        "dhcp": True,
        "firewall_active": True,
    })
example_boot_device_selection = ionoscloud.compute.BootDeviceSelection("example",
    datacenter_id=example_ionoscloud_datacenter["id"],
    server_id=example_server.inline_volume_ids[0])
example_volume = ionoscloud.compute.Volume("example",
    server_id=example_server.id,
    datacenter_id=example_ionoscloud_datacenter["id"],
    name="External 1",
    size=10,
    disk_type="HDD",
    availability_zone="AUTO",
    image_name="debian:latest",
    image_password=server_image_password["result"])
example = ionoscloud.compute.get_image(name="ubuntu-20.04",
    location="de/txl",
    type="CDROM")
package main
import (
	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleServer, err := compute.NewServer(ctx, "example", &compute.ServerArgs{
			Name:             pulumi.String("Server Example"),
			AvailabilityZone: pulumi.String("ZONE_2"),
			ImageName:        pulumi.String("ubuntu:latest"),
			Cores:            pulumi.Int(2),
			Ram:              pulumi.Int(2048),
			ImagePassword:    pulumi.Any(serverImagePassword.Result),
			DatacenterId:     pulumi.Any(exampleIonoscloudDatacenter.Id),
			Volume: &compute.ServerVolumeArgs{
				Name:             pulumi.String("Inline volume"),
				Size:             pulumi.Int(20),
				DiskType:         pulumi.String("SSD Standard"),
				Bus:              pulumi.String("VIRTIO"),
				AvailabilityZone: pulumi.String("AUTO"),
			},
			Nic: &compute.ServerNicArgs{
				Lan:            pulumi.Any(exampleIonoscloudLan.Id),
				Name:           pulumi.String("Nic Example"),
				Dhcp:           pulumi.Bool(true),
				FirewallActive: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewBootDeviceSelection(ctx, "example", &compute.BootDeviceSelectionArgs{
			DatacenterId: pulumi.Any(exampleIonoscloudDatacenter.Id),
			ServerId: exampleServer.InlineVolumeIds.ApplyT(func(inlineVolumeIds []string) (string, error) {
				return inlineVolumeIds[0], nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewVolume(ctx, "example", &compute.VolumeArgs{
			ServerId:         exampleServer.ID(),
			DatacenterId:     pulumi.Any(exampleIonoscloudDatacenter.Id),
			Name:             pulumi.String("External 1"),
			Size:             pulumi.Int(10),
			DiskType:         pulumi.String("HDD"),
			AvailabilityZone: pulumi.String("AUTO"),
			ImageName:        pulumi.String("debian:latest"),
			ImagePassword:    pulumi.Any(serverImagePassword.Result),
		})
		if err != nil {
			return err
		}
		_, err = compute.GetImage(ctx, &compute.GetImageArgs{
			Name:     pulumi.StringRef("ubuntu-20.04"),
			Location: pulumi.StringRef("de/txl"),
			Type:     pulumi.StringRef("CDROM"),
		}, nil)
		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;
return await Deployment.RunAsync(() => 
{
    var exampleServer = new Ionoscloud.Compute.Server("example", new()
    {
        Name = "Server Example",
        AvailabilityZone = "ZONE_2",
        ImageName = "ubuntu:latest",
        Cores = 2,
        Ram = 2048,
        ImagePassword = serverImagePassword.Result,
        DatacenterId = exampleIonoscloudDatacenter.Id,
        Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
        {
            Name = "Inline volume",
            Size = 20,
            DiskType = "SSD Standard",
            Bus = "VIRTIO",
            AvailabilityZone = "AUTO",
        },
        Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
        {
            Lan = exampleIonoscloudLan.Id,
            Name = "Nic Example",
            Dhcp = true,
            FirewallActive = true,
        },
    });
    var exampleBootDeviceSelection = new Ionoscloud.Compute.BootDeviceSelection("example", new()
    {
        DatacenterId = exampleIonoscloudDatacenter.Id,
        ServerId = exampleServer.InlineVolumeIds.Apply(inlineVolumeIds => inlineVolumeIds[0]),
    });
    var exampleVolume = new Ionoscloud.Compute.Volume("example", new()
    {
        ServerId = exampleServer.Id,
        DatacenterId = exampleIonoscloudDatacenter.Id,
        Name = "External 1",
        Size = 10,
        DiskType = "HDD",
        AvailabilityZone = "AUTO",
        ImageName = "debian:latest",
        ImagePassword = serverImagePassword.Result,
    });
    var example = Ionoscloud.Compute.GetImage.Invoke(new()
    {
        Name = "ubuntu-20.04",
        Location = "de/txl",
        Type = "CDROM",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.compute.Server;
import com.pulumi.ionoscloud.compute.ServerArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.compute.BootDeviceSelection;
import com.pulumi.ionoscloud.compute.BootDeviceSelectionArgs;
import com.pulumi.ionoscloud.compute.Volume;
import com.pulumi.ionoscloud.compute.VolumeArgs;
import com.pulumi.ionoscloud.compute.ComputeFunctions;
import com.pulumi.ionoscloud.compute.inputs.GetImageArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var exampleServer = new Server("exampleServer", ServerArgs.builder()
            .name("Server Example")
            .availabilityZone("ZONE_2")
            .imageName("ubuntu:latest")
            .cores(2)
            .ram(2048)
            .imagePassword(serverImagePassword.result())
            .datacenterId(exampleIonoscloudDatacenter.id())
            .volume(ServerVolumeArgs.builder()
                .name("Inline volume")
                .size(20)
                .diskType("SSD Standard")
                .bus("VIRTIO")
                .availabilityZone("AUTO")
                .build())
            .nic(ServerNicArgs.builder()
                .lan(exampleIonoscloudLan.id())
                .name("Nic Example")
                .dhcp(true)
                .firewallActive(true)
                .build())
            .build());
        var exampleBootDeviceSelection = new BootDeviceSelection("exampleBootDeviceSelection", BootDeviceSelectionArgs.builder()
            .datacenterId(exampleIonoscloudDatacenter.id())
            .serverId(exampleServer.inlineVolumeIds().applyValue(inlineVolumeIds -> inlineVolumeIds[0]))
            .build());
        var exampleVolume = new Volume("exampleVolume", VolumeArgs.builder()
            .serverId(exampleServer.id())
            .datacenterId(exampleIonoscloudDatacenter.id())
            .name("External 1")
            .size(10)
            .diskType("HDD")
            .availabilityZone("AUTO")
            .imageName("debian:latest")
            .imagePassword(serverImagePassword.result())
            .build());
        final var example = ComputeFunctions.getImage(GetImageArgs.builder()
            .name("ubuntu-20.04")
            .location("de/txl")
            .type("CDROM")
            .build());
    }
}
resources:
  exampleBootDeviceSelection:
    type: ionoscloud:compute:BootDeviceSelection
    name: example
    properties:
      datacenterId: ${exampleIonoscloudDatacenter.id}
      serverId: ${exampleServer.inlineVolumeIds[0]}
  exampleServer:
    type: ionoscloud:compute:Server
    name: example
    properties:
      name: Server Example
      availabilityZone: ZONE_2
      imageName: ubuntu:latest
      cores: 2
      ram: 2048
      imagePassword: ${serverImagePassword.result}
      datacenterId: ${exampleIonoscloudDatacenter.id}
      volume:
        name: Inline volume
        size: 20
        diskType: SSD Standard
        bus: VIRTIO
        availabilityZone: AUTO
      nic:
        lan: ${exampleIonoscloudLan.id}
        name: Nic Example
        dhcp: true
        firewallActive: true
  exampleVolume:
    type: ionoscloud:compute:Volume
    name: example
    properties:
      serverId: ${exampleServer.id}
      datacenterId: ${exampleIonoscloudDatacenter.id}
      name: External 1
      size: 10
      diskType: HDD
      availabilityZone: AUTO
      imageName: debian:latest
      imagePassword: ${serverImagePassword.result}
variables:
  example:
    fn::invoke:
      function: ionoscloud:compute:getImage
      arguments:
        name: ubuntu-20.04
        location: de/txl
        type: CDROM
Create BootDeviceSelection Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new BootDeviceSelection(name: string, args: BootDeviceSelectionArgs, opts?: CustomResourceOptions);@overload
def BootDeviceSelection(resource_name: str,
                        args: BootDeviceSelectionArgs,
                        opts: Optional[ResourceOptions] = None)
@overload
def BootDeviceSelection(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        datacenter_id: Optional[str] = None,
                        server_id: Optional[str] = None,
                        boot_device_id: Optional[str] = None)func NewBootDeviceSelection(ctx *Context, name string, args BootDeviceSelectionArgs, opts ...ResourceOption) (*BootDeviceSelection, error)public BootDeviceSelection(string name, BootDeviceSelectionArgs args, CustomResourceOptions? opts = null)
public BootDeviceSelection(String name, BootDeviceSelectionArgs args)
public BootDeviceSelection(String name, BootDeviceSelectionArgs args, CustomResourceOptions options)
type: ionoscloud:compute:BootDeviceSelection
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 BootDeviceSelectionArgs
 - 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 BootDeviceSelectionArgs
 - 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 BootDeviceSelectionArgs
 - The arguments to resource properties.
 - opts ResourceOption
 - Bag of options to control resource's behavior.
 
- name string
 - The unique name of the resource.
 - args BootDeviceSelectionArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- name String
 - The unique name of the resource.
 - args BootDeviceSelectionArgs
 - 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 bootDeviceSelectionResource = new Ionoscloud.Compute.BootDeviceSelection("bootDeviceSelectionResource", new()
{
    DatacenterId = "string",
    ServerId = "string",
    BootDeviceId = "string",
});
example, err := compute.NewBootDeviceSelection(ctx, "bootDeviceSelectionResource", &compute.BootDeviceSelectionArgs{
	DatacenterId: pulumi.String("string"),
	ServerId:     pulumi.String("string"),
	BootDeviceId: pulumi.String("string"),
})
var bootDeviceSelectionResource = new BootDeviceSelection("bootDeviceSelectionResource", BootDeviceSelectionArgs.builder()
    .datacenterId("string")
    .serverId("string")
    .bootDeviceId("string")
    .build());
boot_device_selection_resource = ionoscloud.compute.BootDeviceSelection("bootDeviceSelectionResource",
    datacenter_id="string",
    server_id="string",
    boot_device_id="string")
const bootDeviceSelectionResource = new ionoscloud.compute.BootDeviceSelection("bootDeviceSelectionResource", {
    datacenterId: "string",
    serverId: "string",
    bootDeviceId: "string",
});
type: ionoscloud:compute:BootDeviceSelection
properties:
    bootDeviceId: string
    datacenterId: string
    serverId: string
BootDeviceSelection 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 BootDeviceSelection resource accepts the following input properties:
- Datacenter
Id string - [string] The ID of a Virtual Data Center.
 - Server
Id string - [string] The ID of a server.
 - Boot
Device stringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 
- Datacenter
Id string - [string] The ID of a Virtual Data Center.
 - Server
Id string - [string] The ID of a server.
 - Boot
Device stringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 
- datacenter
Id String - [string] The ID of a Virtual Data Center.
 - server
Id String - [string] The ID of a server.
 - boot
Device StringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 
- datacenter
Id string - [string] The ID of a Virtual Data Center.
 - server
Id string - [string] The ID of a server.
 - boot
Device stringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 
- datacenter_
id str - [string] The ID of a Virtual Data Center.
 - server_
id str - [string] The ID of a server.
 - boot_
device_ strid  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 
- datacenter
Id String - [string] The ID of a Virtual Data Center.
 - server
Id String - [string] The ID of a server.
 - boot
Device StringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 
Outputs
All input properties are implicitly available as output properties. Additionally, the BootDeviceSelection resource produces the following output properties:
- Default
Boot stringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - Id string
 - The provider-assigned unique ID for this managed resource.
 
- Default
Boot stringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - Id string
 - The provider-assigned unique ID for this managed resource.
 
- default
Boot StringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - id String
 - The provider-assigned unique ID for this managed resource.
 
- default
Boot stringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - id string
 - The provider-assigned unique ID for this managed resource.
 
- default_
boot_ strvolume_ id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - id str
 - The provider-assigned unique ID for this managed resource.
 
- default
Boot StringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - id String
 - The provider-assigned unique ID for this managed resource.
 
Look up Existing BootDeviceSelection Resource
Get an existing BootDeviceSelection 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?: BootDeviceSelectionState, opts?: CustomResourceOptions): BootDeviceSelection@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        boot_device_id: Optional[str] = None,
        datacenter_id: Optional[str] = None,
        default_boot_volume_id: Optional[str] = None,
        server_id: Optional[str] = None) -> BootDeviceSelectionfunc GetBootDeviceSelection(ctx *Context, name string, id IDInput, state *BootDeviceSelectionState, opts ...ResourceOption) (*BootDeviceSelection, error)public static BootDeviceSelection Get(string name, Input<string> id, BootDeviceSelectionState? state, CustomResourceOptions? opts = null)public static BootDeviceSelection get(String name, Output<String> id, BootDeviceSelectionState state, CustomResourceOptions options)resources:  _:    type: ionoscloud:compute:BootDeviceSelection    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.
 
- Boot
Device stringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 - Datacenter
Id string - [string] The ID of a Virtual Data Center.
 - Default
Boot stringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - Server
Id string - [string] The ID of a server.
 
- Boot
Device stringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 - Datacenter
Id string - [string] The ID of a Virtual Data Center.
 - Default
Boot stringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - Server
Id string - [string] The ID of a server.
 
- boot
Device StringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 - datacenter
Id String - [string] The ID of a Virtual Data Center.
 - default
Boot StringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - server
Id String - [string] The ID of a server.
 
- boot
Device stringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 - datacenter
Id string - [string] The ID of a Virtual Data Center.
 - default
Boot stringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - server
Id string - [string] The ID of a server.
 
- boot_
device_ strid  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 - datacenter_
id str - [string] The ID of a Virtual Data Center.
 - default_
boot_ strvolume_ id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - server_
id str - [string] The ID of a server.
 
- boot
Device StringId  - [string] The ID of a bootable device such as a volume or an image data source. If this field is omitted from the configuration, the VM will be restarted with no primary boot device, and it will enter the PXE shell for network booting. Note: If the network booting process started by the PXE shell fails, the VM will still boot into the image of the attached storage as a fallback. This behavior imitates the "Boot from Network" option from DCD.
 - datacenter
Id String - [string] The ID of a Virtual Data Center.
 - default
Boot StringVolume Id  - ID of the first attached volume of the Server, which will be the default boot volume.
 - server
Id String - [string] The ID of a server.
 
Package Details
- Repository
 - ionoscloud ionos-cloud/pulumi-ionoscloud
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
ionoscloudTerraform Provider.