1. Packages
  2. Gcore Provider
  3. API Docs
  4. Baremetal
gcore 0.22.0 published on Wednesday, Apr 30, 2025 by g-core

gcore.Baremetal

Explore with Pulumi AI

gcore logo
gcore 0.22.0 published on Wednesday, Apr 30, 2025 by g-core

    Represent baremetal instance

    Example Usage

    Prerequisite
    import * as pulumi from "@pulumi/pulumi";
    import * as gcore from "@pulumi/gcore";
    
    const project = gcore.getProject({
        name: "Default",
    });
    const region = gcore.getRegion({
        name: "Luxembourg-2",
    });
    const network = new gcore.Network("network", {
        type: "vlan",
        projectId: project.then(project => project.id),
        regionId: region.then(region => region.id),
    });
    const subnet = new gcore.Subnet("subnet", {
        cidr: "192.168.10.0/24",
        networkId: network.networkId,
        projectId: project.then(project => project.id),
        regionId: region.then(region => region.id),
    });
    const ubuntu = Promise.all([region, project]).then(([region, project]) => gcore.getImage({
        name: "ubuntu-24.04-x64",
        isBaremetal: true,
        regionId: region.id,
        projectId: project.id,
    }));
    const keypair = new gcore.Keypair("keypair", {
        projectId: project.then(project => project.id),
        sshkeyName: "my-keypair",
        publicKey: "ssh-ed25519 ...your public key... gcore@gcore.com",
    });
    const windows = Promise.all([region, project]).then(([region, project]) => gcore.getImage({
        name: "windows-server-standard-2022-ironic",
        isBaremetal: true,
        regionId: region.id,
        projectId: project.id,
    }));
    
    import pulumi
    import pulumi_gcore as gcore
    
    project = gcore.get_project(name="Default")
    region = gcore.get_region(name="Luxembourg-2")
    network = gcore.Network("network",
        type="vlan",
        project_id=project.id,
        region_id=region.id)
    subnet = gcore.Subnet("subnet",
        cidr="192.168.10.0/24",
        network_id=network.network_id,
        project_id=project.id,
        region_id=region.id)
    ubuntu = gcore.get_image(name="ubuntu-24.04-x64",
        is_baremetal=True,
        region_id=region.id,
        project_id=project.id)
    keypair = gcore.Keypair("keypair",
        project_id=project.id,
        sshkey_name="my-keypair",
        public_key="ssh-ed25519 ...your public key... gcore@gcore.com")
    windows = gcore.get_image(name="windows-server-standard-2022-ironic",
        is_baremetal=True,
        region_id=region.id,
        project_id=project.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		project, err := gcore.GetProject(ctx, &gcore.GetProjectArgs{
    			Name: "Default",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		region, err := gcore.GetRegion(ctx, &gcore.GetRegionArgs{
    			Name: "Luxembourg-2",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		network, err := gcore.NewNetwork(ctx, "network", &gcore.NetworkArgs{
    			Type:      pulumi.String("vlan"),
    			ProjectId: pulumi.String(project.Id),
    			RegionId:  pulumi.String(region.Id),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = gcore.NewSubnet(ctx, "subnet", &gcore.SubnetArgs{
    			Cidr:      pulumi.String("192.168.10.0/24"),
    			NetworkId: network.NetworkId,
    			ProjectId: pulumi.String(project.Id),
    			RegionId:  pulumi.String(region.Id),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = gcore.GetImage(ctx, &gcore.GetImageArgs{
    			Name:        pulumi.StringRef("ubuntu-24.04-x64"),
    			IsBaremetal: pulumi.BoolRef(true),
    			RegionId:    pulumi.Float64Ref(region.Id),
    			ProjectId:   pulumi.Float64Ref(project.Id),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = gcore.NewKeypair(ctx, "keypair", &gcore.KeypairArgs{
    			ProjectId:  pulumi.String(project.Id),
    			SshkeyName: pulumi.String("my-keypair"),
    			PublicKey:  pulumi.String("ssh-ed25519 ...your public key... gcore@gcore.com"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = gcore.GetImage(ctx, &gcore.GetImageArgs{
    			Name:        pulumi.StringRef("windows-server-standard-2022-ironic"),
    			IsBaremetal: pulumi.BoolRef(true),
    			RegionId:    pulumi.Float64Ref(region.Id),
    			ProjectId:   pulumi.Float64Ref(project.Id),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcore = Pulumi.Gcore;
    
    return await Deployment.RunAsync(() => 
    {
        var project = Gcore.GetProject.Invoke(new()
        {
            Name = "Default",
        });
    
        var region = Gcore.GetRegion.Invoke(new()
        {
            Name = "Luxembourg-2",
        });
    
        var network = new Gcore.Network("network", new()
        {
            Type = "vlan",
            ProjectId = project.Apply(getProjectResult => getProjectResult.Id),
            RegionId = region.Apply(getRegionResult => getRegionResult.Id),
        });
    
        var subnet = new Gcore.Subnet("subnet", new()
        {
            Cidr = "192.168.10.0/24",
            NetworkId = network.NetworkId,
            ProjectId = project.Apply(getProjectResult => getProjectResult.Id),
            RegionId = region.Apply(getRegionResult => getRegionResult.Id),
        });
    
        var ubuntu = Gcore.GetImage.Invoke(new()
        {
            Name = "ubuntu-24.04-x64",
            IsBaremetal = true,
            RegionId = region.Apply(getRegionResult => getRegionResult.Id),
            ProjectId = project.Apply(getProjectResult => getProjectResult.Id),
        });
    
        var keypair = new Gcore.Keypair("keypair", new()
        {
            ProjectId = project.Apply(getProjectResult => getProjectResult.Id),
            SshkeyName = "my-keypair",
            PublicKey = "ssh-ed25519 ...your public key... gcore@gcore.com",
        });
    
        var windows = Gcore.GetImage.Invoke(new()
        {
            Name = "windows-server-standard-2022-ironic",
            IsBaremetal = true,
            RegionId = region.Apply(getRegionResult => getRegionResult.Id),
            ProjectId = project.Apply(getProjectResult => getProjectResult.Id),
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcore.GcoreFunctions;
    import com.pulumi.gcore.inputs.GetProjectArgs;
    import com.pulumi.gcore.inputs.GetRegionArgs;
    import com.pulumi.gcore.Network;
    import com.pulumi.gcore.NetworkArgs;
    import com.pulumi.gcore.Subnet;
    import com.pulumi.gcore.SubnetArgs;
    import com.pulumi.gcore.inputs.GetImageArgs;
    import com.pulumi.gcore.Keypair;
    import com.pulumi.gcore.KeypairArgs;
    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 project = GcoreFunctions.getProject(GetProjectArgs.builder()
                .name("Default")
                .build());
    
            final var region = GcoreFunctions.getRegion(GetRegionArgs.builder()
                .name("Luxembourg-2")
                .build());
    
            var network = new Network("network", NetworkArgs.builder()
                .type("vlan")
                .projectId(project.applyValue(getProjectResult -> getProjectResult.id()))
                .regionId(region.applyValue(getRegionResult -> getRegionResult.id()))
                .build());
    
            var subnet = new Subnet("subnet", SubnetArgs.builder()
                .cidr("192.168.10.0/24")
                .networkId(network.networkId())
                .projectId(project.applyValue(getProjectResult -> getProjectResult.id()))
                .regionId(region.applyValue(getRegionResult -> getRegionResult.id()))
                .build());
    
            final var ubuntu = GcoreFunctions.getImage(GetImageArgs.builder()
                .name("ubuntu-24.04-x64")
                .isBaremetal(true)
                .regionId(region.applyValue(getRegionResult -> getRegionResult.id()))
                .projectId(project.applyValue(getProjectResult -> getProjectResult.id()))
                .build());
    
            var keypair = new Keypair("keypair", KeypairArgs.builder()
                .projectId(project.applyValue(getProjectResult -> getProjectResult.id()))
                .sshkeyName("my-keypair")
                .publicKey("ssh-ed25519 ...your public key... gcore@gcore.com")
                .build());
    
            final var windows = GcoreFunctions.getImage(GetImageArgs.builder()
                .name("windows-server-standard-2022-ironic")
                .isBaremetal(true)
                .regionId(region.applyValue(getRegionResult -> getRegionResult.id()))
                .projectId(project.applyValue(getProjectResult -> getProjectResult.id()))
                .build());
    
        }
    }
    
    resources:
      network:
        type: gcore:Network
        properties:
          type: vlan
          projectId: ${project.id}
          regionId: ${region.id}
      subnet:
        type: gcore:Subnet
        properties:
          cidr: 192.168.10.0/24
          networkId: ${network.networkId}
          projectId: ${project.id}
          regionId: ${region.id}
      keypair:
        type: gcore:Keypair
        properties:
          projectId: ${project.id}
          sshkeyName: my-keypair
          publicKey: ssh-ed25519 ...your public key... gcore@gcore.com
    variables:
      project:
        fn::invoke:
          function: gcore:getProject
          arguments:
            name: Default
      region:
        fn::invoke:
          function: gcore:getRegion
          arguments:
            name: Luxembourg-2
      ubuntu:
        fn::invoke:
          function: gcore:getImage
          arguments:
            name: ubuntu-24.04-x64
            isBaremetal: true
            regionId: ${region.id}
            projectId: ${project.id}
      windows:
        fn::invoke:
          function: gcore:getImage
          arguments:
            name: windows-server-standard-2022-ironic
            isBaremetal: true
            regionId: ${region.id}
            projectId: ${project.id}
    

    Basic example

    Creating baremetal instance with one public interface

    import * as pulumi from "@pulumi/pulumi";
    import * as gcore from "@pulumi/gcore";
    
    const baremetalWithOneInterface = new gcore.Baremetal("baremetalWithOneInterface", {
        flavorId: "bm1-infrastructure-small",
        keypairName: "my-keypair",
        imageId: data.gcore_image.ubuntu.id,
        interfaces: [{
            type: "external",
        }],
        projectId: data.gcore_project.project.id,
        regionId: data.gcore_region.region.id,
    });
    
    import pulumi
    import pulumi_gcore as gcore
    
    baremetal_with_one_interface = gcore.Baremetal("baremetalWithOneInterface",
        flavor_id="bm1-infrastructure-small",
        keypair_name="my-keypair",
        image_id=data["gcore_image"]["ubuntu"]["id"],
        interfaces=[{
            "type": "external",
        }],
        project_id=data["gcore_project"]["project"]["id"],
        region_id=data["gcore_region"]["region"]["id"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gcore.NewBaremetal(ctx, "baremetalWithOneInterface", &gcore.BaremetalArgs{
    			FlavorId:    pulumi.String("bm1-infrastructure-small"),
    			KeypairName: pulumi.String("my-keypair"),
    			ImageId:     pulumi.Any(data.Gcore_image.Ubuntu.Id),
    			Interfaces: gcore.BaremetalInterfaceArray{
    				&gcore.BaremetalInterfaceArgs{
    					Type: pulumi.String("external"),
    				},
    			},
    			ProjectId: pulumi.Any(data.Gcore_project.Project.Id),
    			RegionId:  pulumi.Any(data.Gcore_region.Region.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcore = Pulumi.Gcore;
    
    return await Deployment.RunAsync(() => 
    {
        var baremetalWithOneInterface = new Gcore.Baremetal("baremetalWithOneInterface", new()
        {
            FlavorId = "bm1-infrastructure-small",
            KeypairName = "my-keypair",
            ImageId = data.Gcore_image.Ubuntu.Id,
            Interfaces = new[]
            {
                new Gcore.Inputs.BaremetalInterfaceArgs
                {
                    Type = "external",
                },
            },
            ProjectId = data.Gcore_project.Project.Id,
            RegionId = data.Gcore_region.Region.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcore.Baremetal;
    import com.pulumi.gcore.BaremetalArgs;
    import com.pulumi.gcore.inputs.BaremetalInterfaceArgs;
    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 baremetalWithOneInterface = new Baremetal("baremetalWithOneInterface", BaremetalArgs.builder()
                .flavorId("bm1-infrastructure-small")
                .keypairName("my-keypair")
                .imageId(data.gcore_image().ubuntu().id())
                .interfaces(BaremetalInterfaceArgs.builder()
                    .type("external")
                    .build())
                .projectId(data.gcore_project().project().id())
                .regionId(data.gcore_region().region().id())
                .build());
    
        }
    }
    
    resources:
      baremetalWithOneInterface:
        type: gcore:Baremetal
        properties:
          flavorId: bm1-infrastructure-small
          keypairName: my-keypair
          imageId: ${data.gcore_image.ubuntu.id}
          interfaces:
            - type: external
          projectId: ${data.gcore_project.project.id}
          regionId: ${data.gcore_region.region.id}
    

    Creating instance with two interfaces

    This example demonstrates how to create a baremetal instance with two network interfaces: one public and one private.

    import * as pulumi from "@pulumi/pulumi";
    import * as gcore from "@pulumi/gcore";
    
    const baremetalWithTwoInterface = new gcore.Baremetal("baremetalWithTwoInterface", {
        flavorId: "bm1-infrastructure-small",
        keypairName: "my-keypair",
        imageId: data.gcore_image.ubuntu.id,
        interfaces: [
            {
                type: "external",
            },
            {
                type: "subnet",
                networkId: gcore_network.network.id,
                subnetId: gcore_subnet.subnet.id,
            },
        ],
        projectId: data.gcore_project.project.id,
        regionId: data.gcore_region.region.id,
    });
    
    import pulumi
    import pulumi_gcore as gcore
    
    baremetal_with_two_interface = gcore.Baremetal("baremetalWithTwoInterface",
        flavor_id="bm1-infrastructure-small",
        keypair_name="my-keypair",
        image_id=data["gcore_image"]["ubuntu"]["id"],
        interfaces=[
            {
                "type": "external",
            },
            {
                "type": "subnet",
                "network_id": gcore_network["network"]["id"],
                "subnet_id": gcore_subnet["subnet"]["id"],
            },
        ],
        project_id=data["gcore_project"]["project"]["id"],
        region_id=data["gcore_region"]["region"]["id"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gcore.NewBaremetal(ctx, "baremetalWithTwoInterface", &gcore.BaremetalArgs{
    			FlavorId:    pulumi.String("bm1-infrastructure-small"),
    			KeypairName: pulumi.String("my-keypair"),
    			ImageId:     pulumi.Any(data.Gcore_image.Ubuntu.Id),
    			Interfaces: gcore.BaremetalInterfaceArray{
    				&gcore.BaremetalInterfaceArgs{
    					Type: pulumi.String("external"),
    				},
    				&gcore.BaremetalInterfaceArgs{
    					Type:      pulumi.String("subnet"),
    					NetworkId: pulumi.Any(gcore_network.Network.Id),
    					SubnetId:  pulumi.Any(gcore_subnet.Subnet.Id),
    				},
    			},
    			ProjectId: pulumi.Any(data.Gcore_project.Project.Id),
    			RegionId:  pulumi.Any(data.Gcore_region.Region.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcore = Pulumi.Gcore;
    
    return await Deployment.RunAsync(() => 
    {
        var baremetalWithTwoInterface = new Gcore.Baremetal("baremetalWithTwoInterface", new()
        {
            FlavorId = "bm1-infrastructure-small",
            KeypairName = "my-keypair",
            ImageId = data.Gcore_image.Ubuntu.Id,
            Interfaces = new[]
            {
                new Gcore.Inputs.BaremetalInterfaceArgs
                {
                    Type = "external",
                },
                new Gcore.Inputs.BaremetalInterfaceArgs
                {
                    Type = "subnet",
                    NetworkId = gcore_network.Network.Id,
                    SubnetId = gcore_subnet.Subnet.Id,
                },
            },
            ProjectId = data.Gcore_project.Project.Id,
            RegionId = data.Gcore_region.Region.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcore.Baremetal;
    import com.pulumi.gcore.BaremetalArgs;
    import com.pulumi.gcore.inputs.BaremetalInterfaceArgs;
    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 baremetalWithTwoInterface = new Baremetal("baremetalWithTwoInterface", BaremetalArgs.builder()
                .flavorId("bm1-infrastructure-small")
                .keypairName("my-keypair")
                .imageId(data.gcore_image().ubuntu().id())
                .interfaces(            
                    BaremetalInterfaceArgs.builder()
                        .type("external")
                        .build(),
                    BaremetalInterfaceArgs.builder()
                        .type("subnet")
                        .networkId(gcore_network.network().id())
                        .subnetId(gcore_subnet.subnet().id())
                        .build())
                .projectId(data.gcore_project().project().id())
                .regionId(data.gcore_region().region().id())
                .build());
    
        }
    }
    
    resources:
      baremetalWithTwoInterface:
        type: gcore:Baremetal
        properties:
          flavorId: bm1-infrastructure-small
          keypairName: my-keypair
          imageId: ${data.gcore_image.ubuntu.id}
          interfaces:
            - type: external
            - type: subnet
              networkId: ${gcore_network.network.id}
              subnetId: ${gcore_subnet.subnet.id}
          projectId: ${data.gcore_project.project.id}
          regionId: ${data.gcore_region.region.id}
    

    Creating Windows baremetal instance with one public interface

    import * as pulumi from "@pulumi/pulumi";
    import * as gcore from "@pulumi/gcore";
    
    const windowsBaremetal = new gcore.Baremetal("windowsBaremetal", {
        flavorId: "bm1-infrastructure-small",
        password: "my-s3cR3tP@ssw0rd",
        imageId: data.gcore_image.windows.id,
        interfaces: [{
            type: "external",
        }],
        projectId: data.gcore_project.project.id,
        regionId: data.gcore_region.region.id,
    });
    
    import pulumi
    import pulumi_gcore as gcore
    
    windows_baremetal = gcore.Baremetal("windowsBaremetal",
        flavor_id="bm1-infrastructure-small",
        password="my-s3cR3tP@ssw0rd",
        image_id=data["gcore_image"]["windows"]["id"],
        interfaces=[{
            "type": "external",
        }],
        project_id=data["gcore_project"]["project"]["id"],
        region_id=data["gcore_region"]["region"]["id"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gcore.NewBaremetal(ctx, "windowsBaremetal", &gcore.BaremetalArgs{
    			FlavorId: pulumi.String("bm1-infrastructure-small"),
    			Password: pulumi.String("my-s3cR3tP@ssw0rd"),
    			ImageId:  pulumi.Any(data.Gcore_image.Windows.Id),
    			Interfaces: gcore.BaremetalInterfaceArray{
    				&gcore.BaremetalInterfaceArgs{
    					Type: pulumi.String("external"),
    				},
    			},
    			ProjectId: pulumi.Any(data.Gcore_project.Project.Id),
    			RegionId:  pulumi.Any(data.Gcore_region.Region.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcore = Pulumi.Gcore;
    
    return await Deployment.RunAsync(() => 
    {
        var windowsBaremetal = new Gcore.Baremetal("windowsBaremetal", new()
        {
            FlavorId = "bm1-infrastructure-small",
            Password = "my-s3cR3tP@ssw0rd",
            ImageId = data.Gcore_image.Windows.Id,
            Interfaces = new[]
            {
                new Gcore.Inputs.BaremetalInterfaceArgs
                {
                    Type = "external",
                },
            },
            ProjectId = data.Gcore_project.Project.Id,
            RegionId = data.Gcore_region.Region.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcore.Baremetal;
    import com.pulumi.gcore.BaremetalArgs;
    import com.pulumi.gcore.inputs.BaremetalInterfaceArgs;
    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 windowsBaremetal = new Baremetal("windowsBaremetal", BaremetalArgs.builder()
                .flavorId("bm1-infrastructure-small")
                .password("my-s3cR3tP@ssw0rd")
                .imageId(data.gcore_image().windows().id())
                .interfaces(BaremetalInterfaceArgs.builder()
                    .type("external")
                    .build())
                .projectId(data.gcore_project().project().id())
                .regionId(data.gcore_region().region().id())
                .build());
    
        }
    }
    
    resources:
      windowsBaremetal:
        type: gcore:Baremetal
        properties:
          flavorId: bm1-infrastructure-small
          password: my-s3cR3tP@ssw0rd
          imageId: ${data.gcore_image.windows.id}
          interfaces:
            - type: external
          projectId: ${data.gcore_project.project.id}
          regionId: ${data.gcore_region.region.id}
    

    Advanced examples

    Creating baremetal instance with floating ip

    import * as pulumi from "@pulumi/pulumi";
    import * as gcore from "@pulumi/gcore";
    
    const fixedIp = new gcore.Reservedfixedip("fixedIp", {
        projectId: data.gcore_project.project.id,
        regionId: data.gcore_region.region.id,
        type: "subnet",
        networkId: gcore_network.network.id,
        subnetId: gcore_subnet.subnet.id,
    });
    const floatingIp = new gcore.Floatingip("floatingIp", {
        projectId: data.gcore_project.project.id,
        regionId: data.gcore_region.region.id,
        fixedIpAddress: fixedIp.fixedIpAddress,
        portId: fixedIp.portId,
    });
    const baremetalWithFloatingIp = new gcore.Baremetal("baremetalWithFloatingIp", {
        flavorId: "bm1-infrastructure-small",
        keypairName: "my-keypair",
        imageId: data.gcore_image.ubuntu.id,
        interfaces: [{
            type: "reserved_fixed_ip",
            portId: fixedIp.portId,
            existingFipId: floatingIp.floatingipId,
        }],
        projectId: data.gcore_project.project.id,
        regionId: data.gcore_region.region.id,
    });
    
    import pulumi
    import pulumi_gcore as gcore
    
    fixed_ip = gcore.Reservedfixedip("fixedIp",
        project_id=data["gcore_project"]["project"]["id"],
        region_id=data["gcore_region"]["region"]["id"],
        type="subnet",
        network_id=gcore_network["network"]["id"],
        subnet_id=gcore_subnet["subnet"]["id"])
    floating_ip = gcore.Floatingip("floatingIp",
        project_id=data["gcore_project"]["project"]["id"],
        region_id=data["gcore_region"]["region"]["id"],
        fixed_ip_address=fixed_ip.fixed_ip_address,
        port_id=fixed_ip.port_id)
    baremetal_with_floating_ip = gcore.Baremetal("baremetalWithFloatingIp",
        flavor_id="bm1-infrastructure-small",
        keypair_name="my-keypair",
        image_id=data["gcore_image"]["ubuntu"]["id"],
        interfaces=[{
            "type": "reserved_fixed_ip",
            "port_id": fixed_ip.port_id,
            "existing_fip_id": floating_ip.floatingip_id,
        }],
        project_id=data["gcore_project"]["project"]["id"],
        region_id=data["gcore_region"]["region"]["id"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		fixedIp, err := gcore.NewReservedfixedip(ctx, "fixedIp", &gcore.ReservedfixedipArgs{
    			ProjectId: pulumi.Any(data.Gcore_project.Project.Id),
    			RegionId:  pulumi.Any(data.Gcore_region.Region.Id),
    			Type:      pulumi.String("subnet"),
    			NetworkId: pulumi.Any(gcore_network.Network.Id),
    			SubnetId:  pulumi.Any(gcore_subnet.Subnet.Id),
    		})
    		if err != nil {
    			return err
    		}
    		floatingIp, err := gcore.NewFloatingip(ctx, "floatingIp", &gcore.FloatingipArgs{
    			ProjectId:      pulumi.Any(data.Gcore_project.Project.Id),
    			RegionId:       pulumi.Any(data.Gcore_region.Region.Id),
    			FixedIpAddress: fixedIp.FixedIpAddress,
    			PortId:         fixedIp.PortId,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = gcore.NewBaremetal(ctx, "baremetalWithFloatingIp", &gcore.BaremetalArgs{
    			FlavorId:    pulumi.String("bm1-infrastructure-small"),
    			KeypairName: pulumi.String("my-keypair"),
    			ImageId:     pulumi.Any(data.Gcore_image.Ubuntu.Id),
    			Interfaces: gcore.BaremetalInterfaceArray{
    				&gcore.BaremetalInterfaceArgs{
    					Type:          pulumi.String("reserved_fixed_ip"),
    					PortId:        fixedIp.PortId,
    					ExistingFipId: floatingIp.FloatingipId,
    				},
    			},
    			ProjectId: pulumi.Any(data.Gcore_project.Project.Id),
    			RegionId:  pulumi.Any(data.Gcore_region.Region.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcore = Pulumi.Gcore;
    
    return await Deployment.RunAsync(() => 
    {
        var fixedIp = new Gcore.Reservedfixedip("fixedIp", new()
        {
            ProjectId = data.Gcore_project.Project.Id,
            RegionId = data.Gcore_region.Region.Id,
            Type = "subnet",
            NetworkId = gcore_network.Network.Id,
            SubnetId = gcore_subnet.Subnet.Id,
        });
    
        var floatingIp = new Gcore.Floatingip("floatingIp", new()
        {
            ProjectId = data.Gcore_project.Project.Id,
            RegionId = data.Gcore_region.Region.Id,
            FixedIpAddress = fixedIp.FixedIpAddress,
            PortId = fixedIp.PortId,
        });
    
        var baremetalWithFloatingIp = new Gcore.Baremetal("baremetalWithFloatingIp", new()
        {
            FlavorId = "bm1-infrastructure-small",
            KeypairName = "my-keypair",
            ImageId = data.Gcore_image.Ubuntu.Id,
            Interfaces = new[]
            {
                new Gcore.Inputs.BaremetalInterfaceArgs
                {
                    Type = "reserved_fixed_ip",
                    PortId = fixedIp.PortId,
                    ExistingFipId = floatingIp.FloatingipId,
                },
            },
            ProjectId = data.Gcore_project.Project.Id,
            RegionId = data.Gcore_region.Region.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcore.Reservedfixedip;
    import com.pulumi.gcore.ReservedfixedipArgs;
    import com.pulumi.gcore.Floatingip;
    import com.pulumi.gcore.FloatingipArgs;
    import com.pulumi.gcore.Baremetal;
    import com.pulumi.gcore.BaremetalArgs;
    import com.pulumi.gcore.inputs.BaremetalInterfaceArgs;
    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 fixedIp = new Reservedfixedip("fixedIp", ReservedfixedipArgs.builder()
                .projectId(data.gcore_project().project().id())
                .regionId(data.gcore_region().region().id())
                .type("subnet")
                .networkId(gcore_network.network().id())
                .subnetId(gcore_subnet.subnet().id())
                .build());
    
            var floatingIp = new Floatingip("floatingIp", FloatingipArgs.builder()
                .projectId(data.gcore_project().project().id())
                .regionId(data.gcore_region().region().id())
                .fixedIpAddress(fixedIp.fixedIpAddress())
                .portId(fixedIp.portId())
                .build());
    
            var baremetalWithFloatingIp = new Baremetal("baremetalWithFloatingIp", BaremetalArgs.builder()
                .flavorId("bm1-infrastructure-small")
                .keypairName("my-keypair")
                .imageId(data.gcore_image().ubuntu().id())
                .interfaces(BaremetalInterfaceArgs.builder()
                    .type("reserved_fixed_ip")
                    .portId(fixedIp.portId())
                    .existingFipId(floatingIp.floatingipId())
                    .build())
                .projectId(data.gcore_project().project().id())
                .regionId(data.gcore_region().region().id())
                .build());
    
        }
    }
    
    resources:
      fixedIp:
        type: gcore:Reservedfixedip
        properties:
          projectId: ${data.gcore_project.project.id}
          regionId: ${data.gcore_region.region.id}
          type: subnet
          networkId: ${gcore_network.network.id}
          subnetId: ${gcore_subnet.subnet.id}
      floatingIp:
        type: gcore:Floatingip
        properties:
          projectId: ${data.gcore_project.project.id}
          regionId: ${data.gcore_region.region.id}
          fixedIpAddress: ${fixedIp.fixedIpAddress}
          portId: ${fixedIp.portId}
      baremetalWithFloatingIp:
        type: gcore:Baremetal
        properties:
          flavorId: bm1-infrastructure-small
          keypairName: my-keypair
          imageId: ${data.gcore_image.ubuntu.id}
          interfaces:
            - type: reserved_fixed_ip
              portId: ${fixedIp.portId}
              existingFipId: ${floatingIp.floatingipId}
          projectId: ${data.gcore_project.project.id}
          regionId: ${data.gcore_region.region.id}
    

    Creating instance with a reserved public interface

    import * as pulumi from "@pulumi/pulumi";
    import * as gcore from "@pulumi/gcore";
    
    const externalFixedIp = new gcore.Reservedfixedip("externalFixedIp", {
        projectId: data.gcore_project.project.id,
        regionId: data.gcore_region.region.id,
        type: "external",
    });
    const baremetalWithReservedAddress = new gcore.Baremetal("baremetalWithReservedAddress", {
        flavorId: "bm1-infrastructure-small",
        keypairName: "my-keypair",
        imageId: data.gcore_image.ubuntu.id,
        interfaces: [{
            type: "reserved_fixed_ip",
            portId: externalFixedIp.portId,
        }],
        projectId: data.gcore_project.project.id,
        regionId: data.gcore_region.region.id,
    });
    
    import pulumi
    import pulumi_gcore as gcore
    
    external_fixed_ip = gcore.Reservedfixedip("externalFixedIp",
        project_id=data["gcore_project"]["project"]["id"],
        region_id=data["gcore_region"]["region"]["id"],
        type="external")
    baremetal_with_reserved_address = gcore.Baremetal("baremetalWithReservedAddress",
        flavor_id="bm1-infrastructure-small",
        keypair_name="my-keypair",
        image_id=data["gcore_image"]["ubuntu"]["id"],
        interfaces=[{
            "type": "reserved_fixed_ip",
            "port_id": external_fixed_ip.port_id,
        }],
        project_id=data["gcore_project"]["project"]["id"],
        region_id=data["gcore_region"]["region"]["id"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/gcore"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		externalFixedIp, err := gcore.NewReservedfixedip(ctx, "externalFixedIp", &gcore.ReservedfixedipArgs{
    			ProjectId: pulumi.Any(data.Gcore_project.Project.Id),
    			RegionId:  pulumi.Any(data.Gcore_region.Region.Id),
    			Type:      pulumi.String("external"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = gcore.NewBaremetal(ctx, "baremetalWithReservedAddress", &gcore.BaremetalArgs{
    			FlavorId:    pulumi.String("bm1-infrastructure-small"),
    			KeypairName: pulumi.String("my-keypair"),
    			ImageId:     pulumi.Any(data.Gcore_image.Ubuntu.Id),
    			Interfaces: gcore.BaremetalInterfaceArray{
    				&gcore.BaremetalInterfaceArgs{
    					Type:   pulumi.String("reserved_fixed_ip"),
    					PortId: externalFixedIp.PortId,
    				},
    			},
    			ProjectId: pulumi.Any(data.Gcore_project.Project.Id),
    			RegionId:  pulumi.Any(data.Gcore_region.Region.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcore = Pulumi.Gcore;
    
    return await Deployment.RunAsync(() => 
    {
        var externalFixedIp = new Gcore.Reservedfixedip("externalFixedIp", new()
        {
            ProjectId = data.Gcore_project.Project.Id,
            RegionId = data.Gcore_region.Region.Id,
            Type = "external",
        });
    
        var baremetalWithReservedAddress = new Gcore.Baremetal("baremetalWithReservedAddress", new()
        {
            FlavorId = "bm1-infrastructure-small",
            KeypairName = "my-keypair",
            ImageId = data.Gcore_image.Ubuntu.Id,
            Interfaces = new[]
            {
                new Gcore.Inputs.BaremetalInterfaceArgs
                {
                    Type = "reserved_fixed_ip",
                    PortId = externalFixedIp.PortId,
                },
            },
            ProjectId = data.Gcore_project.Project.Id,
            RegionId = data.Gcore_region.Region.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcore.Reservedfixedip;
    import com.pulumi.gcore.ReservedfixedipArgs;
    import com.pulumi.gcore.Baremetal;
    import com.pulumi.gcore.BaremetalArgs;
    import com.pulumi.gcore.inputs.BaremetalInterfaceArgs;
    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 externalFixedIp = new Reservedfixedip("externalFixedIp", ReservedfixedipArgs.builder()
                .projectId(data.gcore_project().project().id())
                .regionId(data.gcore_region().region().id())
                .type("external")
                .build());
    
            var baremetalWithReservedAddress = new Baremetal("baremetalWithReservedAddress", BaremetalArgs.builder()
                .flavorId("bm1-infrastructure-small")
                .keypairName("my-keypair")
                .imageId(data.gcore_image().ubuntu().id())
                .interfaces(BaremetalInterfaceArgs.builder()
                    .type("reserved_fixed_ip")
                    .portId(externalFixedIp.portId())
                    .build())
                .projectId(data.gcore_project().project().id())
                .regionId(data.gcore_region().region().id())
                .build());
    
        }
    }
    
    resources:
      externalFixedIp:
        type: gcore:Reservedfixedip
        properties:
          projectId: ${data.gcore_project.project.id}
          regionId: ${data.gcore_region.region.id}
          type: external
      baremetalWithReservedAddress:
        type: gcore:Baremetal
        properties:
          flavorId: bm1-infrastructure-small
          keypairName: my-keypair
          imageId: ${data.gcore_image.ubuntu.id}
          interfaces:
            - type: reserved_fixed_ip
              portId: ${externalFixedIp.portId}
          projectId: ${data.gcore_project.project.id}
          regionId: ${data.gcore_region.region.id}
    

    Create Baremetal Resource

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

    Constructor syntax

    new Baremetal(name: string, args: BaremetalArgs, opts?: CustomResourceOptions);
    @overload
    def Baremetal(resource_name: str,
                  args: BaremetalArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def Baremetal(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  flavor_id: Optional[str] = None,
                  interfaces: Optional[Sequence[BaremetalInterfaceArgs]] = None,
                  name: Optional[str] = None,
                  name_template: Optional[str] = None,
                  image_id: Optional[str] = None,
                  apptemplate_id: Optional[str] = None,
                  keypair_name: Optional[str] = None,
                  last_updated: Optional[str] = None,
                  metadata_map: Optional[Mapping[str, str]] = None,
                  metadatas: Optional[Sequence[BaremetalMetadataArgs]] = None,
                  app_config: Optional[Mapping[str, str]] = None,
                  baremetal_id: Optional[str] = None,
                  name_templates: Optional[Sequence[str]] = None,
                  password: Optional[str] = None,
                  project_id: Optional[float] = None,
                  project_name: Optional[str] = None,
                  region_id: Optional[float] = None,
                  region_name: Optional[str] = None,
                  timeouts: Optional[BaremetalTimeoutsArgs] = None,
                  user_data: Optional[str] = None,
                  username: Optional[str] = None)
    func NewBaremetal(ctx *Context, name string, args BaremetalArgs, opts ...ResourceOption) (*Baremetal, error)
    public Baremetal(string name, BaremetalArgs args, CustomResourceOptions? opts = null)
    public Baremetal(String name, BaremetalArgs args)
    public Baremetal(String name, BaremetalArgs args, CustomResourceOptions options)
    
    type: gcore:Baremetal
    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 BaremetalArgs
    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 BaremetalArgs
    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 BaremetalArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args BaremetalArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args BaremetalArgs
    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 baremetalResource = new Gcore.Baremetal("baremetalResource", new()
    {
        FlavorId = "string",
        Interfaces = new[]
        {
            new Gcore.Inputs.BaremetalInterfaceArgs
            {
                Type = "string",
                ExistingFipId = "string",
                FipSource = "string",
                IpAddress = "string",
                IsParent = false,
                NetworkId = "string",
                Order = 0,
                PortId = "string",
                SubnetId = "string",
            },
        },
        Name = "string",
        NameTemplate = "string",
        ImageId = "string",
        ApptemplateId = "string",
        KeypairName = "string",
        LastUpdated = "string",
        MetadataMap = 
        {
            { "string", "string" },
        },
        AppConfig = 
        {
            { "string", "string" },
        },
        BaremetalId = "string",
        Password = "string",
        ProjectId = 0,
        ProjectName = "string",
        RegionId = 0,
        RegionName = "string",
        Timeouts = new Gcore.Inputs.BaremetalTimeoutsArgs
        {
            Create = "string",
        },
        UserData = "string",
        Username = "string",
    });
    
    example, err := gcore.NewBaremetal(ctx, "baremetalResource", &gcore.BaremetalArgs{
    	FlavorId: pulumi.String("string"),
    	Interfaces: gcore.BaremetalInterfaceArray{
    		&gcore.BaremetalInterfaceArgs{
    			Type:          pulumi.String("string"),
    			ExistingFipId: pulumi.String("string"),
    			FipSource:     pulumi.String("string"),
    			IpAddress:     pulumi.String("string"),
    			IsParent:      pulumi.Bool(false),
    			NetworkId:     pulumi.String("string"),
    			Order:         pulumi.Float64(0),
    			PortId:        pulumi.String("string"),
    			SubnetId:      pulumi.String("string"),
    		},
    	},
    	Name:          pulumi.String("string"),
    	NameTemplate:  pulumi.String("string"),
    	ImageId:       pulumi.String("string"),
    	ApptemplateId: pulumi.String("string"),
    	KeypairName:   pulumi.String("string"),
    	LastUpdated:   pulumi.String("string"),
    	MetadataMap: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	AppConfig: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	BaremetalId: pulumi.String("string"),
    	Password:    pulumi.String("string"),
    	ProjectId:   pulumi.Float64(0),
    	ProjectName: pulumi.String("string"),
    	RegionId:    pulumi.Float64(0),
    	RegionName:  pulumi.String("string"),
    	Timeouts: &gcore.BaremetalTimeoutsArgs{
    		Create: pulumi.String("string"),
    	},
    	UserData: pulumi.String("string"),
    	Username: pulumi.String("string"),
    })
    
    var baremetalResource = new Baremetal("baremetalResource", BaremetalArgs.builder()
        .flavorId("string")
        .interfaces(BaremetalInterfaceArgs.builder()
            .type("string")
            .existingFipId("string")
            .fipSource("string")
            .ipAddress("string")
            .isParent(false)
            .networkId("string")
            .order(0)
            .portId("string")
            .subnetId("string")
            .build())
        .name("string")
        .nameTemplate("string")
        .imageId("string")
        .apptemplateId("string")
        .keypairName("string")
        .lastUpdated("string")
        .metadataMap(Map.of("string", "string"))
        .appConfig(Map.of("string", "string"))
        .baremetalId("string")
        .password("string")
        .projectId(0)
        .projectName("string")
        .regionId(0)
        .regionName("string")
        .timeouts(BaremetalTimeoutsArgs.builder()
            .create("string")
            .build())
        .userData("string")
        .username("string")
        .build());
    
    baremetal_resource = gcore.Baremetal("baremetalResource",
        flavor_id="string",
        interfaces=[{
            "type": "string",
            "existing_fip_id": "string",
            "fip_source": "string",
            "ip_address": "string",
            "is_parent": False,
            "network_id": "string",
            "order": 0,
            "port_id": "string",
            "subnet_id": "string",
        }],
        name="string",
        name_template="string",
        image_id="string",
        apptemplate_id="string",
        keypair_name="string",
        last_updated="string",
        metadata_map={
            "string": "string",
        },
        app_config={
            "string": "string",
        },
        baremetal_id="string",
        password="string",
        project_id=0,
        project_name="string",
        region_id=0,
        region_name="string",
        timeouts={
            "create": "string",
        },
        user_data="string",
        username="string")
    
    const baremetalResource = new gcore.Baremetal("baremetalResource", {
        flavorId: "string",
        interfaces: [{
            type: "string",
            existingFipId: "string",
            fipSource: "string",
            ipAddress: "string",
            isParent: false,
            networkId: "string",
            order: 0,
            portId: "string",
            subnetId: "string",
        }],
        name: "string",
        nameTemplate: "string",
        imageId: "string",
        apptemplateId: "string",
        keypairName: "string",
        lastUpdated: "string",
        metadataMap: {
            string: "string",
        },
        appConfig: {
            string: "string",
        },
        baremetalId: "string",
        password: "string",
        projectId: 0,
        projectName: "string",
        regionId: 0,
        regionName: "string",
        timeouts: {
            create: "string",
        },
        userData: "string",
        username: "string",
    });
    
    type: gcore:Baremetal
    properties:
        appConfig:
            string: string
        apptemplateId: string
        baremetalId: string
        flavorId: string
        imageId: string
        interfaces:
            - existingFipId: string
              fipSource: string
              ipAddress: string
              isParent: false
              networkId: string
              order: 0
              portId: string
              subnetId: string
              type: string
        keypairName: string
        lastUpdated: string
        metadataMap:
            string: string
        name: string
        nameTemplate: string
        password: string
        projectId: 0
        projectName: string
        regionId: 0
        regionName: string
        timeouts:
            create: string
        userData: string
        username: string
    

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

    FlavorId string
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    Interfaces List<BaremetalInterface>
    AppConfig Dictionary<string, string>
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    ApptemplateId string
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    BaremetalId string
    The ID of this resource.
    ImageId string
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    KeypairName string
    The name of the SSH keypair to use for the baremetal
    LastUpdated string
    The date and time when the baremetal server was last updated
    MetadataMap Dictionary<string, string>
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    Metadatas List<BaremetalMetadata>

    Deprecated: Deprecated

    Name string
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    NameTemplate string
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    NameTemplates List<string>
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    Password string
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    ProjectId double
    Project ID, only one of projectid or projectname should be set
    ProjectName string
    Project name, only one of projectid or projectname should be set
    RegionId double
    Region ID, only one of regionid or regionname should be set
    RegionName string
    Region name, only one of regionid or regionname should be set
    Timeouts BaremetalTimeouts
    UserData string
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    Username string
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    FlavorId string
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    Interfaces []BaremetalInterfaceArgs
    AppConfig map[string]string
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    ApptemplateId string
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    BaremetalId string
    The ID of this resource.
    ImageId string
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    KeypairName string
    The name of the SSH keypair to use for the baremetal
    LastUpdated string
    The date and time when the baremetal server was last updated
    MetadataMap map[string]string
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    Metadatas []BaremetalMetadataArgs

    Deprecated: Deprecated

    Name string
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    NameTemplate string
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    NameTemplates []string
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    Password string
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    ProjectId float64
    Project ID, only one of projectid or projectname should be set
    ProjectName string
    Project name, only one of projectid or projectname should be set
    RegionId float64
    Region ID, only one of regionid or regionname should be set
    RegionName string
    Region name, only one of regionid or regionname should be set
    Timeouts BaremetalTimeoutsArgs
    UserData string
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    Username string
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    flavorId String
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    interfaces List<BaremetalInterface>
    appConfig Map<String,String>
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    apptemplateId String
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    baremetalId String
    The ID of this resource.
    imageId String
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    keypairName String
    The name of the SSH keypair to use for the baremetal
    lastUpdated String
    The date and time when the baremetal server was last updated
    metadataMap Map<String,String>
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    metadatas List<BaremetalMetadata>

    Deprecated: Deprecated

    name String
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    nameTemplate String
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    nameTemplates List<String>
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    password String
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    projectId Double
    Project ID, only one of projectid or projectname should be set
    projectName String
    Project name, only one of projectid or projectname should be set
    regionId Double
    Region ID, only one of regionid or regionname should be set
    regionName String
    Region name, only one of regionid or regionname should be set
    timeouts BaremetalTimeouts
    userData String
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    username String
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    flavorId string
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    interfaces BaremetalInterface[]
    appConfig {[key: string]: string}
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    apptemplateId string
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    baremetalId string
    The ID of this resource.
    imageId string
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    keypairName string
    The name of the SSH keypair to use for the baremetal
    lastUpdated string
    The date and time when the baremetal server was last updated
    metadataMap {[key: string]: string}
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    metadatas BaremetalMetadata[]

    Deprecated: Deprecated

    name string
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    nameTemplate string
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    nameTemplates string[]
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    password string
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    projectId number
    Project ID, only one of projectid or projectname should be set
    projectName string
    Project name, only one of projectid or projectname should be set
    regionId number
    Region ID, only one of regionid or regionname should be set
    regionName string
    Region name, only one of regionid or regionname should be set
    timeouts BaremetalTimeouts
    userData string
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    username string
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    flavor_id str
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    interfaces Sequence[BaremetalInterfaceArgs]
    app_config Mapping[str, str]
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    apptemplate_id str
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    baremetal_id str
    The ID of this resource.
    image_id str
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    keypair_name str
    The name of the SSH keypair to use for the baremetal
    last_updated str
    The date and time when the baremetal server was last updated
    metadata_map Mapping[str, str]
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    metadatas Sequence[BaremetalMetadataArgs]

    Deprecated: Deprecated

    name str
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    name_template str
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    name_templates Sequence[str]
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    password str
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    project_id float
    Project ID, only one of projectid or projectname should be set
    project_name str
    Project name, only one of projectid or projectname should be set
    region_id float
    Region ID, only one of regionid or regionname should be set
    region_name str
    Region name, only one of regionid or regionname should be set
    timeouts BaremetalTimeoutsArgs
    user_data str
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    username str
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    flavorId String
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    interfaces List<Property Map>
    appConfig Map<String>
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    apptemplateId String
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    baremetalId String
    The ID of this resource.
    imageId String
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    keypairName String
    The name of the SSH keypair to use for the baremetal
    lastUpdated String
    The date and time when the baremetal server was last updated
    metadataMap Map<String>
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    metadatas List<Property Map>

    Deprecated: Deprecated

    name String
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    nameTemplate String
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    nameTemplates List<String>
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    password String
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    projectId Number
    Project ID, only one of projectid or projectname should be set
    projectName String
    Project name, only one of projectid or projectname should be set
    regionId Number
    Region ID, only one of regionid or regionname should be set
    regionName String
    Region name, only one of regionid or regionname should be set
    timeouts Property Map
    userData String
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    username String
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter

    Outputs

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

    Addresses List<BaremetalAddress>
    Flavor Dictionary<string, string>
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    Id string
    The provider-assigned unique ID for this managed resource.
    Status string
    The current status of the baremetal server.
    VmState string
    The state of the virtual machine
    Addresses []BaremetalAddress
    Flavor map[string]string
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    Id string
    The provider-assigned unique ID for this managed resource.
    Status string
    The current status of the baremetal server.
    VmState string
    The state of the virtual machine
    addresses List<BaremetalAddress>
    flavor Map<String,String>
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    id String
    The provider-assigned unique ID for this managed resource.
    status String
    The current status of the baremetal server.
    vmState String
    The state of the virtual machine
    addresses BaremetalAddress[]
    flavor {[key: string]: string}
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    id string
    The provider-assigned unique ID for this managed resource.
    status string
    The current status of the baremetal server.
    vmState string
    The state of the virtual machine
    addresses Sequence[BaremetalAddress]
    flavor Mapping[str, str]
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    id str
    The provider-assigned unique ID for this managed resource.
    status str
    The current status of the baremetal server.
    vm_state str
    The state of the virtual machine
    addresses List<Property Map>
    flavor Map<String>
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    id String
    The provider-assigned unique ID for this managed resource.
    status String
    The current status of the baremetal server.
    vmState String
    The state of the virtual machine

    Look up Existing Baremetal Resource

    Get an existing Baremetal 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?: BaremetalState, opts?: CustomResourceOptions): Baremetal
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            addresses: Optional[Sequence[BaremetalAddressArgs]] = None,
            app_config: Optional[Mapping[str, str]] = None,
            apptemplate_id: Optional[str] = None,
            baremetal_id: Optional[str] = None,
            flavor: Optional[Mapping[str, str]] = None,
            flavor_id: Optional[str] = None,
            image_id: Optional[str] = None,
            interfaces: Optional[Sequence[BaremetalInterfaceArgs]] = None,
            keypair_name: Optional[str] = None,
            last_updated: Optional[str] = None,
            metadata_map: Optional[Mapping[str, str]] = None,
            metadatas: Optional[Sequence[BaremetalMetadataArgs]] = None,
            name: Optional[str] = None,
            name_template: Optional[str] = None,
            name_templates: Optional[Sequence[str]] = None,
            password: Optional[str] = None,
            project_id: Optional[float] = None,
            project_name: Optional[str] = None,
            region_id: Optional[float] = None,
            region_name: Optional[str] = None,
            status: Optional[str] = None,
            timeouts: Optional[BaremetalTimeoutsArgs] = None,
            user_data: Optional[str] = None,
            username: Optional[str] = None,
            vm_state: Optional[str] = None) -> Baremetal
    func GetBaremetal(ctx *Context, name string, id IDInput, state *BaremetalState, opts ...ResourceOption) (*Baremetal, error)
    public static Baremetal Get(string name, Input<string> id, BaremetalState? state, CustomResourceOptions? opts = null)
    public static Baremetal get(String name, Output<String> id, BaremetalState state, CustomResourceOptions options)
    resources:  _:    type: gcore:Baremetal    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Addresses List<BaremetalAddress>
    AppConfig Dictionary<string, string>
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    ApptemplateId string
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    BaremetalId string
    The ID of this resource.
    Flavor Dictionary<string, string>
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    FlavorId string
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    ImageId string
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    Interfaces List<BaremetalInterface>
    KeypairName string
    The name of the SSH keypair to use for the baremetal
    LastUpdated string
    The date and time when the baremetal server was last updated
    MetadataMap Dictionary<string, string>
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    Metadatas List<BaremetalMetadata>

    Deprecated: Deprecated

    Name string
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    NameTemplate string
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    NameTemplates List<string>
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    Password string
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    ProjectId double
    Project ID, only one of projectid or projectname should be set
    ProjectName string
    Project name, only one of projectid or projectname should be set
    RegionId double
    Region ID, only one of regionid or regionname should be set
    RegionName string
    Region name, only one of regionid or regionname should be set
    Status string
    The current status of the baremetal server.
    Timeouts BaremetalTimeouts
    UserData string
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    Username string
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    VmState string
    The state of the virtual machine
    Addresses []BaremetalAddressArgs
    AppConfig map[string]string
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    ApptemplateId string
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    BaremetalId string
    The ID of this resource.
    Flavor map[string]string
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    FlavorId string
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    ImageId string
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    Interfaces []BaremetalInterfaceArgs
    KeypairName string
    The name of the SSH keypair to use for the baremetal
    LastUpdated string
    The date and time when the baremetal server was last updated
    MetadataMap map[string]string
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    Metadatas []BaremetalMetadataArgs

    Deprecated: Deprecated

    Name string
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    NameTemplate string
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    NameTemplates []string
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    Password string
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    ProjectId float64
    Project ID, only one of projectid or projectname should be set
    ProjectName string
    Project name, only one of projectid or projectname should be set
    RegionId float64
    Region ID, only one of regionid or regionname should be set
    RegionName string
    Region name, only one of regionid or regionname should be set
    Status string
    The current status of the baremetal server.
    Timeouts BaremetalTimeoutsArgs
    UserData string
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    Username string
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    VmState string
    The state of the virtual machine
    addresses List<BaremetalAddress>
    appConfig Map<String,String>
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    apptemplateId String
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    baremetalId String
    The ID of this resource.
    flavor Map<String,String>
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    flavorId String
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    imageId String
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    interfaces List<BaremetalInterface>
    keypairName String
    The name of the SSH keypair to use for the baremetal
    lastUpdated String
    The date and time when the baremetal server was last updated
    metadataMap Map<String,String>
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    metadatas List<BaremetalMetadata>

    Deprecated: Deprecated

    name String
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    nameTemplate String
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    nameTemplates List<String>
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    password String
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    projectId Double
    Project ID, only one of projectid or projectname should be set
    projectName String
    Project name, only one of projectid or projectname should be set
    regionId Double
    Region ID, only one of regionid or regionname should be set
    regionName String
    Region name, only one of regionid or regionname should be set
    status String
    The current status of the baremetal server.
    timeouts BaremetalTimeouts
    userData String
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    username String
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    vmState String
    The state of the virtual machine
    addresses BaremetalAddress[]
    appConfig {[key: string]: string}
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    apptemplateId string
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    baremetalId string
    The ID of this resource.
    flavor {[key: string]: string}
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    flavorId string
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    imageId string
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    interfaces BaremetalInterface[]
    keypairName string
    The name of the SSH keypair to use for the baremetal
    lastUpdated string
    The date and time when the baremetal server was last updated
    metadataMap {[key: string]: string}
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    metadatas BaremetalMetadata[]

    Deprecated: Deprecated

    name string
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    nameTemplate string
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    nameTemplates string[]
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    password string
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    projectId number
    Project ID, only one of projectid or projectname should be set
    projectName string
    Project name, only one of projectid or projectname should be set
    regionId number
    Region ID, only one of regionid or regionname should be set
    regionName string
    Region name, only one of regionid or regionname should be set
    status string
    The current status of the baremetal server.
    timeouts BaremetalTimeouts
    userData string
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    username string
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    vmState string
    The state of the virtual machine
    addresses Sequence[BaremetalAddressArgs]
    app_config Mapping[str, str]
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    apptemplate_id str
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    baremetal_id str
    The ID of this resource.
    flavor Mapping[str, str]
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    flavor_id str
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    image_id str
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    interfaces Sequence[BaremetalInterfaceArgs]
    keypair_name str
    The name of the SSH keypair to use for the baremetal
    last_updated str
    The date and time when the baremetal server was last updated
    metadata_map Mapping[str, str]
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    metadatas Sequence[BaremetalMetadataArgs]

    Deprecated: Deprecated

    name str
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    name_template str
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    name_templates Sequence[str]
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    password str
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    project_id float
    Project ID, only one of projectid or projectname should be set
    project_name str
    Project name, only one of projectid or projectname should be set
    region_id float
    Region ID, only one of regionid or regionname should be set
    region_name str
    Region name, only one of regionid or regionname should be set
    status str
    The current status of the baremetal server.
    timeouts BaremetalTimeoutsArgs
    user_data str
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    username str
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    vm_state str
    The state of the virtual machine
    addresses List<Property Map>
    appConfig Map<String>
    Parameters for the application template from the marketplace. This could include parameters required for app setup. Example: {'shadowsocksmethod': 'chacha20-ietf-poly1305', 'shadowsockspassword': '123'}
    apptemplateId String
    The ID of the application template to use. Provide either 'apptemplateid' or 'imageid', but not both
    baremetalId String
    The ID of this resource.
    flavor Map<String>
    Details about the flavor (server configuration) including RAM, vCPU, etc.
    flavorId String
    The ID of the flavor (type of server configuration). This field is required. Example: 'bm1-hf-medium-4x1nic'
    imageId String
    The ID of the image to use. The image will be used to provision the bare metal server. Provide either 'imageid' or 'apptemplateid', but not both
    interfaces List<Property Map>
    keypairName String
    The name of the SSH keypair to use for the baremetal
    lastUpdated String
    The date and time when the baremetal server was last updated
    metadataMap Map<String>
    A map of metadata items. Key-value pairs for instance metadata. Example: {'environment': 'production', 'owner': 'user'}
    metadatas List<Property Map>

    Deprecated: Deprecated

    name String
    The name of the baremetal server. If not provided, it will be generated automatically. Example: 'bm-server-01'
    nameTemplate String
    The template used to generate server names. You can use forms 'ipoctets', 'twoipoctets', 'oneipoctet'. Example: 'server-${ipoctets}'
    nameTemplates List<String>
    Deprecated. List of baremetal names which will be changed by template

    Deprecated: Deprecated

    password String
    The password for accessing the baremetal server. This parameter is used to set a password for the 'Admin' user on a Windows instance, a default user or a new user on a Linux instance
    projectId Number
    Project ID, only one of projectid or projectname should be set
    projectName String
    Project name, only one of projectid or projectname should be set
    regionId Number
    Region ID, only one of regionid or regionname should be set
    regionName String
    Region name, only one of regionid or regionname should be set
    status String
    The current status of the baremetal server.
    timeouts Property Map
    userData String
    User data string in base64 format. This is passed to the instance at launch. For Linux instances, 'userdata' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'userdata'
    username String
    A name of a new user in the Linux instance. It may be passed with a 'password' parameter
    vmState String
    The state of the virtual machine

    Supporting Types

    BaremetalAddress, BaremetalAddressArgs

    BaremetalAddressNet, BaremetalAddressNetArgs

    Addr string
    Type string
    Addr string
    Type string
    addr String
    type String
    addr string
    type string
    addr str
    type str
    addr String
    type String

    BaremetalInterface, BaremetalInterfaceArgs

    Type string
    The type of the network interface. Available value is 'subnet', 'anysubnet', 'external', 'reservedfixed_ip'
    ExistingFipId string
    The ID of the existing floating IP that will be attached to the interface
    FipSource string
    The source of floating IP. Can be 'new' or 'existing'
    IpAddress string
    The IP address for the interface
    IsParent bool
    Indicates whether this interface is the parent. If not set will be calculated after creation. Trunk interface always attached first. Can't detach interface if is_parent true. Fields affect only on creation
    NetworkId string
    The network ID to attach the interface to. Required if type is 'subnet' or 'any_subnet'
    Order double
    Order of attaching interface. Trunk (parent) interface always attached first, fields affect only on creation
    PortId string
    The port ID for reserved fixed IP. Required if type is 'reservedfixedip'
    SubnetId string
    The subnet ID to attach the interface to. Required if type is 'subnet'
    Type string
    The type of the network interface. Available value is 'subnet', 'anysubnet', 'external', 'reservedfixed_ip'
    ExistingFipId string
    The ID of the existing floating IP that will be attached to the interface
    FipSource string
    The source of floating IP. Can be 'new' or 'existing'
    IpAddress string
    The IP address for the interface
    IsParent bool
    Indicates whether this interface is the parent. If not set will be calculated after creation. Trunk interface always attached first. Can't detach interface if is_parent true. Fields affect only on creation
    NetworkId string
    The network ID to attach the interface to. Required if type is 'subnet' or 'any_subnet'
    Order float64
    Order of attaching interface. Trunk (parent) interface always attached first, fields affect only on creation
    PortId string
    The port ID for reserved fixed IP. Required if type is 'reservedfixedip'
    SubnetId string
    The subnet ID to attach the interface to. Required if type is 'subnet'
    type String
    The type of the network interface. Available value is 'subnet', 'anysubnet', 'external', 'reservedfixed_ip'
    existingFipId String
    The ID of the existing floating IP that will be attached to the interface
    fipSource String
    The source of floating IP. Can be 'new' or 'existing'
    ipAddress String
    The IP address for the interface
    isParent Boolean
    Indicates whether this interface is the parent. If not set will be calculated after creation. Trunk interface always attached first. Can't detach interface if is_parent true. Fields affect only on creation
    networkId String
    The network ID to attach the interface to. Required if type is 'subnet' or 'any_subnet'
    order Double
    Order of attaching interface. Trunk (parent) interface always attached first, fields affect only on creation
    portId String
    The port ID for reserved fixed IP. Required if type is 'reservedfixedip'
    subnetId String
    The subnet ID to attach the interface to. Required if type is 'subnet'
    type string
    The type of the network interface. Available value is 'subnet', 'anysubnet', 'external', 'reservedfixed_ip'
    existingFipId string
    The ID of the existing floating IP that will be attached to the interface
    fipSource string
    The source of floating IP. Can be 'new' or 'existing'
    ipAddress string
    The IP address for the interface
    isParent boolean
    Indicates whether this interface is the parent. If not set will be calculated after creation. Trunk interface always attached first. Can't detach interface if is_parent true. Fields affect only on creation
    networkId string
    The network ID to attach the interface to. Required if type is 'subnet' or 'any_subnet'
    order number
    Order of attaching interface. Trunk (parent) interface always attached first, fields affect only on creation
    portId string
    The port ID for reserved fixed IP. Required if type is 'reservedfixedip'
    subnetId string
    The subnet ID to attach the interface to. Required if type is 'subnet'
    type str
    The type of the network interface. Available value is 'subnet', 'anysubnet', 'external', 'reservedfixed_ip'
    existing_fip_id str
    The ID of the existing floating IP that will be attached to the interface
    fip_source str
    The source of floating IP. Can be 'new' or 'existing'
    ip_address str
    The IP address for the interface
    is_parent bool
    Indicates whether this interface is the parent. If not set will be calculated after creation. Trunk interface always attached first. Can't detach interface if is_parent true. Fields affect only on creation
    network_id str
    The network ID to attach the interface to. Required if type is 'subnet' or 'any_subnet'
    order float
    Order of attaching interface. Trunk (parent) interface always attached first, fields affect only on creation
    port_id str
    The port ID for reserved fixed IP. Required if type is 'reservedfixedip'
    subnet_id str
    The subnet ID to attach the interface to. Required if type is 'subnet'
    type String
    The type of the network interface. Available value is 'subnet', 'anysubnet', 'external', 'reservedfixed_ip'
    existingFipId String
    The ID of the existing floating IP that will be attached to the interface
    fipSource String
    The source of floating IP. Can be 'new' or 'existing'
    ipAddress String
    The IP address for the interface
    isParent Boolean
    Indicates whether this interface is the parent. If not set will be calculated after creation. Trunk interface always attached first. Can't detach interface if is_parent true. Fields affect only on creation
    networkId String
    The network ID to attach the interface to. Required if type is 'subnet' or 'any_subnet'
    order Number
    Order of attaching interface. Trunk (parent) interface always attached first, fields affect only on creation
    portId String
    The port ID for reserved fixed IP. Required if type is 'reservedfixedip'
    subnetId String
    The subnet ID to attach the interface to. Required if type is 'subnet'

    BaremetalMetadata, BaremetalMetadataArgs

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

    BaremetalTimeouts, BaremetalTimeoutsArgs

    Create string
    Create string
    create String
    create string
    create str
    create String

    Import

    import using <project_id>:<region_id>:<instance_id> format

    $ pulumi import gcore:index/baremetal:Baremetal instance1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7
    

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

    Package Details

    Repository
    gcore g-core/terraform-provider-gcore
    License
    Notes
    This Pulumi package is based on the gcore Terraform Provider.
    gcore logo
    gcore 0.22.0 published on Wednesday, Apr 30, 2025 by g-core