published on Wednesday, Apr 15, 2026 by ionos-cloud
published on Wednesday, Apr 15, 2026 by ionos-cloud
Dedicated Core Servers or Enterprise Servers are provisioned and hosted in one of IONOS’ physical data centers. Dedicated Core Servers behave exactly like physical servers. They can be configured and managed with your choice of the operating system.
Check out Limitations.
Example Usage
This resource will create an operational server. After this section completes, the provisioner can be called.
Dedicated Core Server
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
import * as random from "@pulumi/random";
const example = ionoscloud.compute.getImage({
type: "HDD",
cloudInit: "V1",
imageAlias: "ubuntu:latest",
location: "us/las",
});
const exampleDatacenter = new ionoscloud.compute.Datacenter("example", {
name: "Datacenter Example",
location: "us/las",
description: "Datacenter Description",
secAuthProtection: false,
});
const exampleLan = new ionoscloud.compute.Lan("example", {
datacenterId: exampleDatacenter.id,
"public": true,
name: "Lan Example",
});
const exampleIPBlock = new ionoscloud.compute.IPBlock("example", {
location: exampleDatacenter.location,
size: 4,
name: "IP Block Example",
});
const serverImagePassword = new random.index.Password("server_image_password", {
length: 16,
special: false,
});
const exampleServer = new ionoscloud.compute.Server("example", {
name: "Server Example",
datacenterId: exampleDatacenter.id,
cores: 1,
ram: 1024,
imageName: example.then(example => example.name),
imagePassword: serverImagePassword.result,
type: "ENTERPRISE",
volume: {
name: "system",
size: 5,
diskType: "SSD Standard",
userData: "foo",
bus: "VIRTIO",
availabilityZone: "ZONE_1",
},
nic: {
lan: exampleLan.id,
name: "system",
dhcp: true,
firewallActive: true,
firewallType: "BIDIRECTIONAL",
ips: [
exampleIPBlock.ips[0],
exampleIPBlock.ips[1],
],
firewall: {
protocol: "TCP",
name: "SSH",
portRangeStart: 22,
portRangeEnd: 22,
sourceMac: "00:0a:95:9d:68:17",
sourceIp: exampleIPBlock.ips[2],
targetIp: exampleIPBlock.ips[3],
type: "EGRESS",
},
},
labels: [
{
key: "labelkey1",
value: "labelvalue1",
},
{
key: "labelkey2",
value: "labelvalue2",
},
],
});
import pulumi
import pulumi_ionoscloud as ionoscloud
import pulumi_random as random
example = ionoscloud.compute.get_image(type="HDD",
cloud_init="V1",
image_alias="ubuntu:latest",
location="us/las")
example_datacenter = ionoscloud.compute.Datacenter("example",
name="Datacenter Example",
location="us/las",
description="Datacenter Description",
sec_auth_protection=False)
example_lan = ionoscloud.compute.Lan("example",
datacenter_id=example_datacenter.id,
public=True,
name="Lan Example")
example_ip_block = ionoscloud.compute.IPBlock("example",
location=example_datacenter.location,
size=4,
name="IP Block Example")
server_image_password = random.Password("server_image_password",
length=16,
special=False)
example_server = ionoscloud.compute.Server("example",
name="Server Example",
datacenter_id=example_datacenter.id,
cores=1,
ram=1024,
image_name=example.name,
image_password=server_image_password["result"],
type="ENTERPRISE",
volume={
"name": "system",
"size": 5,
"disk_type": "SSD Standard",
"user_data": "foo",
"bus": "VIRTIO",
"availability_zone": "ZONE_1",
},
nic={
"lan": example_lan.id,
"name": "system",
"dhcp": True,
"firewall_active": True,
"firewall_type": "BIDIRECTIONAL",
"ips": [
example_ip_block.ips[0],
example_ip_block.ips[1],
],
"firewall": {
"protocol": "TCP",
"name": "SSH",
"portRangeStart": 22,
"portRangeEnd": 22,
"sourceMac": "00:0a:95:9d:68:17",
"sourceIp": example_ip_block.ips[2],
"targetIp": example_ip_block.ips[3],
"type": "EGRESS",
},
},
labels=[
{
"key": "labelkey1",
"value": "labelvalue1",
},
{
"key": "labelkey2",
"value": "labelvalue2",
},
])
package main
import (
"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
"github.com/pulumi/pulumi-random/sdk/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := compute.GetImage(ctx, &compute.GetImageArgs{
Type: pulumi.StringRef("HDD"),
CloudInit: pulumi.StringRef("V1"),
ImageAlias: pulumi.StringRef("ubuntu:latest"),
Location: pulumi.StringRef("us/las"),
}, nil)
if err != nil {
return err
}
exampleDatacenter, err := compute.NewDatacenter(ctx, "example", &compute.DatacenterArgs{
Name: pulumi.String("Datacenter Example"),
Location: pulumi.String("us/las"),
Description: pulumi.String("Datacenter Description"),
SecAuthProtection: pulumi.Bool(false),
})
if err != nil {
return err
}
exampleLan, err := compute.NewLan(ctx, "example", &compute.LanArgs{
DatacenterId: exampleDatacenter.ID(),
Public: pulumi.Bool(true),
Name: pulumi.String("Lan Example"),
})
if err != nil {
return err
}
exampleIPBlock, err := compute.NewIPBlock(ctx, "example", &compute.IPBlockArgs{
Location: exampleDatacenter.Location,
Size: pulumi.Int(4),
Name: pulumi.String("IP Block Example"),
})
if err != nil {
return err
}
serverImagePassword, err := random.NewPassword(ctx, "server_image_password", &random.PasswordArgs{
Length: 16,
Special: false,
})
if err != nil {
return err
}
_, err = compute.NewServer(ctx, "example", &compute.ServerArgs{
Name: pulumi.String("Server Example"),
DatacenterId: exampleDatacenter.ID(),
Cores: pulumi.Int(1),
Ram: pulumi.Int(1024),
ImageName: pulumi.String(pulumi.String(example.Name)),
ImagePassword: serverImagePassword.Result,
Type: pulumi.String("ENTERPRISE"),
Volume: &compute.ServerVolumeArgs{
Name: pulumi.String("system"),
Size: pulumi.Int(5),
DiskType: pulumi.String("SSD Standard"),
UserData: pulumi.String("foo"),
Bus: pulumi.String("VIRTIO"),
AvailabilityZone: pulumi.String("ZONE_1"),
},
Nic: &compute.ServerNicArgs{
Lan: exampleLan.ID(),
Name: pulumi.String("system"),
Dhcp: pulumi.Bool(true),
FirewallActive: pulumi.Bool(true),
FirewallType: pulumi.String("BIDIRECTIONAL"),
Ips: pulumi.StringArray{
exampleIPBlock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[0], nil
}).(pulumi.StringOutput),
exampleIPBlock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[1], nil
}).(pulumi.StringOutput),
},
Firewall: map[string]interface{}{
"protocol": "TCP",
"name": "SSH",
"portRangeStart": 22,
"portRangeEnd": 22,
"sourceMac": "00:0a:95:9d:68:17",
"sourceIp": exampleIPBlock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[2], nil
}).(pulumi.StringOutput),
"targetIp": exampleIPBlock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[3], nil
}).(pulumi.StringOutput),
"type": "EGRESS",
},
},
Labels: compute.ServerLabelArray{
&compute.ServerLabelArgs{
Key: pulumi.String("labelkey1"),
Value: pulumi.String("labelvalue1"),
},
&compute.ServerLabelArgs{
Key: pulumi.String("labelkey2"),
Value: pulumi.String("labelvalue2"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var example = Ionoscloud.Compute.GetImage.Invoke(new()
{
Type = "HDD",
CloudInit = "V1",
ImageAlias = "ubuntu:latest",
Location = "us/las",
});
var exampleDatacenter = new Ionoscloud.Compute.Datacenter("example", new()
{
Name = "Datacenter Example",
Location = "us/las",
Description = "Datacenter Description",
SecAuthProtection = false,
});
var exampleLan = new Ionoscloud.Compute.Lan("example", new()
{
DatacenterId = exampleDatacenter.Id,
Public = true,
Name = "Lan Example",
});
var exampleIPBlock = new Ionoscloud.Compute.IPBlock("example", new()
{
Location = exampleDatacenter.Location,
Size = 4,
Name = "IP Block Example",
});
var serverImagePassword = new Random.Index.Password("server_image_password", new()
{
Length = 16,
Special = false,
});
var exampleServer = new Ionoscloud.Compute.Server("example", new()
{
Name = "Server Example",
DatacenterId = exampleDatacenter.Id,
Cores = 1,
Ram = 1024,
ImageName = example.Apply(getImageResult => getImageResult.Name),
ImagePassword = serverImagePassword.Result,
Type = "ENTERPRISE",
Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
{
Name = "system",
Size = 5,
DiskType = "SSD Standard",
UserData = "foo",
Bus = "VIRTIO",
AvailabilityZone = "ZONE_1",
},
Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
{
Lan = exampleLan.Id,
Name = "system",
Dhcp = true,
FirewallActive = true,
FirewallType = "BIDIRECTIONAL",
Ips = new[]
{
exampleIPBlock.Ips.Apply(ips => ips[0]),
exampleIPBlock.Ips.Apply(ips => ips[1]),
},
Firewall =
{
{ "protocol", "TCP" },
{ "name", "SSH" },
{ "portRangeStart", 22 },
{ "portRangeEnd", 22 },
{ "sourceMac", "00:0a:95:9d:68:17" },
{ "sourceIp", exampleIPBlock.Ips.Apply(ips => ips[2]) },
{ "targetIp", exampleIPBlock.Ips.Apply(ips => ips[3]) },
{ "type", "EGRESS" },
},
},
Labels = new[]
{
new Ionoscloud.Compute.Inputs.ServerLabelArgs
{
Key = "labelkey1",
Value = "labelvalue1",
},
new Ionoscloud.Compute.Inputs.ServerLabelArgs
{
Key = "labelkey2",
Value = "labelvalue2",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.compute.ComputeFunctions;
import com.pulumi.ionoscloud.compute.inputs.GetImageArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Datacenter;
import com.ionoscloud.pulumi.ionoscloud.compute.DatacenterArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Lan;
import com.ionoscloud.pulumi.ionoscloud.compute.LanArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.IPBlock;
import com.ionoscloud.pulumi.ionoscloud.compute.IPBlockArgs;
import com.pulumi.random.password;
import com.pulumi.random.passwordArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Server;
import com.ionoscloud.pulumi.ionoscloud.compute.ServerArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerLabelArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var example = ComputeFunctions.getImage(GetImageArgs.builder()
.type("HDD")
.cloudInit("V1")
.imageAlias("ubuntu:latest")
.location("us/las")
.build());
var exampleDatacenter = new Datacenter("exampleDatacenter", DatacenterArgs.builder()
.name("Datacenter Example")
.location("us/las")
.description("Datacenter Description")
.secAuthProtection(false)
.build());
var exampleLan = new Lan("exampleLan", LanArgs.builder()
.datacenterId(exampleDatacenter.id())
.public_(true)
.name("Lan Example")
.build());
var exampleIPBlock = new IPBlock("exampleIPBlock", IPBlockArgs.builder()
.location(exampleDatacenter.location())
.size(4)
.name("IP Block Example")
.build());
var serverImagePassword = new Password("serverImagePassword", PasswordArgs.builder()
.length(16)
.special(false)
.build());
var exampleServer = new Server("exampleServer", ServerArgs.builder()
.name("Server Example")
.datacenterId(exampleDatacenter.id())
.cores(1)
.ram(1024)
.imageName(example.name())
.imagePassword(serverImagePassword.result())
.type("ENTERPRISE")
.volume(ServerVolumeArgs.builder()
.name("system")
.size(5)
.diskType("SSD Standard")
.userData("foo")
.bus("VIRTIO")
.availabilityZone("ZONE_1")
.build())
.nic(ServerNicArgs.builder()
.lan(exampleLan.id())
.name("system")
.dhcp(true)
.firewallActive(true)
.firewallType("BIDIRECTIONAL")
.ips(
exampleIPBlock.ips().applyValue(_ips -> _ips[0]),
exampleIPBlock.ips().applyValue(_ips -> _ips[1]))
.firewall(Map.ofEntries(
Map.entry("protocol", "TCP"),
Map.entry("name", "SSH"),
Map.entry("portRangeStart", 22),
Map.entry("portRangeEnd", 22),
Map.entry("sourceMac", "00:0a:95:9d:68:17"),
Map.entry("sourceIp", exampleIPBlock.ips().applyValue(_ips -> _ips[2])),
Map.entry("targetIp", exampleIPBlock.ips().applyValue(_ips -> _ips[3])),
Map.entry("type", "EGRESS")
))
.build())
.labels(
ServerLabelArgs.builder()
.key("labelkey1")
.value("labelvalue1")
.build(),
ServerLabelArgs.builder()
.key("labelkey2")
.value("labelvalue2")
.build())
.build());
}
}
resources:
exampleDatacenter:
type: ionoscloud:compute:Datacenter
name: example
properties:
name: Datacenter Example
location: us/las
description: Datacenter Description
secAuthProtection: false
exampleLan:
type: ionoscloud:compute:Lan
name: example
properties:
datacenterId: ${exampleDatacenter.id}
public: true
name: Lan Example
exampleIPBlock:
type: ionoscloud:compute:IPBlock
name: example
properties:
location: ${exampleDatacenter.location}
size: 4
name: IP Block Example
exampleServer:
type: ionoscloud:compute:Server
name: example
properties:
name: Server Example
datacenterId: ${exampleDatacenter.id}
cores: 1
ram: 1024
imageName: ${example.name}
imagePassword: ${serverImagePassword.result}
type: ENTERPRISE
volume:
name: system
size: 5
diskType: SSD Standard
userData: foo
bus: VIRTIO
availabilityZone: ZONE_1
nic:
lan: ${exampleLan.id}
name: system
dhcp: true
firewallActive: true
firewallType: BIDIRECTIONAL
ips:
- ${exampleIPBlock.ips[0]}
- ${exampleIPBlock.ips[1]}
firewall:
protocol: TCP
name: SSH
portRangeStart: 22
portRangeEnd: 22
sourceMac: 00:0a:95:9d:68:17
sourceIp: ${exampleIPBlock.ips[2]}
targetIp: ${exampleIPBlock.ips[3]}
type: EGRESS
labels:
- key: labelkey1
value: labelvalue1
- key: labelkey2
value: labelvalue2
serverImagePassword:
type: random:password
name: server_image_password
properties:
length: 16
special: false
variables:
example:
fn::invoke:
function: ionoscloud:compute:getImage
arguments:
type: HDD
cloudInit: V1
imageAlias: ubuntu:latest
location: us/las
With IPv6 Enabled
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
import * as random from "@pulumi/random";
import * as std from "@pulumi/std";
const example = new ionoscloud.compute.Datacenter("example", {
name: "Resource Server Test",
location: "us/las",
});
const webserverIpblock = new ionoscloud.compute.IPBlock("webserver_ipblock", {
location: "us/las",
size: 4,
name: "webserver_ipblock",
});
const exampleLan = new ionoscloud.compute.Lan("example", {
datacenterId: example.id,
"public": true,
name: "public",
ipv6CidrBlock: std.cidrsubnet({
input: example.ipv6CidrBlock,
newbits: 8,
netnum: 10,
}).result,
});
const serverImagePassword = new random.index.Password("server_image_password", {
length: 16,
special: false,
});
const exampleServer = new ionoscloud.compute.Server("example", {
name: "Resource Server Test",
datacenterId: example.id,
cores: 1,
ram: 1024,
imageName: "ubuntu:latest",
imagePassword: serverImagePassword.result,
type: "ENTERPRISE",
volume: {
name: "system",
size: 5,
diskType: "SSD Standard",
userData: "foo",
bus: "VIRTIO",
availabilityZone: "ZONE_1",
},
nic: {
lan: exampleLan.id,
name: "system",
dhcp: true,
firewallActive: true,
firewallType: "BIDIRECTIONAL",
ips: [
webserverIpblock.ips[0],
webserverIpblock.ips[1],
],
dhcpv6: true,
ipv6CidrBlock: std.cidrsubnet({
input: exampleLan.ipv6CidrBlock,
newbits: 16,
netnum: 24,
}).result,
ipv6Ips: [
std.cidrhost({
input: std.cidrsubnet({
input: exampleLan.ipv6CidrBlock,
newbits: 16,
netnum: 24,
}).result,
host: 10,
}).result,
std.cidrhost({
input: std.cidrsubnet({
input: exampleLan.ipv6CidrBlock,
newbits: 16,
netnum: 24,
}).result,
host: 20,
}).result,
std.cidrhost({
input: std.cidrsubnet({
input: exampleLan.ipv6CidrBlock,
newbits: 16,
netnum: 24,
}).result,
host: 30,
}).result,
],
firewall: {
protocol: "TCP",
name: "SSH",
portRangeStart: 22,
portRangeEnd: 22,
sourceMac: "00:0a:95:9d:68:17",
sourceIp: webserverIpblock.ips[2],
targetIp: webserverIpblock.ips[3],
type: "EGRESS",
},
},
});
import pulumi
import pulumi_ionoscloud as ionoscloud
import pulumi_random as random
import pulumi_std as std
example = ionoscloud.compute.Datacenter("example",
name="Resource Server Test",
location="us/las")
webserver_ipblock = ionoscloud.compute.IPBlock("webserver_ipblock",
location="us/las",
size=4,
name="webserver_ipblock")
example_lan = ionoscloud.compute.Lan("example",
datacenter_id=example.id,
public=True,
name="public",
ipv6_cidr_block=std.cidrsubnet(input=example.ipv6_cidr_block,
newbits=8,
netnum=10)["result"])
server_image_password = random.Password("server_image_password",
length=16,
special=False)
example_server = ionoscloud.compute.Server("example",
name="Resource Server Test",
datacenter_id=example.id,
cores=1,
ram=1024,
image_name="ubuntu:latest",
image_password=server_image_password["result"],
type="ENTERPRISE",
volume={
"name": "system",
"size": 5,
"disk_type": "SSD Standard",
"user_data": "foo",
"bus": "VIRTIO",
"availability_zone": "ZONE_1",
},
nic={
"lan": example_lan.id,
"name": "system",
"dhcp": True,
"firewall_active": True,
"firewall_type": "BIDIRECTIONAL",
"ips": [
webserver_ipblock.ips[0],
webserver_ipblock.ips[1],
],
"dhcpv6": True,
"ipv6_cidr_block": std.cidrsubnet(input=example_lan.ipv6_cidr_block,
newbits=16,
netnum=24)["result"],
"ipv6_ips": [
std.cidrhost(input=std.cidrsubnet(input=example_lan.ipv6_cidr_block,
newbits=16,
netnum=24)["result"],
host=10)["result"],
std.cidrhost(input=std.cidrsubnet(input=example_lan.ipv6_cidr_block,
newbits=16,
netnum=24)["result"],
host=20)["result"],
std.cidrhost(input=std.cidrsubnet(input=example_lan.ipv6_cidr_block,
newbits=16,
netnum=24)["result"],
host=30)["result"],
],
"firewall": {
"protocol": "TCP",
"name": "SSH",
"portRangeStart": 22,
"portRangeEnd": 22,
"sourceMac": "00:0a:95:9d:68:17",
"sourceIp": webserver_ipblock.ips[2],
"targetIp": webserver_ipblock.ips[3],
"type": "EGRESS",
},
})
package main
import (
"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
"github.com/pulumi/pulumi-random/sdk/go/random"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := compute.NewDatacenter(ctx, "example", &compute.DatacenterArgs{
Name: pulumi.String("Resource Server Test"),
Location: pulumi.String("us/las"),
})
if err != nil {
return err
}
webserverIpblock, err := compute.NewIPBlock(ctx, "webserver_ipblock", &compute.IPBlockArgs{
Location: pulumi.String("us/las"),
Size: pulumi.Int(4),
Name: pulumi.String("webserver_ipblock"),
})
if err != nil {
return err
}
invokeCidrsubnet, err := std.Cidrsubnet(ctx, map[string]interface{}{
"input": example.Ipv6CidrBlock,
"newbits": 8,
"netnum": 10,
}, nil)
if err != nil {
return err
}
exampleLan, err := compute.NewLan(ctx, "example", &compute.LanArgs{
DatacenterId: example.ID(),
Public: pulumi.Bool(true),
Name: pulumi.String("public"),
Ipv6CidrBlock: invokeCidrsubnet.Result,
})
if err != nil {
return err
}
serverImagePassword, err := random.NewPassword(ctx, "server_image_password", &random.PasswordArgs{
Length: 16,
Special: false,
})
if err != nil {
return err
}
invokeCidrsubnet1, err := std.Cidrsubnet(ctx, map[string]interface{}{
"input": exampleLan.Ipv6CidrBlock,
"newbits": 16,
"netnum": 24,
}, nil)
if err != nil {
return err
}
invokeCidrhost2, err := std.Cidrhost(ctx, map[string]interface{}{
"input": std.Cidrsubnet(ctx, map[string]interface{}{
"input": exampleLan.Ipv6CidrBlock,
"newbits": 16,
"netnum": 24,
}, nil).Result,
"host": 10,
}, nil)
if err != nil {
return err
}
invokeCidrhost3, err := std.Cidrhost(ctx, map[string]interface{}{
"input": std.Cidrsubnet(ctx, map[string]interface{}{
"input": exampleLan.Ipv6CidrBlock,
"newbits": 16,
"netnum": 24,
}, nil).Result,
"host": 20,
}, nil)
if err != nil {
return err
}
invokeCidrhost4, err := std.Cidrhost(ctx, map[string]interface{}{
"input": std.Cidrsubnet(ctx, map[string]interface{}{
"input": exampleLan.Ipv6CidrBlock,
"newbits": 16,
"netnum": 24,
}, nil).Result,
"host": 30,
}, nil)
if err != nil {
return err
}
_, err = compute.NewServer(ctx, "example", &compute.ServerArgs{
Name: pulumi.String("Resource Server Test"),
DatacenterId: example.ID(),
Cores: pulumi.Int(1),
Ram: pulumi.Int(1024),
ImageName: pulumi.String("ubuntu:latest"),
ImagePassword: serverImagePassword.Result,
Type: pulumi.String("ENTERPRISE"),
Volume: &compute.ServerVolumeArgs{
Name: pulumi.String("system"),
Size: pulumi.Int(5),
DiskType: pulumi.String("SSD Standard"),
UserData: pulumi.String("foo"),
Bus: pulumi.String("VIRTIO"),
AvailabilityZone: pulumi.String("ZONE_1"),
},
Nic: &compute.ServerNicArgs{
Lan: exampleLan.ID(),
Name: pulumi.String("system"),
Dhcp: pulumi.Bool(true),
FirewallActive: pulumi.Bool(true),
FirewallType: pulumi.String("BIDIRECTIONAL"),
Ips: pulumi.StringArray{
webserverIpblock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[0], nil
}).(pulumi.StringOutput),
webserverIpblock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[1], nil
}).(pulumi.StringOutput),
},
Dhcpv6: pulumi.Bool(true),
Ipv6CidrBlock: invokeCidrsubnet1.Result,
Ipv6Ips: pulumi.StringArray{
invokeCidrhost2.Result,
invokeCidrhost3.Result,
invokeCidrhost4.Result,
},
Firewall: map[string]interface{}{
"protocol": "TCP",
"name": "SSH",
"portRangeStart": 22,
"portRangeEnd": 22,
"sourceMac": "00:0a:95:9d:68:17",
"sourceIp": webserverIpblock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[2], nil
}).(pulumi.StringOutput),
"targetIp": webserverIpblock.Ips.ApplyT(func(ips []string) (string, error) {
return ips[3], nil
}).(pulumi.StringOutput),
"type": "EGRESS",
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
using Random = Pulumi.Random;
using Std = Pulumi.Std;
return await Deployment.RunAsync(() =>
{
var example = new Ionoscloud.Compute.Datacenter("example", new()
{
Name = "Resource Server Test",
Location = "us/las",
});
var webserverIpblock = new Ionoscloud.Compute.IPBlock("webserver_ipblock", new()
{
Location = "us/las",
Size = 4,
Name = "webserver_ipblock",
});
var exampleLan = new Ionoscloud.Compute.Lan("example", new()
{
DatacenterId = example.Id,
Public = true,
Name = "public",
Ipv6CidrBlock = Std.Index.Cidrsubnet.Invoke(new()
{
Input = example.Ipv6CidrBlock,
Newbits = 8,
Netnum = 10,
}).Result,
});
var serverImagePassword = new Random.Index.Password("server_image_password", new()
{
Length = 16,
Special = false,
});
var exampleServer = new Ionoscloud.Compute.Server("example", new()
{
Name = "Resource Server Test",
DatacenterId = example.Id,
Cores = 1,
Ram = 1024,
ImageName = "ubuntu:latest",
ImagePassword = serverImagePassword.Result,
Type = "ENTERPRISE",
Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
{
Name = "system",
Size = 5,
DiskType = "SSD Standard",
UserData = "foo",
Bus = "VIRTIO",
AvailabilityZone = "ZONE_1",
},
Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
{
Lan = exampleLan.Id,
Name = "system",
Dhcp = true,
FirewallActive = true,
FirewallType = "BIDIRECTIONAL",
Ips = new[]
{
webserverIpblock.Ips.Apply(ips => ips[0]),
webserverIpblock.Ips.Apply(ips => ips[1]),
},
Dhcpv6 = true,
Ipv6CidrBlock = Std.Index.Cidrsubnet.Invoke(new()
{
Input = exampleLan.Ipv6CidrBlock,
Newbits = 16,
Netnum = 24,
}).Result,
Ipv6Ips = new[]
{
Std.Index.Cidrhost.Invoke(new()
{
Input = Std.Index.Cidrsubnet.Invoke(new()
{
Input = exampleLan.Ipv6CidrBlock,
Newbits = 16,
Netnum = 24,
}).Result,
Host = 10,
}).Result,
Std.Index.Cidrhost.Invoke(new()
{
Input = Std.Index.Cidrsubnet.Invoke(new()
{
Input = exampleLan.Ipv6CidrBlock,
Newbits = 16,
Netnum = 24,
}).Result,
Host = 20,
}).Result,
Std.Index.Cidrhost.Invoke(new()
{
Input = Std.Index.Cidrsubnet.Invoke(new()
{
Input = exampleLan.Ipv6CidrBlock,
Newbits = 16,
Netnum = 24,
}).Result,
Host = 30,
}).Result,
},
Firewall =
{
{ "protocol", "TCP" },
{ "name", "SSH" },
{ "portRangeStart", 22 },
{ "portRangeEnd", 22 },
{ "sourceMac", "00:0a:95:9d:68:17" },
{ "sourceIp", webserverIpblock.Ips.Apply(ips => ips[2]) },
{ "targetIp", webserverIpblock.Ips.Apply(ips => ips[3]) },
{ "type", "EGRESS" },
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.ionoscloud.pulumi.ionoscloud.compute.Datacenter;
import com.ionoscloud.pulumi.ionoscloud.compute.DatacenterArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.IPBlock;
import com.ionoscloud.pulumi.ionoscloud.compute.IPBlockArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Lan;
import com.ionoscloud.pulumi.ionoscloud.compute.LanArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.random.password;
import com.pulumi.random.passwordArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Server;
import com.ionoscloud.pulumi.ionoscloud.compute.ServerArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
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 example = new Datacenter("example", DatacenterArgs.builder()
.name("Resource Server Test")
.location("us/las")
.build());
var webserverIpblock = new IPBlock("webserverIpblock", IPBlockArgs.builder()
.location("us/las")
.size(4)
.name("webserver_ipblock")
.build());
var exampleLan = new Lan("exampleLan", LanArgs.builder()
.datacenterId(example.id())
.public_(true)
.name("public")
.ipv6CidrBlock(StdFunctions.cidrsubnet(Map.ofEntries(
Map.entry("input", example.ipv6CidrBlock()),
Map.entry("newbits", 8),
Map.entry("netnum", 10)
)).result())
.build());
var serverImagePassword = new Password("serverImagePassword", PasswordArgs.builder()
.length(16)
.special(false)
.build());
var exampleServer = new Server("exampleServer", ServerArgs.builder()
.name("Resource Server Test")
.datacenterId(example.id())
.cores(1)
.ram(1024)
.imageName("ubuntu:latest")
.imagePassword(serverImagePassword.result())
.type("ENTERPRISE")
.volume(ServerVolumeArgs.builder()
.name("system")
.size(5)
.diskType("SSD Standard")
.userData("foo")
.bus("VIRTIO")
.availabilityZone("ZONE_1")
.build())
.nic(ServerNicArgs.builder()
.lan(exampleLan.id())
.name("system")
.dhcp(true)
.firewallActive(true)
.firewallType("BIDIRECTIONAL")
.ips(
webserverIpblock.ips().applyValue(_ips -> _ips[0]),
webserverIpblock.ips().applyValue(_ips -> _ips[1]))
.dhcpv6(true)
.ipv6CidrBlock(StdFunctions.cidrsubnet(Map.ofEntries(
Map.entry("input", exampleLan.ipv6CidrBlock()),
Map.entry("newbits", 16),
Map.entry("netnum", 24)
)).result())
.ipv6Ips(
StdFunctions.cidrhost(Map.ofEntries(
Map.entry("input", StdFunctions.cidrsubnet(Map.ofEntries(
Map.entry("input", exampleLan.ipv6CidrBlock()),
Map.entry("newbits", 16),
Map.entry("netnum", 24)
)).result()),
Map.entry("host", 10)
)).result(),
StdFunctions.cidrhost(Map.ofEntries(
Map.entry("input", StdFunctions.cidrsubnet(Map.ofEntries(
Map.entry("input", exampleLan.ipv6CidrBlock()),
Map.entry("newbits", 16),
Map.entry("netnum", 24)
)).result()),
Map.entry("host", 20)
)).result(),
StdFunctions.cidrhost(Map.ofEntries(
Map.entry("input", StdFunctions.cidrsubnet(Map.ofEntries(
Map.entry("input", exampleLan.ipv6CidrBlock()),
Map.entry("newbits", 16),
Map.entry("netnum", 24)
)).result()),
Map.entry("host", 30)
)).result())
.firewall(Map.ofEntries(
Map.entry("protocol", "TCP"),
Map.entry("name", "SSH"),
Map.entry("portRangeStart", 22),
Map.entry("portRangeEnd", 22),
Map.entry("sourceMac", "00:0a:95:9d:68:17"),
Map.entry("sourceIp", webserverIpblock.ips().applyValue(_ips -> _ips[2])),
Map.entry("targetIp", webserverIpblock.ips().applyValue(_ips -> _ips[3])),
Map.entry("type", "EGRESS")
))
.build())
.build());
}
}
resources:
example:
type: ionoscloud:compute:Datacenter
properties:
name: Resource Server Test
location: us/las
webserverIpblock:
type: ionoscloud:compute:IPBlock
name: webserver_ipblock
properties:
location: us/las
size: 4
name: webserver_ipblock
exampleLan:
type: ionoscloud:compute:Lan
name: example
properties:
datacenterId: ${example.id}
public: true
name: public
ipv6CidrBlock:
fn::invoke:
function: std:cidrsubnet
arguments:
input: ${example.ipv6CidrBlock}
newbits: 8
netnum: 10
return: result
exampleServer:
type: ionoscloud:compute:Server
name: example
properties:
name: Resource Server Test
datacenterId: ${example.id}
cores: 1
ram: 1024
imageName: ubuntu:latest
imagePassword: ${serverImagePassword.result}
type: ENTERPRISE
volume:
name: system
size: 5
diskType: SSD Standard
userData: foo
bus: VIRTIO
availabilityZone: ZONE_1
nic:
lan: ${exampleLan.id}
name: system
dhcp: true
firewallActive: true
firewallType: BIDIRECTIONAL
ips:
- ${webserverIpblock.ips[0]}
- ${webserverIpblock.ips[1]}
dhcpv6: true
ipv6CidrBlock:
fn::invoke:
function: std:cidrsubnet
arguments:
input: ${exampleLan.ipv6CidrBlock}
newbits: 16
netnum: 24
return: result
ipv6Ips:
- fn::invoke:
function: std:cidrhost
arguments:
input:
fn::invoke:
function: std:cidrsubnet
arguments:
input: ${exampleLan.ipv6CidrBlock}
newbits: 16
netnum: 24
return: result
host: 10
return: result
- fn::invoke:
function: std:cidrhost
arguments:
input:
fn::invoke:
function: std:cidrsubnet
arguments:
input: ${exampleLan.ipv6CidrBlock}
newbits: 16
netnum: 24
return: result
host: 20
return: result
- fn::invoke:
function: std:cidrhost
arguments:
input:
fn::invoke:
function: std:cidrsubnet
arguments:
input: ${exampleLan.ipv6CidrBlock}
newbits: 16
netnum: 24
return: result
host: 30
return: result
firewall:
protocol: TCP
name: SSH
portRangeStart: 22
portRangeEnd: 22
sourceMac: 00:0a:95:9d:68:17
sourceIp: ${webserverIpblock.ips[2]}
targetIp: ${webserverIpblock.ips[3]}
type: EGRESS
serverImagePassword:
type: random:password
name: server_image_password
properties:
length: 16
special: false
CUBE Server
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
import * as random from "@pulumi/random";
const example = ionoscloud.compute.getTemplate({
name: "Basic Cube XS",
});
const exampleDatacenter = new ionoscloud.compute.Datacenter("example", {
name: "Datacenter Example",
location: "de/txl",
});
const exampleLan = new ionoscloud.compute.Lan("example", {
datacenterId: exampleDatacenter.id,
"public": true,
name: "Lan Example",
});
const serverImagePassword = new random.index.Password("server_image_password", {
length: 16,
special: false,
});
const exampleServer = new ionoscloud.compute.Server("example", {
name: "Server Example",
availabilityZone: "ZONE_2",
imageName: "ubuntu:latest",
type: "CUBE",
templateUuid: example.then(example => example.id),
imagePassword: serverImagePassword.result,
datacenterId: exampleDatacenter.id,
volume: {
name: "Volume Example",
licenceType: "LINUX",
diskType: "DAS",
},
nic: {
lan: exampleLan.id,
name: "Nic Example",
dhcp: true,
firewallActive: true,
},
});
import pulumi
import pulumi_ionoscloud as ionoscloud
import pulumi_random as random
example = ionoscloud.compute.get_template(name="Basic Cube XS")
example_datacenter = ionoscloud.compute.Datacenter("example",
name="Datacenter Example",
location="de/txl")
example_lan = ionoscloud.compute.Lan("example",
datacenter_id=example_datacenter.id,
public=True,
name="Lan Example")
server_image_password = random.Password("server_image_password",
length=16,
special=False)
example_server = ionoscloud.compute.Server("example",
name="Server Example",
availability_zone="ZONE_2",
image_name="ubuntu:latest",
type="CUBE",
template_uuid=example.id,
image_password=server_image_password["result"],
datacenter_id=example_datacenter.id,
volume={
"name": "Volume Example",
"licence_type": "LINUX",
"disk_type": "DAS",
},
nic={
"lan": example_lan.id,
"name": "Nic Example",
"dhcp": True,
"firewall_active": True,
})
package main
import (
"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
"github.com/pulumi/pulumi-random/sdk/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := compute.GetTemplate(ctx, &compute.GetTemplateArgs{
Name: pulumi.StringRef("Basic Cube XS"),
}, nil)
if err != nil {
return err
}
exampleDatacenter, err := compute.NewDatacenter(ctx, "example", &compute.DatacenterArgs{
Name: pulumi.String("Datacenter Example"),
Location: pulumi.String("de/txl"),
})
if err != nil {
return err
}
exampleLan, err := compute.NewLan(ctx, "example", &compute.LanArgs{
DatacenterId: exampleDatacenter.ID(),
Public: pulumi.Bool(true),
Name: pulumi.String("Lan Example"),
})
if err != nil {
return err
}
serverImagePassword, err := random.NewPassword(ctx, "server_image_password", &random.PasswordArgs{
Length: 16,
Special: false,
})
if err != nil {
return err
}
_, err = compute.NewServer(ctx, "example", &compute.ServerArgs{
Name: pulumi.String("Server Example"),
AvailabilityZone: pulumi.String("ZONE_2"),
ImageName: pulumi.String("ubuntu:latest"),
Type: pulumi.String("CUBE"),
TemplateUuid: pulumi.String(pulumi.String(example.Id)),
ImagePassword: serverImagePassword.Result,
DatacenterId: exampleDatacenter.ID(),
Volume: &compute.ServerVolumeArgs{
Name: pulumi.String("Volume Example"),
LicenceType: pulumi.String("LINUX"),
DiskType: pulumi.String("DAS"),
},
Nic: &compute.ServerNicArgs{
Lan: exampleLan.ID(),
Name: pulumi.String("Nic Example"),
Dhcp: pulumi.Bool(true),
FirewallActive: pulumi.Bool(true),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var example = Ionoscloud.Compute.GetTemplate.Invoke(new()
{
Name = "Basic Cube XS",
});
var exampleDatacenter = new Ionoscloud.Compute.Datacenter("example", new()
{
Name = "Datacenter Example",
Location = "de/txl",
});
var exampleLan = new Ionoscloud.Compute.Lan("example", new()
{
DatacenterId = exampleDatacenter.Id,
Public = true,
Name = "Lan Example",
});
var serverImagePassword = new Random.Index.Password("server_image_password", new()
{
Length = 16,
Special = false,
});
var exampleServer = new Ionoscloud.Compute.Server("example", new()
{
Name = "Server Example",
AvailabilityZone = "ZONE_2",
ImageName = "ubuntu:latest",
Type = "CUBE",
TemplateUuid = example.Apply(getTemplateResult => getTemplateResult.Id),
ImagePassword = serverImagePassword.Result,
DatacenterId = exampleDatacenter.Id,
Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
{
Name = "Volume Example",
LicenceType = "LINUX",
DiskType = "DAS",
},
Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
{
Lan = exampleLan.Id,
Name = "Nic Example",
Dhcp = true,
FirewallActive = true,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ionoscloud.compute.ComputeFunctions;
import com.pulumi.ionoscloud.compute.inputs.GetTemplateArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Datacenter;
import com.ionoscloud.pulumi.ionoscloud.compute.DatacenterArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Lan;
import com.ionoscloud.pulumi.ionoscloud.compute.LanArgs;
import com.pulumi.random.password;
import com.pulumi.random.passwordArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Server;
import com.ionoscloud.pulumi.ionoscloud.compute.ServerArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var example = ComputeFunctions.getTemplate(GetTemplateArgs.builder()
.name("Basic Cube XS")
.build());
var exampleDatacenter = new Datacenter("exampleDatacenter", DatacenterArgs.builder()
.name("Datacenter Example")
.location("de/txl")
.build());
var exampleLan = new Lan("exampleLan", LanArgs.builder()
.datacenterId(exampleDatacenter.id())
.public_(true)
.name("Lan Example")
.build());
var serverImagePassword = new Password("serverImagePassword", PasswordArgs.builder()
.length(16)
.special(false)
.build());
var exampleServer = new Server("exampleServer", ServerArgs.builder()
.name("Server Example")
.availabilityZone("ZONE_2")
.imageName("ubuntu:latest")
.type("CUBE")
.templateUuid(example.id())
.imagePassword(serverImagePassword.result())
.datacenterId(exampleDatacenter.id())
.volume(ServerVolumeArgs.builder()
.name("Volume Example")
.licenceType("LINUX")
.diskType("DAS")
.build())
.nic(ServerNicArgs.builder()
.lan(exampleLan.id())
.name("Nic Example")
.dhcp(true)
.firewallActive(true)
.build())
.build());
}
}
resources:
exampleDatacenter:
type: ionoscloud:compute:Datacenter
name: example
properties:
name: Datacenter Example
location: de/txl
exampleLan:
type: ionoscloud:compute:Lan
name: example
properties:
datacenterId: ${exampleDatacenter.id}
public: true
name: Lan Example
exampleServer:
type: ionoscloud:compute:Server
name: example
properties:
name: Server Example
availabilityZone: ZONE_2
imageName: ubuntu:latest
type: CUBE
templateUuid: ${example.id}
imagePassword: ${serverImagePassword.result}
datacenterId: ${exampleDatacenter.id}
volume:
name: Volume Example
licenceType: LINUX
diskType: DAS
nic:
lan: ${exampleLan.id}
name: Nic Example
dhcp: true
firewallActive: true
serverImagePassword:
type: random:password
name: server_image_password
properties:
length: 16
special: false
variables:
example:
fn::invoke:
function: ionoscloud:compute:getTemplate
arguments:
name: Basic Cube XS
Server that boots from CDROM
import * as pulumi from "@pulumi/pulumi";
import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
const cdromDatacenter = new ionoscloud.compute.Datacenter("cdrom", {
name: "CDROM Test",
location: "de/txl",
description: "CDROM image test",
secAuthProtection: false,
});
const _public = new ionoscloud.compute.Lan("public", {
datacenterId: cdromDatacenter.id,
"public": true,
name: "Uplink",
});
const cdrom = ionoscloud.compute.getImage({
imageAlias: "ubuntu:latest_iso",
type: "CDROM",
location: "de/txl",
cloudInit: "NONE",
});
const test = new ionoscloud.compute.Server("test", {
datacenterId: cdromDatacenter.id,
name: "ubuntu_latest_from_cdrom",
cores: 1,
ram: 1024,
cpuFamily: cdromDatacenter.cpuArchitectures.apply(cpuArchitectures => cpuArchitectures[0].cpuFamily),
type: "ENTERPRISE",
volume: {
name: "hdd0",
diskType: "HDD",
size: 50,
licenceType: "OTHER",
},
nic: {
lan: 1,
dhcp: true,
firewallActive: false,
},
});
import pulumi
import pulumi_ionoscloud as ionoscloud
cdrom_datacenter = ionoscloud.compute.Datacenter("cdrom",
name="CDROM Test",
location="de/txl",
description="CDROM image test",
sec_auth_protection=False)
public = ionoscloud.compute.Lan("public",
datacenter_id=cdrom_datacenter.id,
public=True,
name="Uplink")
cdrom = ionoscloud.compute.get_image(image_alias="ubuntu:latest_iso",
type="CDROM",
location="de/txl",
cloud_init="NONE")
test = ionoscloud.compute.Server("test",
datacenter_id=cdrom_datacenter.id,
name="ubuntu_latest_from_cdrom",
cores=1,
ram=1024,
cpu_family=cdrom_datacenter.cpu_architectures[0].cpu_family,
type="ENTERPRISE",
volume={
"name": "hdd0",
"disk_type": "HDD",
"size": 50,
"licence_type": "OTHER",
},
nic={
"lan": 1,
"dhcp": True,
"firewall_active": False,
})
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 {
cdromDatacenter, err := compute.NewDatacenter(ctx, "cdrom", &compute.DatacenterArgs{
Name: pulumi.String("CDROM Test"),
Location: pulumi.String("de/txl"),
Description: pulumi.String("CDROM image test"),
SecAuthProtection: pulumi.Bool(false),
})
if err != nil {
return err
}
_, err = compute.NewLan(ctx, "public", &compute.LanArgs{
DatacenterId: cdromDatacenter.ID(),
Public: pulumi.Bool(true),
Name: pulumi.String("Uplink"),
})
if err != nil {
return err
}
_, err = compute.GetImage(ctx, &compute.GetImageArgs{
ImageAlias: pulumi.StringRef("ubuntu:latest_iso"),
Type: pulumi.StringRef("CDROM"),
Location: pulumi.StringRef("de/txl"),
CloudInit: pulumi.StringRef("NONE"),
}, nil)
if err != nil {
return err
}
_, err = compute.NewServer(ctx, "test", &compute.ServerArgs{
DatacenterId: cdromDatacenter.ID(),
Name: pulumi.String("ubuntu_latest_from_cdrom"),
Cores: pulumi.Int(1),
Ram: pulumi.Int(1024),
CpuFamily: pulumi.String(cdromDatacenter.CpuArchitectures.ApplyT(func(cpuArchitectures []compute.DatacenterCpuArchitecture) (*string, error) {
return &cpuArchitectures[0].CpuFamily, nil
}).(pulumi.StringPtrOutput)),
Type: pulumi.String("ENTERPRISE"),
Volume: &compute.ServerVolumeArgs{
Name: pulumi.String("hdd0"),
DiskType: pulumi.String("HDD"),
Size: pulumi.Int(50),
LicenceType: pulumi.String("OTHER"),
},
Nic: &compute.ServerNicArgs{
Lan: pulumi.Int(1),
Dhcp: pulumi.Bool(true),
FirewallActive: pulumi.Bool(false),
},
})
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 cdromDatacenter = new Ionoscloud.Compute.Datacenter("cdrom", new()
{
Name = "CDROM Test",
Location = "de/txl",
Description = "CDROM image test",
SecAuthProtection = false,
});
var @public = new Ionoscloud.Compute.Lan("public", new()
{
DatacenterId = cdromDatacenter.Id,
Public = true,
Name = "Uplink",
});
var cdrom = Ionoscloud.Compute.GetImage.Invoke(new()
{
ImageAlias = "ubuntu:latest_iso",
Type = "CDROM",
Location = "de/txl",
CloudInit = "NONE",
});
var test = new Ionoscloud.Compute.Server("test", new()
{
DatacenterId = cdromDatacenter.Id,
Name = "ubuntu_latest_from_cdrom",
Cores = 1,
Ram = 1024,
CpuFamily = cdromDatacenter.CpuArchitectures.Apply(cpuArchitectures => cpuArchitectures[0].CpuFamily),
Type = "ENTERPRISE",
Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
{
Name = "hdd0",
DiskType = "HDD",
Size = 50,
LicenceType = "OTHER",
},
Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
{
Lan = 1,
Dhcp = true,
FirewallActive = false,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.ionoscloud.pulumi.ionoscloud.compute.Datacenter;
import com.ionoscloud.pulumi.ionoscloud.compute.DatacenterArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Lan;
import com.ionoscloud.pulumi.ionoscloud.compute.LanArgs;
import com.pulumi.ionoscloud.compute.ComputeFunctions;
import com.pulumi.ionoscloud.compute.inputs.GetImageArgs;
import com.ionoscloud.pulumi.ionoscloud.compute.Server;
import com.ionoscloud.pulumi.ionoscloud.compute.ServerArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
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 cdromDatacenter = new Datacenter("cdromDatacenter", DatacenterArgs.builder()
.name("CDROM Test")
.location("de/txl")
.description("CDROM image test")
.secAuthProtection(false)
.build());
var public_ = new Lan("public", LanArgs.builder()
.datacenterId(cdromDatacenter.id())
.public_(true)
.name("Uplink")
.build());
final var cdrom = ComputeFunctions.getImage(GetImageArgs.builder()
.imageAlias("ubuntu:latest_iso")
.type("CDROM")
.location("de/txl")
.cloudInit("NONE")
.build());
var test = new Server("test", ServerArgs.builder()
.datacenterId(cdromDatacenter.id())
.name("ubuntu_latest_from_cdrom")
.cores(1)
.ram(1024)
.cpuFamily(cdromDatacenter.cpuArchitectures().applyValue(_cpuArchitectures -> _cpuArchitectures[0].cpuFamily()))
.type("ENTERPRISE")
.volume(ServerVolumeArgs.builder()
.name("hdd0")
.diskType("HDD")
.size(50)
.licenceType("OTHER")
.build())
.nic(ServerNicArgs.builder()
.lan(1)
.dhcp(true)
.firewallActive(false)
.build())
.build());
}
}
resources:
cdromDatacenter:
type: ionoscloud:compute:Datacenter
name: cdrom
properties:
name: CDROM Test
location: de/txl
description: CDROM image test
secAuthProtection: false
public:
type: ionoscloud:compute:Lan
properties:
datacenterId: ${cdromDatacenter.id}
public: true
name: Uplink
test:
type: ionoscloud:compute:Server
properties:
datacenterId: ${cdromDatacenter.id}
name: ubuntu_latest_from_cdrom
cores: 1
ram: 1024
cpuFamily: ${cdromDatacenter.cpuArchitectures[0].cpuFamily}
type: ENTERPRISE
volume:
name: hdd0
diskType: HDD
size: 50
licenceType: OTHER
nic:
lan: 1
dhcp: true
firewallActive: false
variables:
cdrom:
fn::invoke:
function: ionoscloud:compute:getImage
arguments:
imageAlias: ubuntu:latest_iso
type: CDROM
location: de/txl
cloudInit: NONE
Notes
Please note that for any secondary volume, you need to set the licence_type property to UNKNOWN
⚠️ Note: Important for deleting an firewall rule from within a list of inline resources defined on the same nic. There is one limitation to removing one firewall rule
from the middle of the list of firewall rules. Terraform will actually modify the existing rules and delete the last one.
More details here. There is a workaround described in the issue
that involves moving the resources in the list prior to deletion.
terraform state mv <resource-name>.<resource-id>[<i>] <resource-name>.<resource-id>[<j>]
Create Server Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Server(name: string, args: ServerArgs, opts?: CustomResourceOptions);@overload
def Server(resource_name: str,
args: ServerArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Server(resource_name: str,
opts: Optional[ResourceOptions] = None,
datacenter_id: Optional[str] = None,
location: Optional[str] = None,
image_name: Optional[str] = None,
boot_image: Optional[str] = None,
cores: Optional[int] = None,
cpu_family: Optional[str] = None,
availability_zone: Optional[str] = None,
firewallrule_ids: Optional[Sequence[str]] = None,
name: Optional[str] = None,
allow_replace: Optional[bool] = None,
image_password: Optional[str] = None,
boot_cdrom: Optional[str] = None,
labels: Optional[Sequence[ServerLabelArgs]] = None,
hostname: Optional[str] = None,
nic: Optional[ServerNicArgs] = None,
nic_multi_queue: Optional[bool] = None,
ram: Optional[int] = None,
security_groups_ids: Optional[Sequence[str]] = None,
ssh_key_paths: Optional[Sequence[str]] = None,
ssh_keys: Optional[Sequence[str]] = None,
template_uuid: Optional[str] = None,
type: Optional[str] = None,
vm_state: Optional[str] = None,
volume: Optional[ServerVolumeArgs] = None)func NewServer(ctx *Context, name string, args ServerArgs, opts ...ResourceOption) (*Server, error)public Server(string name, ServerArgs args, CustomResourceOptions? opts = null)
public Server(String name, ServerArgs args)
public Server(String name, ServerArgs args, CustomResourceOptions options)
type: ionoscloud:compute:Server
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 ServerArgs
- 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 ServerArgs
- 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 ServerArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ServerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ServerArgs
- 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 serverResource = new Ionoscloud.Compute.Server("serverResource", new()
{
DatacenterId = "string",
Location = "string",
ImageName = "string",
BootImage = "string",
Cores = 0,
CpuFamily = "string",
AvailabilityZone = "string",
FirewallruleIds = new[]
{
"string",
},
Name = "string",
AllowReplace = false,
ImagePassword = "string",
Labels = new[]
{
new Ionoscloud.Compute.Inputs.ServerLabelArgs
{
Key = "string",
Value = "string",
},
},
Hostname = "string",
Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
{
Lan = 0,
Id = "string",
Ipv6CidrBlock = "string",
FirewallActive = false,
FirewallType = "string",
Firewalls = new[]
{
new Ionoscloud.Compute.Inputs.ServerNicFirewallArgs
{
Protocol = "string",
IcmpCode = "string",
IcmpType = "string",
Id = "string",
Name = "string",
PortRangeEnd = 0,
PortRangeStart = 0,
SourceIp = "string",
SourceMac = "string",
TargetIp = "string",
Type = "string",
},
},
DeviceNumber = 0,
Ips = new[]
{
"string",
},
Dhcpv6 = false,
Ipv6Ips = new[]
{
"string",
},
Dhcp = false,
Mac = "string",
Name = "string",
PciSlot = 0,
SecurityGroupsIds = new[]
{
"string",
},
},
NicMultiQueue = false,
Ram = 0,
SecurityGroupsIds = new[]
{
"string",
},
SshKeys = new[]
{
"string",
},
TemplateUuid = "string",
Type = "string",
VmState = "string",
Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
{
DiskType = "string",
Name = "string",
Bus = "string",
CpuHotPlug = false,
DeviceNumber = 0,
DiscVirtioHotPlug = false,
DiscVirtioHotUnplug = false,
BackupUnitId = "string",
ExposeSerial = false,
AvailabilityZone = "string",
BootServer = "string",
NicHotPlug = false,
LicenceType = "string",
NicHotUnplug = false,
PciSlot = 0,
RamHotPlug = false,
RequireLegacyBios = false,
Size = 0,
UserData = "string",
},
});
example, err := compute.NewServer(ctx, "serverResource", &compute.ServerArgs{
DatacenterId: pulumi.String("string"),
Location: pulumi.String("string"),
ImageName: pulumi.String("string"),
BootImage: pulumi.String("string"),
Cores: pulumi.Int(0),
CpuFamily: pulumi.String("string"),
AvailabilityZone: pulumi.String("string"),
FirewallruleIds: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
AllowReplace: pulumi.Bool(false),
ImagePassword: pulumi.String("string"),
Labels: compute.ServerLabelArray{
&compute.ServerLabelArgs{
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
Hostname: pulumi.String("string"),
Nic: &compute.ServerNicArgs{
Lan: pulumi.Int(0),
Id: pulumi.String("string"),
Ipv6CidrBlock: pulumi.String("string"),
FirewallActive: pulumi.Bool(false),
FirewallType: pulumi.String("string"),
Firewalls: compute.ServerNicFirewallArray{
&compute.ServerNicFirewallArgs{
Protocol: pulumi.String("string"),
IcmpCode: pulumi.String("string"),
IcmpType: pulumi.String("string"),
Id: pulumi.String("string"),
Name: pulumi.String("string"),
PortRangeEnd: pulumi.Int(0),
PortRangeStart: pulumi.Int(0),
SourceIp: pulumi.String("string"),
SourceMac: pulumi.String("string"),
TargetIp: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
DeviceNumber: pulumi.Int(0),
Ips: pulumi.StringArray{
pulumi.String("string"),
},
Dhcpv6: pulumi.Bool(false),
Ipv6Ips: pulumi.StringArray{
pulumi.String("string"),
},
Dhcp: pulumi.Bool(false),
Mac: pulumi.String("string"),
Name: pulumi.String("string"),
PciSlot: pulumi.Int(0),
SecurityGroupsIds: pulumi.StringArray{
pulumi.String("string"),
},
},
NicMultiQueue: pulumi.Bool(false),
Ram: pulumi.Int(0),
SecurityGroupsIds: pulumi.StringArray{
pulumi.String("string"),
},
SshKeys: pulumi.StringArray{
pulumi.String("string"),
},
TemplateUuid: pulumi.String("string"),
Type: pulumi.String("string"),
VmState: pulumi.String("string"),
Volume: &compute.ServerVolumeArgs{
DiskType: pulumi.String("string"),
Name: pulumi.String("string"),
Bus: pulumi.String("string"),
CpuHotPlug: pulumi.Bool(false),
DeviceNumber: pulumi.Int(0),
DiscVirtioHotPlug: pulumi.Bool(false),
DiscVirtioHotUnplug: pulumi.Bool(false),
BackupUnitId: pulumi.String("string"),
ExposeSerial: pulumi.Bool(false),
AvailabilityZone: pulumi.String("string"),
BootServer: pulumi.String("string"),
NicHotPlug: pulumi.Bool(false),
LicenceType: pulumi.String("string"),
NicHotUnplug: pulumi.Bool(false),
PciSlot: pulumi.Int(0),
RamHotPlug: pulumi.Bool(false),
RequireLegacyBios: pulumi.Bool(false),
Size: pulumi.Int(0),
UserData: pulumi.String("string"),
},
})
var serverResource = new Server("serverResource", ServerArgs.builder()
.datacenterId("string")
.location("string")
.imageName("string")
.bootImage("string")
.cores(0)
.cpuFamily("string")
.availabilityZone("string")
.firewallruleIds("string")
.name("string")
.allowReplace(false)
.imagePassword("string")
.labels(ServerLabelArgs.builder()
.key("string")
.value("string")
.build())
.hostname("string")
.nic(ServerNicArgs.builder()
.lan(0)
.id("string")
.ipv6CidrBlock("string")
.firewallActive(false)
.firewallType("string")
.firewalls(ServerNicFirewallArgs.builder()
.protocol("string")
.icmpCode("string")
.icmpType("string")
.id("string")
.name("string")
.portRangeEnd(0)
.portRangeStart(0)
.sourceIp("string")
.sourceMac("string")
.targetIp("string")
.type("string")
.build())
.deviceNumber(0)
.ips("string")
.dhcpv6(false)
.ipv6Ips("string")
.dhcp(false)
.mac("string")
.name("string")
.pciSlot(0)
.securityGroupsIds("string")
.build())
.nicMultiQueue(false)
.ram(0)
.securityGroupsIds("string")
.sshKeys("string")
.templateUuid("string")
.type("string")
.vmState("string")
.volume(ServerVolumeArgs.builder()
.diskType("string")
.name("string")
.bus("string")
.cpuHotPlug(false)
.deviceNumber(0)
.discVirtioHotPlug(false)
.discVirtioHotUnplug(false)
.backupUnitId("string")
.exposeSerial(false)
.availabilityZone("string")
.bootServer("string")
.nicHotPlug(false)
.licenceType("string")
.nicHotUnplug(false)
.pciSlot(0)
.ramHotPlug(false)
.requireLegacyBios(false)
.size(0)
.userData("string")
.build())
.build());
server_resource = ionoscloud.compute.Server("serverResource",
datacenter_id="string",
location="string",
image_name="string",
boot_image="string",
cores=0,
cpu_family="string",
availability_zone="string",
firewallrule_ids=["string"],
name="string",
allow_replace=False,
image_password="string",
labels=[{
"key": "string",
"value": "string",
}],
hostname="string",
nic={
"lan": 0,
"id": "string",
"ipv6_cidr_block": "string",
"firewall_active": False,
"firewall_type": "string",
"firewalls": [{
"protocol": "string",
"icmp_code": "string",
"icmp_type": "string",
"id": "string",
"name": "string",
"port_range_end": 0,
"port_range_start": 0,
"source_ip": "string",
"source_mac": "string",
"target_ip": "string",
"type": "string",
}],
"device_number": 0,
"ips": ["string"],
"dhcpv6": False,
"ipv6_ips": ["string"],
"dhcp": False,
"mac": "string",
"name": "string",
"pci_slot": 0,
"security_groups_ids": ["string"],
},
nic_multi_queue=False,
ram=0,
security_groups_ids=["string"],
ssh_keys=["string"],
template_uuid="string",
type="string",
vm_state="string",
volume={
"disk_type": "string",
"name": "string",
"bus": "string",
"cpu_hot_plug": False,
"device_number": 0,
"disc_virtio_hot_plug": False,
"disc_virtio_hot_unplug": False,
"backup_unit_id": "string",
"expose_serial": False,
"availability_zone": "string",
"boot_server": "string",
"nic_hot_plug": False,
"licence_type": "string",
"nic_hot_unplug": False,
"pci_slot": 0,
"ram_hot_plug": False,
"require_legacy_bios": False,
"size": 0,
"user_data": "string",
})
const serverResource = new ionoscloud.compute.Server("serverResource", {
datacenterId: "string",
location: "string",
imageName: "string",
bootImage: "string",
cores: 0,
cpuFamily: "string",
availabilityZone: "string",
firewallruleIds: ["string"],
name: "string",
allowReplace: false,
imagePassword: "string",
labels: [{
key: "string",
value: "string",
}],
hostname: "string",
nic: {
lan: 0,
id: "string",
ipv6CidrBlock: "string",
firewallActive: false,
firewallType: "string",
firewalls: [{
protocol: "string",
icmpCode: "string",
icmpType: "string",
id: "string",
name: "string",
portRangeEnd: 0,
portRangeStart: 0,
sourceIp: "string",
sourceMac: "string",
targetIp: "string",
type: "string",
}],
deviceNumber: 0,
ips: ["string"],
dhcpv6: false,
ipv6Ips: ["string"],
dhcp: false,
mac: "string",
name: "string",
pciSlot: 0,
securityGroupsIds: ["string"],
},
nicMultiQueue: false,
ram: 0,
securityGroupsIds: ["string"],
sshKeys: ["string"],
templateUuid: "string",
type: "string",
vmState: "string",
volume: {
diskType: "string",
name: "string",
bus: "string",
cpuHotPlug: false,
deviceNumber: 0,
discVirtioHotPlug: false,
discVirtioHotUnplug: false,
backupUnitId: "string",
exposeSerial: false,
availabilityZone: "string",
bootServer: "string",
nicHotPlug: false,
licenceType: "string",
nicHotUnplug: false,
pciSlot: 0,
ramHotPlug: false,
requireLegacyBios: false,
size: 0,
userData: "string",
},
});
type: ionoscloud:compute:Server
properties:
allowReplace: false
availabilityZone: string
bootImage: string
cores: 0
cpuFamily: string
datacenterId: string
firewallruleIds:
- string
hostname: string
imageName: string
imagePassword: string
labels:
- key: string
value: string
location: string
name: string
nic:
deviceNumber: 0
dhcp: false
dhcpv6: false
firewallActive: false
firewallType: string
firewalls:
- icmpCode: string
icmpType: string
id: string
name: string
portRangeEnd: 0
portRangeStart: 0
protocol: string
sourceIp: string
sourceMac: string
targetIp: string
type: string
id: string
ips:
- string
ipv6CidrBlock: string
ipv6Ips:
- string
lan: 0
mac: string
name: string
pciSlot: 0
securityGroupsIds:
- string
nicMultiQueue: false
ram: 0
securityGroupsIds:
- string
sshKeys:
- string
templateUuid: string
type: string
vmState: string
volume:
availabilityZone: string
backupUnitId: string
bootServer: string
bus: string
cpuHotPlug: false
deviceNumber: 0
discVirtioHotPlug: false
discVirtioHotUnplug: false
diskType: string
exposeSerial: false
licenceType: string
name: string
nicHotPlug: false
nicHotUnplug: false
pciSlot: 0
ramHotPlug: false
requireLegacyBios: false
size: 0
userData: string
Server 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 Server resource accepts the following input properties:
- Datacenter
Id string - [string] The ID of a Virtual Data Center.
- Allow
Replace bool - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- Availability
Zone string - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - Boot
Cdrom string - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- Boot
Image string - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - Cores int
- (Computed)[integer] Number of server CPU cores.
- Cpu
Family string - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- Firewallrule
Ids List<string> - The associated firewall rules.
- Hostname string
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- Image
Name string - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - Image
Password string - [string] Required if
sshKeyPathis not provided. - Labels
List<Ionoscloud.
Server Label> - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - Location string
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- Name string
- [string] The name of the server.
- Nic
Ionoscloud.
Server Nic - See the Nic section.
- Nic
Multi boolQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- Ram int
- (Computed)[integer] The amount of memory for the server in MB.
- Security
Groups List<string>Ids - The list of Security Group IDs for the
- Ssh
Key List<string>Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - Ssh
Keys List<string> - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - Template
Uuid string - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- Type string
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - Vm
State string - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - Volume
Ionoscloud.
Server Volume - See the Volume section.
- Datacenter
Id string - [string] The ID of a Virtual Data Center.
- Allow
Replace bool - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- Availability
Zone string - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - Boot
Cdrom string - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- Boot
Image string - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - Cores int
- (Computed)[integer] Number of server CPU cores.
- Cpu
Family string - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- Firewallrule
Ids []string - The associated firewall rules.
- Hostname string
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- Image
Name string - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - Image
Password string - [string] Required if
sshKeyPathis not provided. - Labels
[]Server
Label Args - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - Location string
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- Name string
- [string] The name of the server.
- Nic
Server
Nic Args - See the Nic section.
- Nic
Multi boolQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- Ram int
- (Computed)[integer] The amount of memory for the server in MB.
- Security
Groups []stringIds - The list of Security Group IDs for the
- Ssh
Key []stringPaths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - Ssh
Keys []string - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - Template
Uuid string - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- Type string
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - Vm
State string - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - Volume
Server
Volume Args - See the Volume section.
- datacenter
Id String - [string] The ID of a Virtual Data Center.
- allow
Replace Boolean - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- availability
Zone String - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - boot
Cdrom String - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- boot
Image String - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - cores Integer
- (Computed)[integer] Number of server CPU cores.
- cpu
Family String - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- firewallrule
Ids List<String> - The associated firewall rules.
- hostname String
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- image
Name String - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - image
Password String - [string] Required if
sshKeyPathis not provided. - labels
List<Server
Label> - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - location String
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- name String
- [string] The name of the server.
- nic
Server
Nic - See the Nic section.
- nic
Multi BooleanQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- ram Integer
- (Computed)[integer] The amount of memory for the server in MB.
- security
Groups List<String>Ids - The list of Security Group IDs for the
- ssh
Key List<String>Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh
Keys List<String> - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - template
Uuid String - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- type String
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - vm
State String - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - volume
Server
Volume - See the Volume section.
- datacenter
Id string - [string] The ID of a Virtual Data Center.
- allow
Replace boolean - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- availability
Zone string - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - boot
Cdrom string - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- boot
Image string - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - cores number
- (Computed)[integer] Number of server CPU cores.
- cpu
Family string - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- firewallrule
Ids string[] - The associated firewall rules.
- hostname string
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- image
Name string - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - image
Password string - [string] Required if
sshKeyPathis not provided. - labels
Server
Label[] - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - location string
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- name string
- [string] The name of the server.
- nic
Server
Nic - See the Nic section.
- nic
Multi booleanQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- ram number
- (Computed)[integer] The amount of memory for the server in MB.
- security
Groups string[]Ids - The list of Security Group IDs for the
- ssh
Key string[]Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh
Keys string[] - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - template
Uuid string - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- type string
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - vm
State string - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - volume
Server
Volume - See the Volume section.
- datacenter_
id str - [string] The ID of a Virtual Data Center.
- allow_
replace bool - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- availability_
zone str - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - boot_
cdrom str - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- boot_
image str - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - cores int
- (Computed)[integer] Number of server CPU cores.
- cpu_
family str - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- firewallrule_
ids Sequence[str] - The associated firewall rules.
- hostname str
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- image_
name str - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - image_
password str - [string] Required if
sshKeyPathis not provided. - labels
Sequence[Server
Label Args] - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - location str
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- name str
- [string] The name of the server.
- nic
Server
Nic Args - See the Nic section.
- nic_
multi_ boolqueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- ram int
- (Computed)[integer] The amount of memory for the server in MB.
- security_
groups_ Sequence[str]ids - The list of Security Group IDs for the
- ssh_
key_ Sequence[str]paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh_
keys Sequence[str] - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - template_
uuid str - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- type str
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - vm_
state str - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - volume
Server
Volume Args - See the Volume section.
- datacenter
Id String - [string] The ID of a Virtual Data Center.
- allow
Replace Boolean - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- availability
Zone String - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - boot
Cdrom String - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- boot
Image String - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - cores Number
- (Computed)[integer] Number of server CPU cores.
- cpu
Family String - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- firewallrule
Ids List<String> - The associated firewall rules.
- hostname String
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- image
Name String - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - image
Password String - [string] Required if
sshKeyPathis not provided. - labels List<Property Map>
- [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - location String
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- name String
- [string] The name of the server.
- nic Property Map
- See the Nic section.
- nic
Multi BooleanQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- ram Number
- (Computed)[integer] The amount of memory for the server in MB.
- security
Groups List<String>Ids - The list of Security Group IDs for the
- ssh
Key List<String>Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh
Keys List<String> - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - template
Uuid String - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- type String
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - vm
State String - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - volume Property Map
- See the Volume section.
Outputs
All input properties are implicitly available as output properties. Additionally, the Server resource produces the following output properties:
- Boot
Volume string - The associated boot volume.
- Firewallrule
Id string - The associated firewall rule.
- Id string
- The provider-assigned unique ID for this managed resource.
- Inline
Volume List<string>Ids - A list with the IDs for the volumes that are defined inside the server resource.
- Primary
Ip string - The associated IP address.
- Primary
Nic string - The associated NIC.
- Boot
Volume string - The associated boot volume.
- Firewallrule
Id string - The associated firewall rule.
- Id string
- The provider-assigned unique ID for this managed resource.
- Inline
Volume []stringIds - A list with the IDs for the volumes that are defined inside the server resource.
- Primary
Ip string - The associated IP address.
- Primary
Nic string - The associated NIC.
- boot
Volume String - The associated boot volume.
- firewallrule
Id String - The associated firewall rule.
- id String
- The provider-assigned unique ID for this managed resource.
- inline
Volume List<String>Ids - A list with the IDs for the volumes that are defined inside the server resource.
- primary
Ip String - The associated IP address.
- primary
Nic String - The associated NIC.
- boot
Volume string - The associated boot volume.
- firewallrule
Id string - The associated firewall rule.
- id string
- The provider-assigned unique ID for this managed resource.
- inline
Volume string[]Ids - A list with the IDs for the volumes that are defined inside the server resource.
- primary
Ip string - The associated IP address.
- primary
Nic string - The associated NIC.
- boot_
volume str - The associated boot volume.
- firewallrule_
id str - The associated firewall rule.
- id str
- The provider-assigned unique ID for this managed resource.
- inline_
volume_ Sequence[str]ids - A list with the IDs for the volumes that are defined inside the server resource.
- primary_
ip str - The associated IP address.
- primary_
nic str - The associated NIC.
- boot
Volume String - The associated boot volume.
- firewallrule
Id String - The associated firewall rule.
- id String
- The provider-assigned unique ID for this managed resource.
- inline
Volume List<String>Ids - A list with the IDs for the volumes that are defined inside the server resource.
- primary
Ip String - The associated IP address.
- primary
Nic String - The associated NIC.
Look up Existing Server Resource
Get an existing Server 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?: ServerState, opts?: CustomResourceOptions): Server@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
allow_replace: Optional[bool] = None,
availability_zone: Optional[str] = None,
boot_cdrom: Optional[str] = None,
boot_image: Optional[str] = None,
boot_volume: Optional[str] = None,
cores: Optional[int] = None,
cpu_family: Optional[str] = None,
datacenter_id: Optional[str] = None,
firewallrule_id: Optional[str] = None,
firewallrule_ids: Optional[Sequence[str]] = None,
hostname: Optional[str] = None,
image_name: Optional[str] = None,
image_password: Optional[str] = None,
inline_volume_ids: Optional[Sequence[str]] = None,
labels: Optional[Sequence[ServerLabelArgs]] = None,
location: Optional[str] = None,
name: Optional[str] = None,
nic: Optional[ServerNicArgs] = None,
nic_multi_queue: Optional[bool] = None,
primary_ip: Optional[str] = None,
primary_nic: Optional[str] = None,
ram: Optional[int] = None,
security_groups_ids: Optional[Sequence[str]] = None,
ssh_key_paths: Optional[Sequence[str]] = None,
ssh_keys: Optional[Sequence[str]] = None,
template_uuid: Optional[str] = None,
type: Optional[str] = None,
vm_state: Optional[str] = None,
volume: Optional[ServerVolumeArgs] = None) -> Serverfunc GetServer(ctx *Context, name string, id IDInput, state *ServerState, opts ...ResourceOption) (*Server, error)public static Server Get(string name, Input<string> id, ServerState? state, CustomResourceOptions? opts = null)public static Server get(String name, Output<String> id, ServerState state, CustomResourceOptions options)resources: _: type: ionoscloud:compute:Server 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.
- Allow
Replace bool - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- Availability
Zone string - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - Boot
Cdrom string - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- Boot
Image string - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - Boot
Volume string - The associated boot volume.
- Cores int
- (Computed)[integer] Number of server CPU cores.
- Cpu
Family string - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- Datacenter
Id string - [string] The ID of a Virtual Data Center.
- Firewallrule
Id string - The associated firewall rule.
- Firewallrule
Ids List<string> - The associated firewall rules.
- Hostname string
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- Image
Name string - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - Image
Password string - [string] Required if
sshKeyPathis not provided. - Inline
Volume List<string>Ids - A list with the IDs for the volumes that are defined inside the server resource.
- Labels
List<Ionoscloud.
Server Label> - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - Location string
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- Name string
- [string] The name of the server.
- Nic
Ionoscloud.
Server Nic - See the Nic section.
- Nic
Multi boolQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- Primary
Ip string - The associated IP address.
- Primary
Nic string - The associated NIC.
- Ram int
- (Computed)[integer] The amount of memory for the server in MB.
- Security
Groups List<string>Ids - The list of Security Group IDs for the
- Ssh
Key List<string>Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - Ssh
Keys List<string> - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - Template
Uuid string - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- Type string
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - Vm
State string - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - Volume
Ionoscloud.
Server Volume - See the Volume section.
- Allow
Replace bool - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- Availability
Zone string - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - Boot
Cdrom string - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- Boot
Image string - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - Boot
Volume string - The associated boot volume.
- Cores int
- (Computed)[integer] Number of server CPU cores.
- Cpu
Family string - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- Datacenter
Id string - [string] The ID of a Virtual Data Center.
- Firewallrule
Id string - The associated firewall rule.
- Firewallrule
Ids []string - The associated firewall rules.
- Hostname string
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- Image
Name string - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - Image
Password string - [string] Required if
sshKeyPathis not provided. - Inline
Volume []stringIds - A list with the IDs for the volumes that are defined inside the server resource.
- Labels
[]Server
Label Args - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - Location string
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- Name string
- [string] The name of the server.
- Nic
Server
Nic Args - See the Nic section.
- Nic
Multi boolQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- Primary
Ip string - The associated IP address.
- Primary
Nic string - The associated NIC.
- Ram int
- (Computed)[integer] The amount of memory for the server in MB.
- Security
Groups []stringIds - The list of Security Group IDs for the
- Ssh
Key []stringPaths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - Ssh
Keys []string - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - Template
Uuid string - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- Type string
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - Vm
State string - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - Volume
Server
Volume Args - See the Volume section.
- allow
Replace Boolean - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- availability
Zone String - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - boot
Cdrom String - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- boot
Image String - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - boot
Volume String - The associated boot volume.
- cores Integer
- (Computed)[integer] Number of server CPU cores.
- cpu
Family String - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- datacenter
Id String - [string] The ID of a Virtual Data Center.
- firewallrule
Id String - The associated firewall rule.
- firewallrule
Ids List<String> - The associated firewall rules.
- hostname String
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- image
Name String - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - image
Password String - [string] Required if
sshKeyPathis not provided. - inline
Volume List<String>Ids - A list with the IDs for the volumes that are defined inside the server resource.
- labels
List<Server
Label> - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - location String
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- name String
- [string] The name of the server.
- nic
Server
Nic - See the Nic section.
- nic
Multi BooleanQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- primary
Ip String - The associated IP address.
- primary
Nic String - The associated NIC.
- ram Integer
- (Computed)[integer] The amount of memory for the server in MB.
- security
Groups List<String>Ids - The list of Security Group IDs for the
- ssh
Key List<String>Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh
Keys List<String> - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - template
Uuid String - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- type String
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - vm
State String - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - volume
Server
Volume - See the Volume section.
- allow
Replace boolean - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- availability
Zone string - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - boot
Cdrom string - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- boot
Image string - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - boot
Volume string - The associated boot volume.
- cores number
- (Computed)[integer] Number of server CPU cores.
- cpu
Family string - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- datacenter
Id string - [string] The ID of a Virtual Data Center.
- firewallrule
Id string - The associated firewall rule.
- firewallrule
Ids string[] - The associated firewall rules.
- hostname string
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- image
Name string - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - image
Password string - [string] Required if
sshKeyPathis not provided. - inline
Volume string[]Ids - A list with the IDs for the volumes that are defined inside the server resource.
- labels
Server
Label[] - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - location string
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- name string
- [string] The name of the server.
- nic
Server
Nic - See the Nic section.
- nic
Multi booleanQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- primary
Ip string - The associated IP address.
- primary
Nic string - The associated NIC.
- ram number
- (Computed)[integer] The amount of memory for the server in MB.
- security
Groups string[]Ids - The list of Security Group IDs for the
- ssh
Key string[]Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh
Keys string[] - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - template
Uuid string - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- type string
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - vm
State string - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - volume
Server
Volume - See the Volume section.
- allow_
replace bool - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- availability_
zone str - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - boot_
cdrom str - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- boot_
image str - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - boot_
volume str - The associated boot volume.
- cores int
- (Computed)[integer] Number of server CPU cores.
- cpu_
family str - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- datacenter_
id str - [string] The ID of a Virtual Data Center.
- firewallrule_
id str - The associated firewall rule.
- firewallrule_
ids Sequence[str] - The associated firewall rules.
- hostname str
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- image_
name str - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - image_
password str - [string] Required if
sshKeyPathis not provided. - inline_
volume_ Sequence[str]ids - A list with the IDs for the volumes that are defined inside the server resource.
- labels
Sequence[Server
Label Args] - [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - location str
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- name str
- [string] The name of the server.
- nic
Server
Nic Args - See the Nic section.
- nic_
multi_ boolqueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- primary_
ip str - The associated IP address.
- primary_
nic str - The associated NIC.
- ram int
- (Computed)[integer] The amount of memory for the server in MB.
- security_
groups_ Sequence[str]ids - The list of Security Group IDs for the
- ssh_
key_ Sequence[str]paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh_
keys Sequence[str] - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - template_
uuid str - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- type str
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - vm_
state str - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - volume
Server
Volume Args - See the Volume section.
- allow
Replace Boolean - [bool] When set to true, allows the update of immutable fields by first destroying and then re-creating the server.
- availability
Zone String - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - boot
Cdrom String - DEPRECATED Please refer to ionoscloud.compute.BootDeviceSelection (Optional)(Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud.compute.getImage data source.
- boot
Image String - [string] The image or snapshot UUID / name. May also be an image alias. It is required if
licenceTypeis not provided. - boot
Volume String - The associated boot volume.
- cores Number
- (Computed)[integer] Number of server CPU cores.
- cpu
Family String - [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
- datacenter
Id String - [string] The ID of a Virtual Data Center.
- firewallrule
Id String - The associated firewall rule.
- firewallrule
Ids List<String> - The associated firewall rules.
- hostname String
- (Computed)[string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters. If no value provided explicitly, it will be populated with the name of the server
- image
Name String - [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if
licenceTypeis not provided. Attribute is immutable. - image
Password String - [string] Required if
sshKeyPathis not provided. - inline
Volume List<String>Ids - A list with the IDs for the volumes that are defined inside the server resource.
- labels List<Property Map>
- [set] A label can be seen as an object with only two required fields:
keyandvalue, both of thestringtype. Please check the example presented above to see how alabelcan be used in the plan. A server can have multiple labels. - location String
- The location of the resource. This field should be used only if you are also using a file configuration and should not be configured otherwise.
- name String
- [string] The name of the server.
- nic Property Map
- See the Nic section.
- nic
Multi BooleanQueue [bool] Activate or deactivate the Multi Queue feature on all NICs of the server. This feature is beneficial to enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is
true, the feature will be activated; if it is not specified or set tofalse, the feature will be deactivated. The feature cannot be activated forCUBEservers.⚠️ Warning:
allowReplace- lets you update immutable fields, but it first destroys and then re-creates the server in order to do it. This field should be used with care, understanding the risks.⚠ WARNING
Image_name under volume level is deprecated, please use imageName under server level sshKeyPath and sshKeys fields are immutable.
⚠ WARNING
If you want to create a CUBE server, you have to provide the
templateUuid. In this case you can not setcores,ramandvolume.sizearguments, these being mutually exclusive withtemplateUuid.In all the other cases (ENTERPRISE servers) you have to provide values for
cores,ramandvolume size.- primary
Ip String - The associated IP address.
- primary
Nic String - The associated NIC.
- ram Number
- (Computed)[integer] The amount of memory for the server in MB.
- security
Groups List<String>Ids - The list of Security Group IDs for the
- ssh
Key List<String>Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh
Keys List<String> - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - template
Uuid String - [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
- type String
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable. - vm
State String - [string] Sets the power state of the server. E.g:
RUNNING,SHUTOFForSUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise(dedicated core). - volume Property Map
- See the Volume section.
Supporting Types
ServerLabel, ServerLabelArgs
ServerNic, ServerNicArgs
- Lan int
- Device
Number int - Dhcp bool
- Dhcpv6 bool
- Indicates whether this NIC receives an IPv6 address through DHCP.
- Firewall
Active bool - Firewall
Type string - Firewalls
List<Ionoscloud.
Server Nic Firewall> - Allows to define firewall rules inline in the server. See the Firewall section.
- Id string
- Ips List<string>
- Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
- Ipv6Cidr
Block string - IPv6 CIDR block assigned to the NIC.
- Ipv6Ips List<string>
- Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
- Mac string
- Name string
- [string] The name of the server.
- Pci
Slot int - Security
Groups List<string>Ids - The list of Security Group IDs for the
- Lan int
- Device
Number int - Dhcp bool
- Dhcpv6 bool
- Indicates whether this NIC receives an IPv6 address through DHCP.
- Firewall
Active bool - Firewall
Type string - Firewalls
[]Server
Nic Firewall - Allows to define firewall rules inline in the server. See the Firewall section.
- Id string
- Ips []string
- Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
- Ipv6Cidr
Block string - IPv6 CIDR block assigned to the NIC.
- Ipv6Ips []string
- Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
- Mac string
- Name string
- [string] The name of the server.
- Pci
Slot int - Security
Groups []stringIds - The list of Security Group IDs for the
- lan Integer
- device
Number Integer - dhcp Boolean
- dhcpv6 Boolean
- Indicates whether this NIC receives an IPv6 address through DHCP.
- firewall
Active Boolean - firewall
Type String - firewalls
List<Server
Nic Firewall> - Allows to define firewall rules inline in the server. See the Firewall section.
- id String
- ips List<String>
- Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
- ipv6Cidr
Block String - IPv6 CIDR block assigned to the NIC.
- ipv6Ips List<String>
- Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
- mac String
- name String
- [string] The name of the server.
- pci
Slot Integer - security
Groups List<String>Ids - The list of Security Group IDs for the
- lan number
- device
Number number - dhcp boolean
- dhcpv6 boolean
- Indicates whether this NIC receives an IPv6 address through DHCP.
- firewall
Active boolean - firewall
Type string - firewalls
Server
Nic Firewall[] - Allows to define firewall rules inline in the server. See the Firewall section.
- id string
- ips string[]
- Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
- ipv6Cidr
Block string - IPv6 CIDR block assigned to the NIC.
- ipv6Ips string[]
- Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
- mac string
- name string
- [string] The name of the server.
- pci
Slot number - security
Groups string[]Ids - The list of Security Group IDs for the
- lan int
- device_
number int - dhcp bool
- dhcpv6 bool
- Indicates whether this NIC receives an IPv6 address through DHCP.
- firewall_
active bool - firewall_
type str - firewalls
Sequence[Server
Nic Firewall] - Allows to define firewall rules inline in the server. See the Firewall section.
- id str
- ips Sequence[str]
- Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
- ipv6_
cidr_ strblock - IPv6 CIDR block assigned to the NIC.
- ipv6_
ips Sequence[str] - Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
- mac str
- name str
- [string] The name of the server.
- pci_
slot int - security_
groups_ Sequence[str]ids - The list of Security Group IDs for the
- lan Number
- device
Number Number - dhcp Boolean
- dhcpv6 Boolean
- Indicates whether this NIC receives an IPv6 address through DHCP.
- firewall
Active Boolean - firewall
Type String - firewalls List<Property Map>
- Allows to define firewall rules inline in the server. See the Firewall section.
- id String
- ips List<String>
- Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
- ipv6Cidr
Block String - IPv6 CIDR block assigned to the NIC.
- ipv6Ips List<String>
- Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
- mac String
- name String
- [string] The name of the server.
- pci
Slot Number - security
Groups List<String>Ids - The list of Security Group IDs for the
ServerNicFirewall, ServerNicFirewallArgs
- Protocol string
- Icmp
Code string - Icmp
Type string - Id string
- Name string
- [string] The name of the server.
- Port
Range intEnd - Port
Range intStart - Source
Ip string - Source
Mac string - Target
Ip string - Type string
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable.
- Protocol string
- Icmp
Code string - Icmp
Type string - Id string
- Name string
- [string] The name of the server.
- Port
Range intEnd - Port
Range intStart - Source
Ip string - Source
Mac string - Target
Ip string - Type string
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable.
- protocol String
- icmp
Code String - icmp
Type String - id String
- name String
- [string] The name of the server.
- port
Range IntegerEnd - port
Range IntegerStart - source
Ip String - source
Mac String - target
Ip String - type String
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable.
- protocol string
- icmp
Code string - icmp
Type string - id string
- name string
- [string] The name of the server.
- port
Range numberEnd - port
Range numberStart - source
Ip string - source
Mac string - target
Ip string - type string
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable.
- protocol str
- icmp_
code str - icmp_
type str - id str
- name str
- [string] The name of the server.
- port_
range_ intend - port_
range_ intstart - source_
ip str - source_
mac str - target_
ip str - type str
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable.
- protocol String
- icmp
Code String - icmp
Type String - id String
- name String
- [string] The name of the server.
- port
Range NumberEnd - port
Range NumberStart - source
Ip String - source
Mac String - target
Ip String - type String
- (Computed)[string] Server usages: *
type- Server usages: ENTERPRISE now named dedicated core, CUBE or VCPU. This property is immutable.
ServerVolume, ServerVolumeArgs
- Disk
Type string - Availability
Zone string - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - Backup
Unit stringId - The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
- Boot
Server string - The UUID of the attached server.
- Bus string
- Cpu
Hot boolPlug - Device
Number int - Disc
Virtio boolHot Plug - Disc
Virtio boolHot Unplug - Expose
Serial bool - If set to
truewill expose the serial id of the disk attached to the server. If set tofalsewill not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial can influence licensed software (e.g. Windows) behavior - Image
Password string - [string] Required if
sshKeyPathis not provided. - Licence
Type string - [string] Sets the OS type of the server.
- Name string
- [string] The name of the server.
- Nic
Hot boolPlug - Nic
Hot boolUnplug - Pci
Slot int - Ram
Hot boolPlug - Require
Legacy boolBios - Indicates if the image requires the legacy BIOS for compatibility or specific needs.
- Size int
- The size of the volume in GB.
- Ssh
Key List<string>Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - Ssh
Keys List<string> - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - User
Data string - The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
- Disk
Type string - Availability
Zone string - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - Backup
Unit stringId - The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
- Boot
Server string - The UUID of the attached server.
- Bus string
- Cpu
Hot boolPlug - Device
Number int - Disc
Virtio boolHot Plug - Disc
Virtio boolHot Unplug - Expose
Serial bool - If set to
truewill expose the serial id of the disk attached to the server. If set tofalsewill not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial can influence licensed software (e.g. Windows) behavior - Image
Password string - [string] Required if
sshKeyPathis not provided. - Licence
Type string - [string] Sets the OS type of the server.
- Name string
- [string] The name of the server.
- Nic
Hot boolPlug - Nic
Hot boolUnplug - Pci
Slot int - Ram
Hot boolPlug - Require
Legacy boolBios - Indicates if the image requires the legacy BIOS for compatibility or specific needs.
- Size int
- The size of the volume in GB.
- Ssh
Key []stringPaths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - Ssh
Keys []string - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - User
Data string - The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
- disk
Type String - availability
Zone String - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - backup
Unit StringId - The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
- boot
Server String - The UUID of the attached server.
- bus String
- cpu
Hot BooleanPlug - device
Number Integer - disc
Virtio BooleanHot Plug - disc
Virtio BooleanHot Unplug - expose
Serial Boolean - If set to
truewill expose the serial id of the disk attached to the server. If set tofalsewill not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial can influence licensed software (e.g. Windows) behavior - image
Password String - [string] Required if
sshKeyPathis not provided. - licence
Type String - [string] Sets the OS type of the server.
- name String
- [string] The name of the server.
- nic
Hot BooleanPlug - nic
Hot BooleanUnplug - pci
Slot Integer - ram
Hot BooleanPlug - require
Legacy BooleanBios - Indicates if the image requires the legacy BIOS for compatibility or specific needs.
- size Integer
- The size of the volume in GB.
- ssh
Key List<String>Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh
Keys List<String> - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - user
Data String - The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
- disk
Type string - availability
Zone string - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - backup
Unit stringId - The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
- boot
Server string - The UUID of the attached server.
- bus string
- cpu
Hot booleanPlug - device
Number number - disc
Virtio booleanHot Plug - disc
Virtio booleanHot Unplug - expose
Serial boolean - If set to
truewill expose the serial id of the disk attached to the server. If set tofalsewill not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial can influence licensed software (e.g. Windows) behavior - image
Password string - [string] Required if
sshKeyPathis not provided. - licence
Type string - [string] Sets the OS type of the server.
- name string
- [string] The name of the server.
- nic
Hot booleanPlug - nic
Hot booleanUnplug - pci
Slot number - ram
Hot booleanPlug - require
Legacy booleanBios - Indicates if the image requires the legacy BIOS for compatibility or specific needs.
- size number
- The size of the volume in GB.
- ssh
Key string[]Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh
Keys string[] - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - user
Data string - The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
- disk_
type str - availability_
zone str - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - backup_
unit_ strid - The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
- boot_
server str - The UUID of the attached server.
- bus str
- cpu_
hot_ boolplug - device_
number int - disc_
virtio_ boolhot_ plug - disc_
virtio_ boolhot_ unplug - expose_
serial bool - If set to
truewill expose the serial id of the disk attached to the server. If set tofalsewill not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial can influence licensed software (e.g. Windows) behavior - image_
password str - [string] Required if
sshKeyPathis not provided. - licence_
type str - [string] Sets the OS type of the server.
- name str
- [string] The name of the server.
- nic_
hot_ boolplug - nic_
hot_ boolunplug - pci_
slot int - ram_
hot_ boolplug - require_
legacy_ boolbios - Indicates if the image requires the legacy BIOS for compatibility or specific needs.
- size int
- The size of the volume in GB.
- ssh_
key_ Sequence[str]paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh_
keys Sequence[str] - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - user_
data str - The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
- disk
Type String - availability
Zone String - [string] The availability zone in which the server should exist. E.g:
AUTO,ZONE_1,ZONE_2. This property is immutable. - backup
Unit StringId - The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
- boot
Server String - The UUID of the attached server.
- bus String
- cpu
Hot BooleanPlug - device
Number Number - disc
Virtio BooleanHot Plug - disc
Virtio BooleanHot Unplug - expose
Serial Boolean - If set to
truewill expose the serial id of the disk attached to the server. If set tofalsewill not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial can influence licensed software (e.g. Windows) behavior - image
Password String - [string] Required if
sshKeyPathis not provided. - licence
Type String - [string] Sets the OS type of the server.
- name String
- [string] The name of the server.
- nic
Hot BooleanPlug - nic
Hot BooleanUnplug - pci
Slot Number - ram
Hot BooleanPlug - require
Legacy BooleanBios - Indicates if the image requires the legacy BIOS for compatibility or specific needs.
- size Number
- The size of the volume in GB.
- ssh
Key List<String>Paths - [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if
imagePasswordis not provided. Does not support~expansion to homedir in the given path. This property is immutable. - ssh
Keys List<String> - [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support
~expansion to homedir in the given path. - user
Data String - The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
Package Details
- Repository
- ionoscloud ionos-cloud/pulumi-ionoscloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
ionoscloudTerraform Provider.
published on Wednesday, Apr 15, 2026 by ionos-cloud
