ionoscloud.ServerBootDeviceSelection
Explore with Pulumi AI
Manages the selection of a boot device for IonosCloud Servers.
Example Usage
The boot device of a ionoscloud.Server
, ionoscloud.VcpuServer
or ionoscloud.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.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 "@pulumi/ionoscloud";
const exampleServer = new ionoscloud.Server("exampleServer", {
availabilityZone: "ZONE_2",
imageName: "ubuntu:latest",
cores: 2,
ram: 2048,
imagePassword: random_password.server_image_password.result,
datacenterId: ionoscloud_datacenter.example.id,
volume: {
name: "Inline Updated",
size: 20,
diskType: "SSD Standard",
bus: "VIRTIO",
availabilityZone: "AUTO",
},
nic: {
lan: ionoscloud_lan.example.id,
name: "Nic Example",
dhcp: true,
firewallActive: true,
},
});
const exampleVolume = new ionoscloud.Volume("exampleVolume", {
serverId: exampleServer.serverId,
datacenterId: ionoscloud_datacenter.example.id,
size: 10,
diskType: "HDD",
availabilityZone: "AUTO",
imageName: "debian:latest",
imagePassword: random_password.server_image_password.result,
});
const exampleServerBootDeviceSelection = new ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection", {
datacenterId: ionoscloud_datacenter.example.id,
serverId: exampleServer.serverId,
bootDeviceId: exampleVolume.volumeId,
});
import pulumi
import pulumi_ionoscloud as ionoscloud
example_server = ionoscloud.Server("exampleServer",
availability_zone="ZONE_2",
image_name="ubuntu:latest",
cores=2,
ram=2048,
image_password=random_password["server_image_password"]["result"],
datacenter_id=ionoscloud_datacenter["example"]["id"],
volume={
"name": "Inline Updated",
"size": 20,
"disk_type": "SSD Standard",
"bus": "VIRTIO",
"availability_zone": "AUTO",
},
nic={
"lan": ionoscloud_lan["example"]["id"],
"name": "Nic Example",
"dhcp": True,
"firewall_active": True,
})
example_volume = ionoscloud.Volume("exampleVolume",
server_id=example_server.server_id,
datacenter_id=ionoscloud_datacenter["example"]["id"],
size=10,
disk_type="HDD",
availability_zone="AUTO",
image_name="debian:latest",
image_password=random_password["server_image_password"]["result"])
example_server_boot_device_selection = ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection",
datacenter_id=ionoscloud_datacenter["example"]["id"],
server_id=example_server.server_id,
boot_device_id=example_volume.volume_id)
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleServer, err := ionoscloud.NewServer(ctx, "exampleServer", &ionoscloud.ServerArgs{
AvailabilityZone: pulumi.String("ZONE_2"),
ImageName: pulumi.String("ubuntu:latest"),
Cores: pulumi.Float64(2),
Ram: pulumi.Float64(2048),
ImagePassword: pulumi.Any(random_password.Server_image_password.Result),
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
Volume: &ionoscloud.ServerVolumeArgs{
Name: pulumi.String("Inline Updated"),
Size: pulumi.Float64(20),
DiskType: pulumi.String("SSD Standard"),
Bus: pulumi.String("VIRTIO"),
AvailabilityZone: pulumi.String("AUTO"),
},
Nic: &ionoscloud.ServerNicArgs{
Lan: pulumi.Any(ionoscloud_lan.Example.Id),
Name: pulumi.String("Nic Example"),
Dhcp: pulumi.Bool(true),
FirewallActive: pulumi.Bool(true),
},
})
if err != nil {
return err
}
exampleVolume, err := ionoscloud.NewVolume(ctx, "exampleVolume", &ionoscloud.VolumeArgs{
ServerId: exampleServer.ServerId,
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
Size: pulumi.Float64(10),
DiskType: pulumi.String("HDD"),
AvailabilityZone: pulumi.String("AUTO"),
ImageName: pulumi.String("debian:latest"),
ImagePassword: pulumi.Any(random_password.Server_image_password.Result),
})
if err != nil {
return err
}
_, err = ionoscloud.NewServerBootDeviceSelection(ctx, "exampleServerBootDeviceSelection", &ionoscloud.ServerBootDeviceSelectionArgs{
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
ServerId: exampleServer.ServerId,
BootDeviceId: exampleVolume.VolumeId,
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Pulumi.Ionoscloud;
return await Deployment.RunAsync(() =>
{
var exampleServer = new Ionoscloud.Server("exampleServer", new()
{
AvailabilityZone = "ZONE_2",
ImageName = "ubuntu:latest",
Cores = 2,
Ram = 2048,
ImagePassword = random_password.Server_image_password.Result,
DatacenterId = ionoscloud_datacenter.Example.Id,
Volume = new Ionoscloud.Inputs.ServerVolumeArgs
{
Name = "Inline Updated",
Size = 20,
DiskType = "SSD Standard",
Bus = "VIRTIO",
AvailabilityZone = "AUTO",
},
Nic = new Ionoscloud.Inputs.ServerNicArgs
{
Lan = ionoscloud_lan.Example.Id,
Name = "Nic Example",
Dhcp = true,
FirewallActive = true,
},
});
var exampleVolume = new Ionoscloud.Volume("exampleVolume", new()
{
ServerId = exampleServer.ServerId,
DatacenterId = ionoscloud_datacenter.Example.Id,
Size = 10,
DiskType = "HDD",
AvailabilityZone = "AUTO",
ImageName = "debian:latest",
ImagePassword = random_password.Server_image_password.Result,
});
var exampleServerBootDeviceSelection = new Ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection", new()
{
DatacenterId = ionoscloud_datacenter.Example.Id,
ServerId = exampleServer.ServerId,
BootDeviceId = exampleVolume.VolumeId,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.Server;
import com.pulumi.ionoscloud.ServerArgs;
import com.pulumi.ionoscloud.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.Volume;
import com.pulumi.ionoscloud.VolumeArgs;
import com.pulumi.ionoscloud.ServerBootDeviceSelection;
import com.pulumi.ionoscloud.ServerBootDeviceSelectionArgs;
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()
.availabilityZone("ZONE_2")
.imageName("ubuntu:latest")
.cores(2)
.ram(2048)
.imagePassword(random_password.server_image_password().result())
.datacenterId(ionoscloud_datacenter.example().id())
.volume(ServerVolumeArgs.builder()
.name("Inline Updated")
.size(20)
.diskType("SSD Standard")
.bus("VIRTIO")
.availabilityZone("AUTO")
.build())
.nic(ServerNicArgs.builder()
.lan(ionoscloud_lan.example().id())
.name("Nic Example")
.dhcp(true)
.firewallActive(true)
.build())
.build());
var exampleVolume = new Volume("exampleVolume", VolumeArgs.builder()
.serverId(exampleServer.serverId())
.datacenterId(ionoscloud_datacenter.example().id())
.size(10)
.diskType("HDD")
.availabilityZone("AUTO")
.imageName("debian:latest")
.imagePassword(random_password.server_image_password().result())
.build());
var exampleServerBootDeviceSelection = new ServerBootDeviceSelection("exampleServerBootDeviceSelection", ServerBootDeviceSelectionArgs.builder()
.datacenterId(ionoscloud_datacenter.example().id())
.serverId(exampleServer.serverId())
.bootDeviceId(exampleVolume.volumeId())
.build());
}
}
resources:
exampleServerBootDeviceSelection:
type: ionoscloud:ServerBootDeviceSelection
properties:
datacenterId: ${ionoscloud_datacenter.example.id}
serverId: ${exampleServer.serverId}
bootDeviceId: ${exampleVolume.volumeId}
exampleServer:
type: ionoscloud:Server
properties:
availabilityZone: ZONE_2
imageName: ubuntu:latest
cores: 2
ram: 2048
imagePassword: ${random_password.server_image_password.result}
datacenterId: ${ionoscloud_datacenter.example.id}
volume:
name: Inline Updated
size: 20
diskType: SSD Standard
bus: VIRTIO
availabilityZone: AUTO
nic:
lan: ${ionoscloud_lan.example.id}
name: Nic Example
dhcp: true
firewallActive: true
exampleVolume:
type: ionoscloud:Volume
properties:
serverId: ${exampleServer.serverId}
datacenterId: ${ionoscloud_datacenter.example.id}
size: 10
diskType: HDD
availabilityZone: AUTO
imageName: debian:latest
imagePassword: ${random_password.server_image_password.result}
Select an inline volume again
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@pulumi/ionoscloud";
const exampleServer = new ionoscloud.Server("exampleServer", {
availabilityZone: "ZONE_2",
imageName: "ubuntu:latest",
cores: 2,
ram: 2048,
imagePassword: random_password.server_image_password.result,
datacenterId: ionoscloud_datacenter.example.id,
volume: {
name: "Inline Updated",
size: 20,
diskType: "SSD Standard",
bus: "VIRTIO",
availabilityZone: "AUTO",
},
nic: {
lan: ionoscloud_lan.example.id,
name: "Nic Example",
dhcp: true,
firewallActive: true,
},
});
const exampleServerBootDeviceSelection = new ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection", {
datacenterId: ionoscloud_datacenter.example.id,
serverId: exampleServer.serverId,
bootDeviceId: exampleServer.inlineVolumeIds[0],
});
const exampleVolume = new ionoscloud.Volume("exampleVolume", {
serverId: exampleServer.serverId,
datacenterId: ionoscloud_datacenter.example.id,
size: 10,
diskType: "HDD",
availabilityZone: "AUTO",
imageName: "debian:latest",
imagePassword: random_password.server_image_password.result,
});
import pulumi
import pulumi_ionoscloud as ionoscloud
example_server = ionoscloud.Server("exampleServer",
availability_zone="ZONE_2",
image_name="ubuntu:latest",
cores=2,
ram=2048,
image_password=random_password["server_image_password"]["result"],
datacenter_id=ionoscloud_datacenter["example"]["id"],
volume={
"name": "Inline Updated",
"size": 20,
"disk_type": "SSD Standard",
"bus": "VIRTIO",
"availability_zone": "AUTO",
},
nic={
"lan": ionoscloud_lan["example"]["id"],
"name": "Nic Example",
"dhcp": True,
"firewall_active": True,
})
example_server_boot_device_selection = ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection",
datacenter_id=ionoscloud_datacenter["example"]["id"],
server_id=example_server.server_id,
boot_device_id=example_server.inline_volume_ids[0])
example_volume = ionoscloud.Volume("exampleVolume",
server_id=example_server.server_id,
datacenter_id=ionoscloud_datacenter["example"]["id"],
size=10,
disk_type="HDD",
availability_zone="AUTO",
image_name="debian:latest",
image_password=random_password["server_image_password"]["result"])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleServer, err := ionoscloud.NewServer(ctx, "exampleServer", &ionoscloud.ServerArgs{
AvailabilityZone: pulumi.String("ZONE_2"),
ImageName: pulumi.String("ubuntu:latest"),
Cores: pulumi.Float64(2),
Ram: pulumi.Float64(2048),
ImagePassword: pulumi.Any(random_password.Server_image_password.Result),
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
Volume: &ionoscloud.ServerVolumeArgs{
Name: pulumi.String("Inline Updated"),
Size: pulumi.Float64(20),
DiskType: pulumi.String("SSD Standard"),
Bus: pulumi.String("VIRTIO"),
AvailabilityZone: pulumi.String("AUTO"),
},
Nic: &ionoscloud.ServerNicArgs{
Lan: pulumi.Any(ionoscloud_lan.Example.Id),
Name: pulumi.String("Nic Example"),
Dhcp: pulumi.Bool(true),
FirewallActive: pulumi.Bool(true),
},
})
if err != nil {
return err
}
_, err = ionoscloud.NewServerBootDeviceSelection(ctx, "exampleServerBootDeviceSelection", &ionoscloud.ServerBootDeviceSelectionArgs{
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
ServerId: exampleServer.ServerId,
BootDeviceId: exampleServer.InlineVolumeIds.ApplyT(func(inlineVolumeIds []string) (string, error) {
return inlineVolumeIds[0], nil
}).(pulumi.StringOutput),
})
if err != nil {
return err
}
_, err = ionoscloud.NewVolume(ctx, "exampleVolume", &ionoscloud.VolumeArgs{
ServerId: exampleServer.ServerId,
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
Size: pulumi.Float64(10),
DiskType: pulumi.String("HDD"),
AvailabilityZone: pulumi.String("AUTO"),
ImageName: pulumi.String("debian:latest"),
ImagePassword: pulumi.Any(random_password.Server_image_password.Result),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Pulumi.Ionoscloud;
return await Deployment.RunAsync(() =>
{
var exampleServer = new Ionoscloud.Server("exampleServer", new()
{
AvailabilityZone = "ZONE_2",
ImageName = "ubuntu:latest",
Cores = 2,
Ram = 2048,
ImagePassword = random_password.Server_image_password.Result,
DatacenterId = ionoscloud_datacenter.Example.Id,
Volume = new Ionoscloud.Inputs.ServerVolumeArgs
{
Name = "Inline Updated",
Size = 20,
DiskType = "SSD Standard",
Bus = "VIRTIO",
AvailabilityZone = "AUTO",
},
Nic = new Ionoscloud.Inputs.ServerNicArgs
{
Lan = ionoscloud_lan.Example.Id,
Name = "Nic Example",
Dhcp = true,
FirewallActive = true,
},
});
var exampleServerBootDeviceSelection = new Ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection", new()
{
DatacenterId = ionoscloud_datacenter.Example.Id,
ServerId = exampleServer.ServerId,
BootDeviceId = exampleServer.InlineVolumeIds.Apply(inlineVolumeIds => inlineVolumeIds[0]),
});
var exampleVolume = new Ionoscloud.Volume("exampleVolume", new()
{
ServerId = exampleServer.ServerId,
DatacenterId = ionoscloud_datacenter.Example.Id,
Size = 10,
DiskType = "HDD",
AvailabilityZone = "AUTO",
ImageName = "debian:latest",
ImagePassword = random_password.Server_image_password.Result,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.Server;
import com.pulumi.ionoscloud.ServerArgs;
import com.pulumi.ionoscloud.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.ServerBootDeviceSelection;
import com.pulumi.ionoscloud.ServerBootDeviceSelectionArgs;
import com.pulumi.ionoscloud.Volume;
import com.pulumi.ionoscloud.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()
.availabilityZone("ZONE_2")
.imageName("ubuntu:latest")
.cores(2)
.ram(2048)
.imagePassword(random_password.server_image_password().result())
.datacenterId(ionoscloud_datacenter.example().id())
.volume(ServerVolumeArgs.builder()
.name("Inline Updated")
.size(20)
.diskType("SSD Standard")
.bus("VIRTIO")
.availabilityZone("AUTO")
.build())
.nic(ServerNicArgs.builder()
.lan(ionoscloud_lan.example().id())
.name("Nic Example")
.dhcp(true)
.firewallActive(true)
.build())
.build());
var exampleServerBootDeviceSelection = new ServerBootDeviceSelection("exampleServerBootDeviceSelection", ServerBootDeviceSelectionArgs.builder()
.datacenterId(ionoscloud_datacenter.example().id())
.serverId(exampleServer.serverId())
.bootDeviceId(exampleServer.inlineVolumeIds().applyValue(inlineVolumeIds -> inlineVolumeIds[0]))
.build());
var exampleVolume = new Volume("exampleVolume", VolumeArgs.builder()
.serverId(exampleServer.serverId())
.datacenterId(ionoscloud_datacenter.example().id())
.size(10)
.diskType("HDD")
.availabilityZone("AUTO")
.imageName("debian:latest")
.imagePassword(random_password.server_image_password().result())
.build());
}
}
resources:
exampleServerBootDeviceSelection:
type: ionoscloud:ServerBootDeviceSelection
properties:
datacenterId: ${ionoscloud_datacenter.example.id}
serverId: ${exampleServer.serverId}
bootDeviceId: ${exampleServer.inlineVolumeIds[0]}
exampleServer:
type: ionoscloud:Server
properties:
availabilityZone: ZONE_2
imageName: ubuntu:latest
cores: 2
ram: 2048
imagePassword: ${random_password.server_image_password.result}
datacenterId: ${ionoscloud_datacenter.example.id}
volume:
name: Inline Updated
size: 20
diskType: SSD Standard
bus: VIRTIO
availabilityZone: AUTO
nic:
lan: ${ionoscloud_lan.example.id}
name: Nic Example
dhcp: true
firewallActive: true
exampleVolume:
type: ionoscloud:Volume
properties:
serverId: ${exampleServer.serverId}
datacenterId: ${ionoscloud_datacenter.example.id}
size: 10
diskType: HDD
availabilityZone: AUTO
imageName: debian:latest
imagePassword: ${random_password.server_image_password.result}
Select a CDROM image
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@pulumi/ionoscloud";
const exampleServer = new ionoscloud.Server("exampleServer", {
availabilityZone: "ZONE_2",
imageName: "ubuntu:latest",
cores: 2,
ram: 2048,
imagePassword: random_password.server_image_password.result,
datacenterId: ionoscloud_datacenter.example.id,
volume: {
name: "Inline Updated",
size: 20,
diskType: "SSD Standard",
bus: "VIRTIO",
availabilityZone: "AUTO",
},
nic: {
lan: ionoscloud_lan.example.id,
name: "Nic Example",
dhcp: true,
firewallActive: true,
},
});
const exampleImage = ionoscloud.getImage({
name: "ubuntu-20.04",
location: "de/txl",
type: "CDROM",
});
const exampleServerBootDeviceSelection = new ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection", {
datacenterId: ionoscloud_datacenter.example.id,
serverId: exampleServer.inlineVolumeIds[0],
bootDeviceId: exampleImage.then(exampleImage => exampleImage.id),
});
const exampleVolume = new ionoscloud.Volume("exampleVolume", {
serverId: exampleServer.serverId,
datacenterId: ionoscloud_datacenter.example.id,
size: 10,
diskType: "HDD",
availabilityZone: "AUTO",
imageName: "debian:latest",
imagePassword: random_password.server_image_password.result,
});
import pulumi
import pulumi_ionoscloud as ionoscloud
example_server = ionoscloud.Server("exampleServer",
availability_zone="ZONE_2",
image_name="ubuntu:latest",
cores=2,
ram=2048,
image_password=random_password["server_image_password"]["result"],
datacenter_id=ionoscloud_datacenter["example"]["id"],
volume={
"name": "Inline Updated",
"size": 20,
"disk_type": "SSD Standard",
"bus": "VIRTIO",
"availability_zone": "AUTO",
},
nic={
"lan": ionoscloud_lan["example"]["id"],
"name": "Nic Example",
"dhcp": True,
"firewall_active": True,
})
example_image = ionoscloud.get_image(name="ubuntu-20.04",
location="de/txl",
type="CDROM")
example_server_boot_device_selection = ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection",
datacenter_id=ionoscloud_datacenter["example"]["id"],
server_id=example_server.inline_volume_ids[0],
boot_device_id=example_image.id)
example_volume = ionoscloud.Volume("exampleVolume",
server_id=example_server.server_id,
datacenter_id=ionoscloud_datacenter["example"]["id"],
size=10,
disk_type="HDD",
availability_zone="AUTO",
image_name="debian:latest",
image_password=random_password["server_image_password"]["result"])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleServer, err := ionoscloud.NewServer(ctx, "exampleServer", &ionoscloud.ServerArgs{
AvailabilityZone: pulumi.String("ZONE_2"),
ImageName: pulumi.String("ubuntu:latest"),
Cores: pulumi.Float64(2),
Ram: pulumi.Float64(2048),
ImagePassword: pulumi.Any(random_password.Server_image_password.Result),
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
Volume: &ionoscloud.ServerVolumeArgs{
Name: pulumi.String("Inline Updated"),
Size: pulumi.Float64(20),
DiskType: pulumi.String("SSD Standard"),
Bus: pulumi.String("VIRTIO"),
AvailabilityZone: pulumi.String("AUTO"),
},
Nic: &ionoscloud.ServerNicArgs{
Lan: pulumi.Any(ionoscloud_lan.Example.Id),
Name: pulumi.String("Nic Example"),
Dhcp: pulumi.Bool(true),
FirewallActive: pulumi.Bool(true),
},
})
if err != nil {
return err
}
exampleImage, err := ionoscloud.GetImage(ctx, &ionoscloud.GetImageArgs{
Name: pulumi.StringRef("ubuntu-20.04"),
Location: pulumi.StringRef("de/txl"),
Type: pulumi.StringRef("CDROM"),
}, nil)
if err != nil {
return err
}
_, err = ionoscloud.NewServerBootDeviceSelection(ctx, "exampleServerBootDeviceSelection", &ionoscloud.ServerBootDeviceSelectionArgs{
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
ServerId: exampleServer.InlineVolumeIds.ApplyT(func(inlineVolumeIds []string) (string, error) {
return inlineVolumeIds[0], nil
}).(pulumi.StringOutput),
BootDeviceId: pulumi.String(exampleImage.Id),
})
if err != nil {
return err
}
_, err = ionoscloud.NewVolume(ctx, "exampleVolume", &ionoscloud.VolumeArgs{
ServerId: exampleServer.ServerId,
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
Size: pulumi.Float64(10),
DiskType: pulumi.String("HDD"),
AvailabilityZone: pulumi.String("AUTO"),
ImageName: pulumi.String("debian:latest"),
ImagePassword: pulumi.Any(random_password.Server_image_password.Result),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Pulumi.Ionoscloud;
return await Deployment.RunAsync(() =>
{
var exampleServer = new Ionoscloud.Server("exampleServer", new()
{
AvailabilityZone = "ZONE_2",
ImageName = "ubuntu:latest",
Cores = 2,
Ram = 2048,
ImagePassword = random_password.Server_image_password.Result,
DatacenterId = ionoscloud_datacenter.Example.Id,
Volume = new Ionoscloud.Inputs.ServerVolumeArgs
{
Name = "Inline Updated",
Size = 20,
DiskType = "SSD Standard",
Bus = "VIRTIO",
AvailabilityZone = "AUTO",
},
Nic = new Ionoscloud.Inputs.ServerNicArgs
{
Lan = ionoscloud_lan.Example.Id,
Name = "Nic Example",
Dhcp = true,
FirewallActive = true,
},
});
var exampleImage = Ionoscloud.GetImage.Invoke(new()
{
Name = "ubuntu-20.04",
Location = "de/txl",
Type = "CDROM",
});
var exampleServerBootDeviceSelection = new Ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection", new()
{
DatacenterId = ionoscloud_datacenter.Example.Id,
ServerId = exampleServer.InlineVolumeIds.Apply(inlineVolumeIds => inlineVolumeIds[0]),
BootDeviceId = exampleImage.Apply(getImageResult => getImageResult.Id),
});
var exampleVolume = new Ionoscloud.Volume("exampleVolume", new()
{
ServerId = exampleServer.ServerId,
DatacenterId = ionoscloud_datacenter.Example.Id,
Size = 10,
DiskType = "HDD",
AvailabilityZone = "AUTO",
ImageName = "debian:latest",
ImagePassword = random_password.Server_image_password.Result,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.Server;
import com.pulumi.ionoscloud.ServerArgs;
import com.pulumi.ionoscloud.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.IonoscloudFunctions;
import com.pulumi.ionoscloud.inputs.GetImageArgs;
import com.pulumi.ionoscloud.ServerBootDeviceSelection;
import com.pulumi.ionoscloud.ServerBootDeviceSelectionArgs;
import com.pulumi.ionoscloud.Volume;
import com.pulumi.ionoscloud.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()
.availabilityZone("ZONE_2")
.imageName("ubuntu:latest")
.cores(2)
.ram(2048)
.imagePassword(random_password.server_image_password().result())
.datacenterId(ionoscloud_datacenter.example().id())
.volume(ServerVolumeArgs.builder()
.name("Inline Updated")
.size(20)
.diskType("SSD Standard")
.bus("VIRTIO")
.availabilityZone("AUTO")
.build())
.nic(ServerNicArgs.builder()
.lan(ionoscloud_lan.example().id())
.name("Nic Example")
.dhcp(true)
.firewallActive(true)
.build())
.build());
final var exampleImage = IonoscloudFunctions.getImage(GetImageArgs.builder()
.name("ubuntu-20.04")
.location("de/txl")
.type("CDROM")
.build());
var exampleServerBootDeviceSelection = new ServerBootDeviceSelection("exampleServerBootDeviceSelection", ServerBootDeviceSelectionArgs.builder()
.datacenterId(ionoscloud_datacenter.example().id())
.serverId(exampleServer.inlineVolumeIds().applyValue(inlineVolumeIds -> inlineVolumeIds[0]))
.bootDeviceId(exampleImage.applyValue(getImageResult -> getImageResult.id()))
.build());
var exampleVolume = new Volume("exampleVolume", VolumeArgs.builder()
.serverId(exampleServer.serverId())
.datacenterId(ionoscloud_datacenter.example().id())
.size(10)
.diskType("HDD")
.availabilityZone("AUTO")
.imageName("debian:latest")
.imagePassword(random_password.server_image_password().result())
.build());
}
}
resources:
exampleServerBootDeviceSelection:
type: ionoscloud:ServerBootDeviceSelection
properties:
datacenterId: ${ionoscloud_datacenter.example.id}
serverId: ${exampleServer.inlineVolumeIds[0]}
bootDeviceId: ${exampleImage.id}
exampleServer:
type: ionoscloud:Server
properties:
availabilityZone: ZONE_2
imageName: ubuntu:latest
cores: 2
ram: 2048
imagePassword: ${random_password.server_image_password.result}
datacenterId: ${ionoscloud_datacenter.example.id}
volume:
name: Inline Updated
size: 20
diskType: SSD Standard
bus: VIRTIO
availabilityZone: AUTO
nic:
lan: ${ionoscloud_lan.example.id}
name: Nic Example
dhcp: true
firewallActive: true
exampleVolume:
type: ionoscloud:Volume
properties:
serverId: ${exampleServer.serverId}
datacenterId: ${ionoscloud_datacenter.example.id}
size: 10
diskType: HDD
availabilityZone: AUTO
imageName: debian:latest
imagePassword: ${random_password.server_image_password.result}
variables:
exampleImage:
fn::invoke:
function: ionoscloud: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 "@pulumi/ionoscloud";
const exampleServer = new ionoscloud.Server("exampleServer", {
availabilityZone: "ZONE_2",
imageName: "ubuntu:latest",
cores: 2,
ram: 2048,
imagePassword: random_password.server_image_password.result,
datacenterId: ionoscloud_datacenter.example.id,
volume: {
name: "Inline volume",
size: 20,
diskType: "SSD Standard",
bus: "VIRTIO",
availabilityZone: "AUTO",
},
nic: {
lan: ionoscloud_lan.example.id,
name: "Nic Example",
dhcp: true,
firewallActive: true,
},
});
const exampleServerBootDeviceSelection = new ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection", {
datacenterId: ionoscloud_datacenter.example.id,
serverId: exampleServer.inlineVolumeIds[0],
});
// boot_device_id = data.ionoscloud_image.example.id VM will boot in the PXE shell when boot_device_id is omitted
const exampleVolume = new ionoscloud.Volume("exampleVolume", {
serverId: exampleServer.serverId,
datacenterId: ionoscloud_datacenter.example.id,
size: 10,
diskType: "HDD",
availabilityZone: "AUTO",
imageName: "debian:latest",
imagePassword: random_password.server_image_password.result,
});
const exampleImage = ionoscloud.getImage({
name: "ubuntu-20.04",
location: "de/txl",
type: "CDROM",
});
import pulumi
import pulumi_ionoscloud as ionoscloud
example_server = ionoscloud.Server("exampleServer",
availability_zone="ZONE_2",
image_name="ubuntu:latest",
cores=2,
ram=2048,
image_password=random_password["server_image_password"]["result"],
datacenter_id=ionoscloud_datacenter["example"]["id"],
volume={
"name": "Inline volume",
"size": 20,
"disk_type": "SSD Standard",
"bus": "VIRTIO",
"availability_zone": "AUTO",
},
nic={
"lan": ionoscloud_lan["example"]["id"],
"name": "Nic Example",
"dhcp": True,
"firewall_active": True,
})
example_server_boot_device_selection = ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection",
datacenter_id=ionoscloud_datacenter["example"]["id"],
server_id=example_server.inline_volume_ids[0])
# boot_device_id = data.ionoscloud_image.example.id VM will boot in the PXE shell when boot_device_id is omitted
example_volume = ionoscloud.Volume("exampleVolume",
server_id=example_server.server_id,
datacenter_id=ionoscloud_datacenter["example"]["id"],
size=10,
disk_type="HDD",
availability_zone="AUTO",
image_name="debian:latest",
image_password=random_password["server_image_password"]["result"])
example_image = ionoscloud.get_image(name="ubuntu-20.04",
location="de/txl",
type="CDROM")
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleServer, err := ionoscloud.NewServer(ctx, "exampleServer", &ionoscloud.ServerArgs{
AvailabilityZone: pulumi.String("ZONE_2"),
ImageName: pulumi.String("ubuntu:latest"),
Cores: pulumi.Float64(2),
Ram: pulumi.Float64(2048),
ImagePassword: pulumi.Any(random_password.Server_image_password.Result),
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
Volume: &ionoscloud.ServerVolumeArgs{
Name: pulumi.String("Inline volume"),
Size: pulumi.Float64(20),
DiskType: pulumi.String("SSD Standard"),
Bus: pulumi.String("VIRTIO"),
AvailabilityZone: pulumi.String("AUTO"),
},
Nic: &ionoscloud.ServerNicArgs{
Lan: pulumi.Any(ionoscloud_lan.Example.Id),
Name: pulumi.String("Nic Example"),
Dhcp: pulumi.Bool(true),
FirewallActive: pulumi.Bool(true),
},
})
if err != nil {
return err
}
_, err = ionoscloud.NewServerBootDeviceSelection(ctx, "exampleServerBootDeviceSelection", &ionoscloud.ServerBootDeviceSelectionArgs{
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
ServerId: exampleServer.InlineVolumeIds.ApplyT(func(inlineVolumeIds []string) (string, error) {
return inlineVolumeIds[0], nil
}).(pulumi.StringOutput),
})
if err != nil {
return err
}
_, err = ionoscloud.NewVolume(ctx, "exampleVolume", &ionoscloud.VolumeArgs{
ServerId: exampleServer.ServerId,
DatacenterId: pulumi.Any(ionoscloud_datacenter.Example.Id),
Size: pulumi.Float64(10),
DiskType: pulumi.String("HDD"),
AvailabilityZone: pulumi.String("AUTO"),
ImageName: pulumi.String("debian:latest"),
ImagePassword: pulumi.Any(random_password.Server_image_password.Result),
})
if err != nil {
return err
}
_, err = ionoscloud.GetImage(ctx, &ionoscloud.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 = Pulumi.Ionoscloud;
return await Deployment.RunAsync(() =>
{
var exampleServer = new Ionoscloud.Server("exampleServer", new()
{
AvailabilityZone = "ZONE_2",
ImageName = "ubuntu:latest",
Cores = 2,
Ram = 2048,
ImagePassword = random_password.Server_image_password.Result,
DatacenterId = ionoscloud_datacenter.Example.Id,
Volume = new Ionoscloud.Inputs.ServerVolumeArgs
{
Name = "Inline volume",
Size = 20,
DiskType = "SSD Standard",
Bus = "VIRTIO",
AvailabilityZone = "AUTO",
},
Nic = new Ionoscloud.Inputs.ServerNicArgs
{
Lan = ionoscloud_lan.Example.Id,
Name = "Nic Example",
Dhcp = true,
FirewallActive = true,
},
});
var exampleServerBootDeviceSelection = new Ionoscloud.ServerBootDeviceSelection("exampleServerBootDeviceSelection", new()
{
DatacenterId = ionoscloud_datacenter.Example.Id,
ServerId = exampleServer.InlineVolumeIds.Apply(inlineVolumeIds => inlineVolumeIds[0]),
});
// boot_device_id = data.ionoscloud_image.example.id VM will boot in the PXE shell when boot_device_id is omitted
var exampleVolume = new Ionoscloud.Volume("exampleVolume", new()
{
ServerId = exampleServer.ServerId,
DatacenterId = ionoscloud_datacenter.Example.Id,
Size = 10,
DiskType = "HDD",
AvailabilityZone = "AUTO",
ImageName = "debian:latest",
ImagePassword = random_password.Server_image_password.Result,
});
var exampleImage = Ionoscloud.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.Server;
import com.pulumi.ionoscloud.ServerArgs;
import com.pulumi.ionoscloud.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.ServerBootDeviceSelection;
import com.pulumi.ionoscloud.ServerBootDeviceSelectionArgs;
import com.pulumi.ionoscloud.Volume;
import com.pulumi.ionoscloud.VolumeArgs;
import com.pulumi.ionoscloud.IonoscloudFunctions;
import com.pulumi.ionoscloud.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()
.availabilityZone("ZONE_2")
.imageName("ubuntu:latest")
.cores(2)
.ram(2048)
.imagePassword(random_password.server_image_password().result())
.datacenterId(ionoscloud_datacenter.example().id())
.volume(ServerVolumeArgs.builder()
.name("Inline volume")
.size(20)
.diskType("SSD Standard")
.bus("VIRTIO")
.availabilityZone("AUTO")
.build())
.nic(ServerNicArgs.builder()
.lan(ionoscloud_lan.example().id())
.name("Nic Example")
.dhcp(true)
.firewallActive(true)
.build())
.build());
var exampleServerBootDeviceSelection = new ServerBootDeviceSelection("exampleServerBootDeviceSelection", ServerBootDeviceSelectionArgs.builder()
.datacenterId(ionoscloud_datacenter.example().id())
.serverId(exampleServer.inlineVolumeIds().applyValue(inlineVolumeIds -> inlineVolumeIds[0]))
.build());
// boot_device_id = data.ionoscloud_image.example.id VM will boot in the PXE shell when boot_device_id is omitted
var exampleVolume = new Volume("exampleVolume", VolumeArgs.builder()
.serverId(exampleServer.serverId())
.datacenterId(ionoscloud_datacenter.example().id())
.size(10)
.diskType("HDD")
.availabilityZone("AUTO")
.imageName("debian:latest")
.imagePassword(random_password.server_image_password().result())
.build());
final var exampleImage = IonoscloudFunctions.getImage(GetImageArgs.builder()
.name("ubuntu-20.04")
.location("de/txl")
.type("CDROM")
.build());
}
}
resources:
exampleServerBootDeviceSelection:
type: ionoscloud:ServerBootDeviceSelection
properties:
datacenterId: ${ionoscloud_datacenter.example.id}
serverId: ${exampleServer.inlineVolumeIds[0]}
exampleServer:
type: ionoscloud:Server
properties:
availabilityZone: ZONE_2
imageName: ubuntu:latest
cores: 2
ram: 2048
imagePassword: ${random_password.server_image_password.result}
datacenterId: ${ionoscloud_datacenter.example.id}
volume:
name: Inline volume
size: 20
diskType: SSD Standard
bus: VIRTIO
availabilityZone: AUTO
nic:
lan: ${ionoscloud_lan.example.id}
name: Nic Example
dhcp: true
firewallActive: true
exampleVolume:
type: ionoscloud:Volume
properties:
serverId: ${exampleServer.serverId}
datacenterId: ${ionoscloud_datacenter.example.id}
size: 10
diskType: HDD
availabilityZone: AUTO
imageName: debian:latest
imagePassword: ${random_password.server_image_password.result}
variables:
exampleImage:
fn::invoke:
function: ionoscloud:getImage
arguments:
name: ubuntu-20.04
location: de/txl
type: CDROM
Create ServerBootDeviceSelection Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ServerBootDeviceSelection(name: string, args: ServerBootDeviceSelectionArgs, opts?: CustomResourceOptions);
@overload
def ServerBootDeviceSelection(resource_name: str,
args: ServerBootDeviceSelectionArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ServerBootDeviceSelection(resource_name: str,
opts: Optional[ResourceOptions] = None,
datacenter_id: Optional[str] = None,
server_id: Optional[str] = None,
boot_device_id: Optional[str] = None,
server_boot_device_selection_id: Optional[str] = None,
timeouts: Optional[ServerBootDeviceSelectionTimeoutsArgs] = None)
func NewServerBootDeviceSelection(ctx *Context, name string, args ServerBootDeviceSelectionArgs, opts ...ResourceOption) (*ServerBootDeviceSelection, error)
public ServerBootDeviceSelection(string name, ServerBootDeviceSelectionArgs args, CustomResourceOptions? opts = null)
public ServerBootDeviceSelection(String name, ServerBootDeviceSelectionArgs args)
public ServerBootDeviceSelection(String name, ServerBootDeviceSelectionArgs args, CustomResourceOptions options)
type: ionoscloud:ServerBootDeviceSelection
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 ServerBootDeviceSelectionArgs
- 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 ServerBootDeviceSelectionArgs
- 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 ServerBootDeviceSelectionArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ServerBootDeviceSelectionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ServerBootDeviceSelectionArgs
- 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 serverBootDeviceSelectionResource = new Ionoscloud.ServerBootDeviceSelection("serverBootDeviceSelectionResource", new()
{
DatacenterId = "string",
ServerId = "string",
BootDeviceId = "string",
ServerBootDeviceSelectionId = "string",
Timeouts = new Ionoscloud.Inputs.ServerBootDeviceSelectionTimeoutsArgs
{
Create = "string",
Default = "string",
Delete = "string",
Update = "string",
},
});
example, err := ionoscloud.NewServerBootDeviceSelection(ctx, "serverBootDeviceSelectionResource", &ionoscloud.ServerBootDeviceSelectionArgs{
DatacenterId: pulumi.String("string"),
ServerId: pulumi.String("string"),
BootDeviceId: pulumi.String("string"),
ServerBootDeviceSelectionId: pulumi.String("string"),
Timeouts: &ionoscloud.ServerBootDeviceSelectionTimeoutsArgs{
Create: pulumi.String("string"),
Default: pulumi.String("string"),
Delete: pulumi.String("string"),
Update: pulumi.String("string"),
},
})
var serverBootDeviceSelectionResource = new ServerBootDeviceSelection("serverBootDeviceSelectionResource", ServerBootDeviceSelectionArgs.builder()
.datacenterId("string")
.serverId("string")
.bootDeviceId("string")
.serverBootDeviceSelectionId("string")
.timeouts(ServerBootDeviceSelectionTimeoutsArgs.builder()
.create("string")
.default_("string")
.delete("string")
.update("string")
.build())
.build());
server_boot_device_selection_resource = ionoscloud.ServerBootDeviceSelection("serverBootDeviceSelectionResource",
datacenter_id="string",
server_id="string",
boot_device_id="string",
server_boot_device_selection_id="string",
timeouts={
"create": "string",
"default": "string",
"delete": "string",
"update": "string",
})
const serverBootDeviceSelectionResource = new ionoscloud.ServerBootDeviceSelection("serverBootDeviceSelectionResource", {
datacenterId: "string",
serverId: "string",
bootDeviceId: "string",
serverBootDeviceSelectionId: "string",
timeouts: {
create: "string",
"default": "string",
"delete": "string",
update: "string",
},
});
type: ionoscloud:ServerBootDeviceSelection
properties:
bootDeviceId: string
datacenterId: string
serverBootDeviceSelectionId: string
serverId: string
timeouts:
create: string
default: string
delete: string
update: string
ServerBootDeviceSelection 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 ServerBootDeviceSelection 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.
- Server
Boot stringDevice Selection Id - Timeouts
Server
Boot Device Selection Timeouts
- 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.
- Server
Boot stringDevice Selection Id - Timeouts
Server
Boot Device Selection Timeouts Args
- 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.
- server
Boot StringDevice Selection Id - timeouts
Server
Boot Device Selection Timeouts
- 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.
- server
Boot stringDevice Selection Id - timeouts
Server
Boot Device Selection Timeouts
- 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.
- server_
boot_ strdevice_ selection_ id - timeouts
Server
Boot Device Selection Timeouts Args
- 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.
- server
Boot StringDevice Selection Id - timeouts Property Map
Outputs
All input properties are implicitly available as output properties. Additionally, the ServerBootDeviceSelection 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 ServerBootDeviceSelection Resource
Get an existing ServerBootDeviceSelection 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?: ServerBootDeviceSelectionState, opts?: CustomResourceOptions): ServerBootDeviceSelection
@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_boot_device_selection_id: Optional[str] = None,
server_id: Optional[str] = None,
timeouts: Optional[ServerBootDeviceSelectionTimeoutsArgs] = None) -> ServerBootDeviceSelection
func GetServerBootDeviceSelection(ctx *Context, name string, id IDInput, state *ServerBootDeviceSelectionState, opts ...ResourceOption) (*ServerBootDeviceSelection, error)
public static ServerBootDeviceSelection Get(string name, Input<string> id, ServerBootDeviceSelectionState? state, CustomResourceOptions? opts = null)
public static ServerBootDeviceSelection get(String name, Output<String> id, ServerBootDeviceSelectionState state, CustomResourceOptions options)
resources: _: type: ionoscloud:ServerBootDeviceSelection 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
Boot stringDevice Selection Id - Server
Id string - [string] The ID of a server.
- Timeouts
Server
Boot Device Selection Timeouts
- 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
Boot stringDevice Selection Id - Server
Id string - [string] The ID of a server.
- Timeouts
Server
Boot Device Selection Timeouts Args
- 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
Boot StringDevice Selection Id - server
Id String - [string] The ID of a server.
- timeouts
Server
Boot Device Selection Timeouts
- 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
Boot stringDevice Selection Id - server
Id string - [string] The ID of a server.
- timeouts
Server
Boot Device Selection Timeouts
- 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_
boot_ strdevice_ selection_ id - server_
id str - [string] The ID of a server.
- timeouts
Server
Boot Device Selection Timeouts Args
- 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
Boot StringDevice Selection Id - server
Id String - [string] The ID of a server.
- timeouts Property Map
Supporting Types
ServerBootDeviceSelectionTimeouts, ServerBootDeviceSelectionTimeoutsArgs
Package Details
- Repository
- ionoscloud ionos-cloud/terraform-provider-ionoscloud
- License
- Notes
- This Pulumi package is based on the
ionoscloud
Terraform Provider.