1. Packages
  2. Scaleway
  3. API Docs
  4. BaremetalServer
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

scaleway.BaremetalServer

Explore with Pulumi AI

scaleway logo
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

    Creates and manages Scaleway Compute Baremetal servers. For more information, see the documentation.

    Example Usage

    Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumi/scaleway";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const main = scaleway.getIamSshKey({
        name: "main",
    });
    const base = new scaleway.BaremetalServer("base", {
        zone: "fr-par-2",
        offer: "GP-BM1-S",
        os: "d17d6872-0412-45d9-a198-af82c34d3c5c",
        sshKeyIds: [mainScalewayAccountSshKey.id],
    });
    
    import pulumi
    import pulumi_scaleway as scaleway
    import pulumiverse_scaleway as scaleway
    
    main = scaleway.get_iam_ssh_key(name="main")
    base = scaleway.BaremetalServer("base",
        zone="fr-par-2",
        offer="GP-BM1-S",
        os="d17d6872-0412-45d9-a198-af82c34d3c5c",
        ssh_key_ids=[main_scaleway_account_ssh_key["id"]])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := scaleway.LookupIamSshKey(ctx, &scaleway.LookupIamSshKeyArgs{
    			Name: pulumi.StringRef("main"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewBaremetalServer(ctx, "base", &scaleway.BaremetalServerArgs{
    			Zone:  pulumi.String("fr-par-2"),
    			Offer: pulumi.String("GP-BM1-S"),
    			Os:    pulumi.String("d17d6872-0412-45d9-a198-af82c34d3c5c"),
    			SshKeyIds: pulumi.StringArray{
    				mainScalewayAccountSshKey.Id,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumi.Scaleway;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Scaleway.GetIamSshKey.Invoke(new()
        {
            Name = "main",
        });
    
        var @base = new Scaleway.BaremetalServer("base", new()
        {
            Zone = "fr-par-2",
            Offer = "GP-BM1-S",
            Os = "d17d6872-0412-45d9-a198-af82c34d3c5c",
            SshKeyIds = new[]
            {
                mainScalewayAccountSshKey.Id,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.ScalewayFunctions;
    import com.pulumi.scaleway.inputs.GetIamSshKeyArgs;
    import com.pulumi.scaleway.BaremetalServer;
    import com.pulumi.scaleway.BaremetalServerArgs;
    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 main = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()
                .name("main")
                .build());
    
            var base = new BaremetalServer("base", BaremetalServerArgs.builder()
                .zone("fr-par-2")
                .offer("GP-BM1-S")
                .os("d17d6872-0412-45d9-a198-af82c34d3c5c")
                .sshKeyIds(mainScalewayAccountSshKey.id())
                .build());
    
        }
    }
    
    resources:
      base:
        type: scaleway:BaremetalServer
        properties:
          zone: fr-par-2
          offer: GP-BM1-S
          os: d17d6872-0412-45d9-a198-af82c34d3c5c
          sshKeyIds:
            - ${mainScalewayAccountSshKey.id}
    variables:
      main:
        fn::invoke:
          Function: scaleway:getIamSshKey
          Arguments:
            name: main
    

    With option

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumi/scaleway";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const main = scaleway.getIamSshKey({
        name: "main",
    });
    const myOs = scaleway.getBaremetalOs({
        zone: "fr-par-2",
        name: "Ubuntu",
        version: "22.04 LTS (Jammy Jellyfish)",
    });
    const myOffer = scaleway.getBaremetalOffer({
        zone: "fr-par-2",
        name: "EM-B112X-SSD",
    });
    const privateNetwork = scaleway.getBaremetalOption({
        zone: "fr-par-2",
        name: "Private Network",
    });
    const remoteAccess = scaleway.getBaremetalOption({
        zone: "fr-par-2",
        name: "Remote Access",
    });
    const base = new scaleway.BaremetalServer("base", {
        zone: "fr-par-2",
        offer: myOffer.then(myOffer => myOffer.offerId),
        os: myOs.then(myOs => myOs.osId),
        sshKeyIds: [mainScalewayAccountSshKey.id],
        options: [
            {
                id: privateNetwork.then(privateNetwork => privateNetwork.optionId),
            },
            {
                id: remoteAccess.then(remoteAccess => remoteAccess.optionId),
            },
        ],
    });
    
    import pulumi
    import pulumi_scaleway as scaleway
    import pulumiverse_scaleway as scaleway
    
    main = scaleway.get_iam_ssh_key(name="main")
    my_os = scaleway.get_baremetal_os(zone="fr-par-2",
        name="Ubuntu",
        version="22.04 LTS (Jammy Jellyfish)")
    my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
        name="EM-B112X-SSD")
    private_network = scaleway.get_baremetal_option(zone="fr-par-2",
        name="Private Network")
    remote_access = scaleway.get_baremetal_option(zone="fr-par-2",
        name="Remote Access")
    base = scaleway.BaremetalServer("base",
        zone="fr-par-2",
        offer=my_offer.offer_id,
        os=my_os.os_id,
        ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
        options=[
            {
                "id": private_network.option_id,
            },
            {
                "id": remote_access.option_id,
            },
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := scaleway.LookupIamSshKey(ctx, &scaleway.LookupIamSshKeyArgs{
    			Name: pulumi.StringRef("main"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		myOs, err := scaleway.GetBaremetalOs(ctx, &scaleway.GetBaremetalOsArgs{
    			Zone:    pulumi.StringRef("fr-par-2"),
    			Name:    pulumi.StringRef("Ubuntu"),
    			Version: pulumi.StringRef("22.04 LTS (Jammy Jellyfish)"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		myOffer, err := scaleway.GetBaremetalOffer(ctx, &scaleway.GetBaremetalOfferArgs{
    			Zone: pulumi.StringRef("fr-par-2"),
    			Name: pulumi.StringRef("EM-B112X-SSD"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		privateNetwork, err := scaleway.GetBaremetalOption(ctx, &scaleway.GetBaremetalOptionArgs{
    			Zone: pulumi.StringRef("fr-par-2"),
    			Name: pulumi.StringRef("Private Network"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		remoteAccess, err := scaleway.GetBaremetalOption(ctx, &scaleway.GetBaremetalOptionArgs{
    			Zone: pulumi.StringRef("fr-par-2"),
    			Name: pulumi.StringRef("Remote Access"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewBaremetalServer(ctx, "base", &scaleway.BaremetalServerArgs{
    			Zone:  pulumi.String("fr-par-2"),
    			Offer: pulumi.String(myOffer.OfferId),
    			Os:    pulumi.String(myOs.OsId),
    			SshKeyIds: pulumi.StringArray{
    				mainScalewayAccountSshKey.Id,
    			},
    			Options: scaleway.BaremetalServerOptionArray{
    				&scaleway.BaremetalServerOptionArgs{
    					Id: pulumi.String(privateNetwork.OptionId),
    				},
    				&scaleway.BaremetalServerOptionArgs{
    					Id: pulumi.String(remoteAccess.OptionId),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumi.Scaleway;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Scaleway.GetIamSshKey.Invoke(new()
        {
            Name = "main",
        });
    
        var myOs = Scaleway.GetBaremetalOs.Invoke(new()
        {
            Zone = "fr-par-2",
            Name = "Ubuntu",
            Version = "22.04 LTS (Jammy Jellyfish)",
        });
    
        var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()
        {
            Zone = "fr-par-2",
            Name = "EM-B112X-SSD",
        });
    
        var privateNetwork = Scaleway.GetBaremetalOption.Invoke(new()
        {
            Zone = "fr-par-2",
            Name = "Private Network",
        });
    
        var remoteAccess = Scaleway.GetBaremetalOption.Invoke(new()
        {
            Zone = "fr-par-2",
            Name = "Remote Access",
        });
    
        var @base = new Scaleway.BaremetalServer("base", new()
        {
            Zone = "fr-par-2",
            Offer = myOffer.Apply(getBaremetalOfferResult => getBaremetalOfferResult.OfferId),
            Os = myOs.Apply(getBaremetalOsResult => getBaremetalOsResult.OsId),
            SshKeyIds = new[]
            {
                mainScalewayAccountSshKey.Id,
            },
            Options = new[]
            {
                new Scaleway.Inputs.BaremetalServerOptionArgs
                {
                    Id = privateNetwork.Apply(getBaremetalOptionResult => getBaremetalOptionResult.OptionId),
                },
                new Scaleway.Inputs.BaremetalServerOptionArgs
                {
                    Id = remoteAccess.Apply(getBaremetalOptionResult => getBaremetalOptionResult.OptionId),
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.ScalewayFunctions;
    import com.pulumi.scaleway.inputs.GetIamSshKeyArgs;
    import com.pulumi.scaleway.inputs.GetBaremetalOsArgs;
    import com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;
    import com.pulumi.scaleway.inputs.GetBaremetalOptionArgs;
    import com.pulumi.scaleway.BaremetalServer;
    import com.pulumi.scaleway.BaremetalServerArgs;
    import com.pulumi.scaleway.inputs.BaremetalServerOptionArgs;
    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 main = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()
                .name("main")
                .build());
    
            final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()
                .zone("fr-par-2")
                .name("Ubuntu")
                .version("22.04 LTS (Jammy Jellyfish)")
                .build());
    
            final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()
                .zone("fr-par-2")
                .name("EM-B112X-SSD")
                .build());
    
            final var privateNetwork = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()
                .zone("fr-par-2")
                .name("Private Network")
                .build());
    
            final var remoteAccess = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()
                .zone("fr-par-2")
                .name("Remote Access")
                .build());
    
            var base = new BaremetalServer("base", BaremetalServerArgs.builder()
                .zone("fr-par-2")
                .offer(myOffer.applyValue(getBaremetalOfferResult -> getBaremetalOfferResult.offerId()))
                .os(myOs.applyValue(getBaremetalOsResult -> getBaremetalOsResult.osId()))
                .sshKeyIds(mainScalewayAccountSshKey.id())
                .options(            
                    BaremetalServerOptionArgs.builder()
                        .id(privateNetwork.applyValue(getBaremetalOptionResult -> getBaremetalOptionResult.optionId()))
                        .build(),
                    BaremetalServerOptionArgs.builder()
                        .id(remoteAccess.applyValue(getBaremetalOptionResult -> getBaremetalOptionResult.optionId()))
                        .build())
                .build());
    
        }
    }
    
    resources:
      base:
        type: scaleway:BaremetalServer
        properties:
          zone: fr-par-2
          offer: ${myOffer.offerId}
          os: ${myOs.osId}
          sshKeyIds:
            - ${mainScalewayAccountSshKey.id}
          options:
            - id: ${privateNetwork.optionId}
            - id: ${remoteAccess.optionId}
    variables:
      main:
        fn::invoke:
          Function: scaleway:getIamSshKey
          Arguments:
            name: main
      myOs:
        fn::invoke:
          Function: scaleway:getBaremetalOs
          Arguments:
            zone: fr-par-2
            name: Ubuntu
            version: 22.04 LTS (Jammy Jellyfish)
      myOffer:
        fn::invoke:
          Function: scaleway:getBaremetalOffer
          Arguments:
            zone: fr-par-2
            name: EM-B112X-SSD
      privateNetwork:
        fn::invoke:
          Function: scaleway:getBaremetalOption
          Arguments:
            zone: fr-par-2
            name: Private Network
      remoteAccess:
        fn::invoke:
          Function: scaleway:getBaremetalOption
          Arguments:
            zone: fr-par-2
            name: Remote Access
    

    With private network

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumi/scaleway";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const main = scaleway.getIamSshKey({
        name: "main",
    });
    const myOs = scaleway.getBaremetalOs({
        zone: "fr-par-2",
        name: "Ubuntu",
        version: "22.04 LTS (Jammy Jellyfish)",
    });
    const myOffer = scaleway.getBaremetalOffer({
        zone: "fr-par-2",
        name: "EM-B112X-SSD",
    });
    const privateNetwork = scaleway.getBaremetalOption({
        zone: "fr-par-2",
        name: "Private Network",
    });
    const pn = new scaleway.VpcPrivateNetwork("pn", {
        region: "fr-par",
        name: "baremetal_private_network",
    });
    const base = new scaleway.BaremetalServer("base", {
        zone: "fr-par-2",
        offer: myOffer.then(myOffer => myOffer.offerId),
        os: myOs.then(myOs => myOs.osId),
        sshKeyIds: [mainScalewayAccountSshKey.id],
        options: [{
            id: privateNetwork.then(privateNetwork => privateNetwork.optionId),
        }],
        privateNetworks: [{
            id: pn.id,
        }],
    });
    
    import pulumi
    import pulumi_scaleway as scaleway
    import pulumiverse_scaleway as scaleway
    
    main = scaleway.get_iam_ssh_key(name="main")
    my_os = scaleway.get_baremetal_os(zone="fr-par-2",
        name="Ubuntu",
        version="22.04 LTS (Jammy Jellyfish)")
    my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
        name="EM-B112X-SSD")
    private_network = scaleway.get_baremetal_option(zone="fr-par-2",
        name="Private Network")
    pn = scaleway.VpcPrivateNetwork("pn",
        region="fr-par",
        name="baremetal_private_network")
    base = scaleway.BaremetalServer("base",
        zone="fr-par-2",
        offer=my_offer.offer_id,
        os=my_os.os_id,
        ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
        options=[{
            "id": private_network.option_id,
        }],
        private_networks=[{
            "id": pn.id,
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := scaleway.LookupIamSshKey(ctx, &scaleway.LookupIamSshKeyArgs{
    			Name: pulumi.StringRef("main"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		myOs, err := scaleway.GetBaremetalOs(ctx, &scaleway.GetBaremetalOsArgs{
    			Zone:    pulumi.StringRef("fr-par-2"),
    			Name:    pulumi.StringRef("Ubuntu"),
    			Version: pulumi.StringRef("22.04 LTS (Jammy Jellyfish)"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		myOffer, err := scaleway.GetBaremetalOffer(ctx, &scaleway.GetBaremetalOfferArgs{
    			Zone: pulumi.StringRef("fr-par-2"),
    			Name: pulumi.StringRef("EM-B112X-SSD"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		privateNetwork, err := scaleway.GetBaremetalOption(ctx, &scaleway.GetBaremetalOptionArgs{
    			Zone: pulumi.StringRef("fr-par-2"),
    			Name: pulumi.StringRef("Private Network"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		pn, err := scaleway.NewVpcPrivateNetwork(ctx, "pn", &scaleway.VpcPrivateNetworkArgs{
    			Region: pulumi.String("fr-par"),
    			Name:   pulumi.String("baremetal_private_network"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewBaremetalServer(ctx, "base", &scaleway.BaremetalServerArgs{
    			Zone:  pulumi.String("fr-par-2"),
    			Offer: pulumi.String(myOffer.OfferId),
    			Os:    pulumi.String(myOs.OsId),
    			SshKeyIds: pulumi.StringArray{
    				mainScalewayAccountSshKey.Id,
    			},
    			Options: scaleway.BaremetalServerOptionArray{
    				&scaleway.BaremetalServerOptionArgs{
    					Id: pulumi.String(privateNetwork.OptionId),
    				},
    			},
    			PrivateNetworks: scaleway.BaremetalServerPrivateNetworkArray{
    				&scaleway.BaremetalServerPrivateNetworkArgs{
    					Id: pn.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumi.Scaleway;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Scaleway.GetIamSshKey.Invoke(new()
        {
            Name = "main",
        });
    
        var myOs = Scaleway.GetBaremetalOs.Invoke(new()
        {
            Zone = "fr-par-2",
            Name = "Ubuntu",
            Version = "22.04 LTS (Jammy Jellyfish)",
        });
    
        var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()
        {
            Zone = "fr-par-2",
            Name = "EM-B112X-SSD",
        });
    
        var privateNetwork = Scaleway.GetBaremetalOption.Invoke(new()
        {
            Zone = "fr-par-2",
            Name = "Private Network",
        });
    
        var pn = new Scaleway.VpcPrivateNetwork("pn", new()
        {
            Region = "fr-par",
            Name = "baremetal_private_network",
        });
    
        var @base = new Scaleway.BaremetalServer("base", new()
        {
            Zone = "fr-par-2",
            Offer = myOffer.Apply(getBaremetalOfferResult => getBaremetalOfferResult.OfferId),
            Os = myOs.Apply(getBaremetalOsResult => getBaremetalOsResult.OsId),
            SshKeyIds = new[]
            {
                mainScalewayAccountSshKey.Id,
            },
            Options = new[]
            {
                new Scaleway.Inputs.BaremetalServerOptionArgs
                {
                    Id = privateNetwork.Apply(getBaremetalOptionResult => getBaremetalOptionResult.OptionId),
                },
            },
            PrivateNetworks = new[]
            {
                new Scaleway.Inputs.BaremetalServerPrivateNetworkArgs
                {
                    Id = pn.Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.ScalewayFunctions;
    import com.pulumi.scaleway.inputs.GetIamSshKeyArgs;
    import com.pulumi.scaleway.inputs.GetBaremetalOsArgs;
    import com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;
    import com.pulumi.scaleway.inputs.GetBaremetalOptionArgs;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPrivateNetworkArgs;
    import com.pulumi.scaleway.BaremetalServer;
    import com.pulumi.scaleway.BaremetalServerArgs;
    import com.pulumi.scaleway.inputs.BaremetalServerOptionArgs;
    import com.pulumi.scaleway.inputs.BaremetalServerPrivateNetworkArgs;
    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 main = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()
                .name("main")
                .build());
    
            final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()
                .zone("fr-par-2")
                .name("Ubuntu")
                .version("22.04 LTS (Jammy Jellyfish)")
                .build());
    
            final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()
                .zone("fr-par-2")
                .name("EM-B112X-SSD")
                .build());
    
            final var privateNetwork = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()
                .zone("fr-par-2")
                .name("Private Network")
                .build());
    
            var pn = new VpcPrivateNetwork("pn", VpcPrivateNetworkArgs.builder()
                .region("fr-par")
                .name("baremetal_private_network")
                .build());
    
            var base = new BaremetalServer("base", BaremetalServerArgs.builder()
                .zone("fr-par-2")
                .offer(myOffer.applyValue(getBaremetalOfferResult -> getBaremetalOfferResult.offerId()))
                .os(myOs.applyValue(getBaremetalOsResult -> getBaremetalOsResult.osId()))
                .sshKeyIds(mainScalewayAccountSshKey.id())
                .options(BaremetalServerOptionArgs.builder()
                    .id(privateNetwork.applyValue(getBaremetalOptionResult -> getBaremetalOptionResult.optionId()))
                    .build())
                .privateNetworks(BaremetalServerPrivateNetworkArgs.builder()
                    .id(pn.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      pn:
        type: scaleway:VpcPrivateNetwork
        properties:
          region: fr-par
          name: baremetal_private_network
      base:
        type: scaleway:BaremetalServer
        properties:
          zone: fr-par-2
          offer: ${myOffer.offerId}
          os: ${myOs.osId}
          sshKeyIds:
            - ${mainScalewayAccountSshKey.id}
          options:
            - id: ${privateNetwork.optionId}
          privateNetworks:
            - id: ${pn.id}
    variables:
      main:
        fn::invoke:
          Function: scaleway:getIamSshKey
          Arguments:
            name: main
      myOs:
        fn::invoke:
          Function: scaleway:getBaremetalOs
          Arguments:
            zone: fr-par-2
            name: Ubuntu
            version: 22.04 LTS (Jammy Jellyfish)
      myOffer:
        fn::invoke:
          Function: scaleway:getBaremetalOffer
          Arguments:
            zone: fr-par-2
            name: EM-B112X-SSD
      privateNetwork:
        fn::invoke:
          Function: scaleway:getBaremetalOption
          Arguments:
            zone: fr-par-2
            name: Private Network
    

    With IPAM IP IDs

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumi/scaleway";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const vpc01 = new scaleway.Vpc("vpc01", {name: "vpc_baremetal"});
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {
        name: "private_network_baremetal",
        ipv4Subnet: {
            subnet: "172.16.64.0/22",
        },
        vpcId: vpc01.id,
    });
    const ip01 = new scaleway.IpamIp("ip01", {
        address: "172.16.64.7",
        sources: [{
            privateNetworkId: pn01.id,
        }],
    });
    const myKey = scaleway.getIamSshKey({
        name: "main",
    });
    const myOs = scaleway.getBaremetalOs({
        zone: "fr-par-1",
        name: "Ubuntu",
        version: "22.04 LTS (Jammy Jellyfish)",
    });
    const myOffer = scaleway.getBaremetalOffer({
        zone: "fr-par-1",
        name: "EM-A115X-SSD",
    });
    const privateNetwork = scaleway.getBaremetalOption({
        zone: "fr-par-1",
        name: "Private Network",
    });
    const base = new scaleway.BaremetalServer("base", {
        zone: "fr-par-2",
        offer: myOffer.then(myOffer => myOffer.offerId),
        os: myOs.then(myOs => myOs.osId),
        sshKeyIds: [myKeyScalewayAccountSshKey.id],
        options: [{
            id: privateNetwork.then(privateNetwork => privateNetwork.optionId),
        }],
        privateNetworks: [{
            id: pn01.id,
            ipamIpIds: [ip01.id],
        }],
    });
    
    import pulumi
    import pulumi_scaleway as scaleway
    import pulumiverse_scaleway as scaleway
    
    vpc01 = scaleway.Vpc("vpc01", name="vpc_baremetal")
    pn01 = scaleway.VpcPrivateNetwork("pn01",
        name="private_network_baremetal",
        ipv4_subnet={
            "subnet": "172.16.64.0/22",
        },
        vpc_id=vpc01.id)
    ip01 = scaleway.IpamIp("ip01",
        address="172.16.64.7",
        sources=[{
            "private_network_id": pn01.id,
        }])
    my_key = scaleway.get_iam_ssh_key(name="main")
    my_os = scaleway.get_baremetal_os(zone="fr-par-1",
        name="Ubuntu",
        version="22.04 LTS (Jammy Jellyfish)")
    my_offer = scaleway.get_baremetal_offer(zone="fr-par-1",
        name="EM-A115X-SSD")
    private_network = scaleway.get_baremetal_option(zone="fr-par-1",
        name="Private Network")
    base = scaleway.BaremetalServer("base",
        zone="fr-par-2",
        offer=my_offer.offer_id,
        os=my_os.os_id,
        ssh_key_ids=[my_key_scaleway_account_ssh_key["id"]],
        options=[{
            "id": private_network.option_id,
        }],
        private_networks=[{
            "id": pn01.id,
            "ipam_ip_ids": [ip01.id],
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		vpc01, err := scaleway.NewVpc(ctx, "vpc01", &scaleway.VpcArgs{
    			Name: pulumi.String("vpc_baremetal"),
    		})
    		if err != nil {
    			return err
    		}
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{
    			Name: pulumi.String("private_network_baremetal"),
    			Ipv4Subnet: &scaleway.VpcPrivateNetworkIpv4SubnetArgs{
    				Subnet: pulumi.String("172.16.64.0/22"),
    			},
    			VpcId: vpc01.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		ip01, err := scaleway.NewIpamIp(ctx, "ip01", &scaleway.IpamIpArgs{
    			Address: pulumi.String("172.16.64.7"),
    			Sources: scaleway.IpamIpSourceArray{
    				&scaleway.IpamIpSourceArgs{
    					PrivateNetworkId: pn01.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.LookupIamSshKey(ctx, &scaleway.LookupIamSshKeyArgs{
    			Name: pulumi.StringRef("main"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		myOs, err := scaleway.GetBaremetalOs(ctx, &scaleway.GetBaremetalOsArgs{
    			Zone:    pulumi.StringRef("fr-par-1"),
    			Name:    pulumi.StringRef("Ubuntu"),
    			Version: pulumi.StringRef("22.04 LTS (Jammy Jellyfish)"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		myOffer, err := scaleway.GetBaremetalOffer(ctx, &scaleway.GetBaremetalOfferArgs{
    			Zone: pulumi.StringRef("fr-par-1"),
    			Name: pulumi.StringRef("EM-A115X-SSD"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		privateNetwork, err := scaleway.GetBaremetalOption(ctx, &scaleway.GetBaremetalOptionArgs{
    			Zone: pulumi.StringRef("fr-par-1"),
    			Name: pulumi.StringRef("Private Network"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewBaremetalServer(ctx, "base", &scaleway.BaremetalServerArgs{
    			Zone:  pulumi.String("fr-par-2"),
    			Offer: pulumi.String(myOffer.OfferId),
    			Os:    pulumi.String(myOs.OsId),
    			SshKeyIds: pulumi.StringArray{
    				myKeyScalewayAccountSshKey.Id,
    			},
    			Options: scaleway.BaremetalServerOptionArray{
    				&scaleway.BaremetalServerOptionArgs{
    					Id: pulumi.String(privateNetwork.OptionId),
    				},
    			},
    			PrivateNetworks: scaleway.BaremetalServerPrivateNetworkArray{
    				&scaleway.BaremetalServerPrivateNetworkArgs{
    					Id: pn01.ID(),
    					IpamIpIds: pulumi.StringArray{
    						ip01.ID(),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumi.Scaleway;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var vpc01 = new Scaleway.Vpc("vpc01", new()
        {
            Name = "vpc_baremetal",
        });
    
        var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new()
        {
            Name = "private_network_baremetal",
            Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs
            {
                Subnet = "172.16.64.0/22",
            },
            VpcId = vpc01.Id,
        });
    
        var ip01 = new Scaleway.IpamIp("ip01", new()
        {
            Address = "172.16.64.7",
            Sources = new[]
            {
                new Scaleway.Inputs.IpamIpSourceArgs
                {
                    PrivateNetworkId = pn01.Id,
                },
            },
        });
    
        var myKey = Scaleway.GetIamSshKey.Invoke(new()
        {
            Name = "main",
        });
    
        var myOs = Scaleway.GetBaremetalOs.Invoke(new()
        {
            Zone = "fr-par-1",
            Name = "Ubuntu",
            Version = "22.04 LTS (Jammy Jellyfish)",
        });
    
        var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()
        {
            Zone = "fr-par-1",
            Name = "EM-A115X-SSD",
        });
    
        var privateNetwork = Scaleway.GetBaremetalOption.Invoke(new()
        {
            Zone = "fr-par-1",
            Name = "Private Network",
        });
    
        var @base = new Scaleway.BaremetalServer("base", new()
        {
            Zone = "fr-par-2",
            Offer = myOffer.Apply(getBaremetalOfferResult => getBaremetalOfferResult.OfferId),
            Os = myOs.Apply(getBaremetalOsResult => getBaremetalOsResult.OsId),
            SshKeyIds = new[]
            {
                myKeyScalewayAccountSshKey.Id,
            },
            Options = new[]
            {
                new Scaleway.Inputs.BaremetalServerOptionArgs
                {
                    Id = privateNetwork.Apply(getBaremetalOptionResult => getBaremetalOptionResult.OptionId),
                },
            },
            PrivateNetworks = new[]
            {
                new Scaleway.Inputs.BaremetalServerPrivateNetworkArgs
                {
                    Id = pn01.Id,
                    IpamIpIds = new[]
                    {
                        ip01.Id,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.Vpc;
    import com.pulumi.scaleway.VpcArgs;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPrivateNetworkArgs;
    import com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;
    import com.pulumi.scaleway.IpamIp;
    import com.pulumi.scaleway.IpamIpArgs;
    import com.pulumi.scaleway.inputs.IpamIpSourceArgs;
    import com.pulumi.scaleway.ScalewayFunctions;
    import com.pulumi.scaleway.inputs.GetIamSshKeyArgs;
    import com.pulumi.scaleway.inputs.GetBaremetalOsArgs;
    import com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;
    import com.pulumi.scaleway.inputs.GetBaremetalOptionArgs;
    import com.pulumi.scaleway.BaremetalServer;
    import com.pulumi.scaleway.BaremetalServerArgs;
    import com.pulumi.scaleway.inputs.BaremetalServerOptionArgs;
    import com.pulumi.scaleway.inputs.BaremetalServerPrivateNetworkArgs;
    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 vpc01 = new Vpc("vpc01", VpcArgs.builder()
                .name("vpc_baremetal")
                .build());
    
            var pn01 = new VpcPrivateNetwork("pn01", VpcPrivateNetworkArgs.builder()
                .name("private_network_baremetal")
                .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()
                    .subnet("172.16.64.0/22")
                    .build())
                .vpcId(vpc01.id())
                .build());
    
            var ip01 = new IpamIp("ip01", IpamIpArgs.builder()
                .address("172.16.64.7")
                .sources(IpamIpSourceArgs.builder()
                    .privateNetworkId(pn01.id())
                    .build())
                .build());
    
            final var myKey = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()
                .name("main")
                .build());
    
            final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()
                .zone("fr-par-1")
                .name("Ubuntu")
                .version("22.04 LTS (Jammy Jellyfish)")
                .build());
    
            final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()
                .zone("fr-par-1")
                .name("EM-A115X-SSD")
                .build());
    
            final var privateNetwork = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()
                .zone("fr-par-1")
                .name("Private Network")
                .build());
    
            var base = new BaremetalServer("base", BaremetalServerArgs.builder()
                .zone("fr-par-2")
                .offer(myOffer.applyValue(getBaremetalOfferResult -> getBaremetalOfferResult.offerId()))
                .os(myOs.applyValue(getBaremetalOsResult -> getBaremetalOsResult.osId()))
                .sshKeyIds(myKeyScalewayAccountSshKey.id())
                .options(BaremetalServerOptionArgs.builder()
                    .id(privateNetwork.applyValue(getBaremetalOptionResult -> getBaremetalOptionResult.optionId()))
                    .build())
                .privateNetworks(BaremetalServerPrivateNetworkArgs.builder()
                    .id(pn01.id())
                    .ipamIpIds(ip01.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      vpc01:
        type: scaleway:Vpc
        properties:
          name: vpc_baremetal
      pn01:
        type: scaleway:VpcPrivateNetwork
        properties:
          name: private_network_baremetal
          ipv4Subnet:
            subnet: 172.16.64.0/22
          vpcId: ${vpc01.id}
      ip01:
        type: scaleway:IpamIp
        properties:
          address: 172.16.64.7
          sources:
            - privateNetworkId: ${pn01.id}
      base:
        type: scaleway:BaremetalServer
        properties:
          zone: fr-par-2
          offer: ${myOffer.offerId}
          os: ${myOs.osId}
          sshKeyIds:
            - ${myKeyScalewayAccountSshKey.id}
          options:
            - id: ${privateNetwork.optionId}
          privateNetworks:
            - id: ${pn01.id}
              ipamIpIds:
                - ${ip01.id}
    variables:
      myKey:
        fn::invoke:
          Function: scaleway:getIamSshKey
          Arguments:
            name: main
      myOs:
        fn::invoke:
          Function: scaleway:getBaremetalOs
          Arguments:
            zone: fr-par-1
            name: Ubuntu
            version: 22.04 LTS (Jammy Jellyfish)
      myOffer:
        fn::invoke:
          Function: scaleway:getBaremetalOffer
          Arguments:
            zone: fr-par-1
            name: EM-A115X-SSD
      privateNetwork:
        fn::invoke:
          Function: scaleway:getBaremetalOption
          Arguments:
            zone: fr-par-1
            name: Private Network
    

    Without install config

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumi/scaleway";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const myOffer = scaleway.getBaremetalOffer({
        zone: "fr-par-2",
        name: "EM-B112X-SSD",
    });
    const base = new scaleway.BaremetalServer("base", {
        zone: "fr-par-2",
        offer: myOffer.then(myOffer => myOffer.offerId),
        installConfigAfterward: true,
    });
    
    import pulumi
    import pulumi_scaleway as scaleway
    import pulumiverse_scaleway as scaleway
    
    my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
        name="EM-B112X-SSD")
    base = scaleway.BaremetalServer("base",
        zone="fr-par-2",
        offer=my_offer.offer_id,
        install_config_afterward=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		myOffer, err := scaleway.GetBaremetalOffer(ctx, &scaleway.GetBaremetalOfferArgs{
    			Zone: pulumi.StringRef("fr-par-2"),
    			Name: pulumi.StringRef("EM-B112X-SSD"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewBaremetalServer(ctx, "base", &scaleway.BaremetalServerArgs{
    			Zone:                   pulumi.String("fr-par-2"),
    			Offer:                  pulumi.String(myOffer.OfferId),
    			InstallConfigAfterward: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumi.Scaleway;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()
        {
            Zone = "fr-par-2",
            Name = "EM-B112X-SSD",
        });
    
        var @base = new Scaleway.BaremetalServer("base", new()
        {
            Zone = "fr-par-2",
            Offer = myOffer.Apply(getBaremetalOfferResult => getBaremetalOfferResult.OfferId),
            InstallConfigAfterward = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.ScalewayFunctions;
    import com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;
    import com.pulumi.scaleway.BaremetalServer;
    import com.pulumi.scaleway.BaremetalServerArgs;
    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 myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()
                .zone("fr-par-2")
                .name("EM-B112X-SSD")
                .build());
    
            var base = new BaremetalServer("base", BaremetalServerArgs.builder()
                .zone("fr-par-2")
                .offer(myOffer.applyValue(getBaremetalOfferResult -> getBaremetalOfferResult.offerId()))
                .installConfigAfterward(true)
                .build());
    
        }
    }
    
    resources:
      base:
        type: scaleway:BaremetalServer
        properties:
          zone: fr-par-2
          offer: ${myOffer.offerId}
          installConfigAfterward: true
    variables:
      myOffer:
        fn::invoke:
          Function: scaleway:getBaremetalOffer
          Arguments:
            zone: fr-par-2
            name: EM-B112X-SSD
    

    Create BaremetalServer Resource

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

    Constructor syntax

    new BaremetalServer(name: string, args: BaremetalServerArgs, opts?: CustomResourceOptions);
    @overload
    def BaremetalServer(resource_name: str,
                        args: BaremetalServerArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def BaremetalServer(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        offer: Optional[str] = None,
                        private_networks: Optional[Sequence[BaremetalServerPrivateNetworkArgs]] = None,
                        password: Optional[str] = None,
                        name: Optional[str] = None,
                        hostname: Optional[str] = None,
                        project_id: Optional[str] = None,
                        os: Optional[str] = None,
                        install_config_afterward: Optional[bool] = None,
                        description: Optional[str] = None,
                        options: Optional[Sequence[BaremetalServerOptionArgs]] = None,
                        reinstall_on_config_changes: Optional[bool] = None,
                        service_password: Optional[str] = None,
                        service_user: Optional[str] = None,
                        ssh_key_ids: Optional[Sequence[str]] = None,
                        tags: Optional[Sequence[str]] = None,
                        user: Optional[str] = None,
                        zone: Optional[str] = None)
    func NewBaremetalServer(ctx *Context, name string, args BaremetalServerArgs, opts ...ResourceOption) (*BaremetalServer, error)
    public BaremetalServer(string name, BaremetalServerArgs args, CustomResourceOptions? opts = null)
    public BaremetalServer(String name, BaremetalServerArgs args)
    public BaremetalServer(String name, BaremetalServerArgs args, CustomResourceOptions options)
    
    type: scaleway:BaremetalServer
    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 BaremetalServerArgs
    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 BaremetalServerArgs
    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 BaremetalServerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args BaremetalServerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args BaremetalServerArgs
    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 baremetalServerResource = new Scaleway.BaremetalServer("baremetalServerResource", new()
    {
        Offer = "string",
        PrivateNetworks = new[]
        {
            new Scaleway.Inputs.BaremetalServerPrivateNetworkArgs
            {
                Id = "string",
                CreatedAt = "string",
                IpamIpIds = new[]
                {
                    "string",
                },
                Status = "string",
                UpdatedAt = "string",
                Vlan = 0,
            },
        },
        Password = "string",
        Name = "string",
        Hostname = "string",
        ProjectId = "string",
        Os = "string",
        InstallConfigAfterward = false,
        Description = "string",
        Options = new[]
        {
            new Scaleway.Inputs.BaremetalServerOptionArgs
            {
                Id = "string",
                ExpiresAt = "string",
                Name = "string",
            },
        },
        ReinstallOnConfigChanges = false,
        ServicePassword = "string",
        ServiceUser = "string",
        SshKeyIds = new[]
        {
            "string",
        },
        Tags = new[]
        {
            "string",
        },
        User = "string",
        Zone = "string",
    });
    
    example, err := scaleway.NewBaremetalServer(ctx, "baremetalServerResource", &scaleway.BaremetalServerArgs{
    	Offer: pulumi.String("string"),
    	PrivateNetworks: scaleway.BaremetalServerPrivateNetworkArray{
    		&scaleway.BaremetalServerPrivateNetworkArgs{
    			Id:        pulumi.String("string"),
    			CreatedAt: pulumi.String("string"),
    			IpamIpIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Status:    pulumi.String("string"),
    			UpdatedAt: pulumi.String("string"),
    			Vlan:      pulumi.Int(0),
    		},
    	},
    	Password:               pulumi.String("string"),
    	Name:                   pulumi.String("string"),
    	Hostname:               pulumi.String("string"),
    	ProjectId:              pulumi.String("string"),
    	Os:                     pulumi.String("string"),
    	InstallConfigAfterward: pulumi.Bool(false),
    	Description:            pulumi.String("string"),
    	Options: scaleway.BaremetalServerOptionArray{
    		&scaleway.BaremetalServerOptionArgs{
    			Id:        pulumi.String("string"),
    			ExpiresAt: pulumi.String("string"),
    			Name:      pulumi.String("string"),
    		},
    	},
    	ReinstallOnConfigChanges: pulumi.Bool(false),
    	ServicePassword:          pulumi.String("string"),
    	ServiceUser:              pulumi.String("string"),
    	SshKeyIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	User: pulumi.String("string"),
    	Zone: pulumi.String("string"),
    })
    
    var baremetalServerResource = new BaremetalServer("baremetalServerResource", BaremetalServerArgs.builder()
        .offer("string")
        .privateNetworks(BaremetalServerPrivateNetworkArgs.builder()
            .id("string")
            .createdAt("string")
            .ipamIpIds("string")
            .status("string")
            .updatedAt("string")
            .vlan(0)
            .build())
        .password("string")
        .name("string")
        .hostname("string")
        .projectId("string")
        .os("string")
        .installConfigAfterward(false)
        .description("string")
        .options(BaremetalServerOptionArgs.builder()
            .id("string")
            .expiresAt("string")
            .name("string")
            .build())
        .reinstallOnConfigChanges(false)
        .servicePassword("string")
        .serviceUser("string")
        .sshKeyIds("string")
        .tags("string")
        .user("string")
        .zone("string")
        .build());
    
    baremetal_server_resource = scaleway.BaremetalServer("baremetalServerResource",
        offer="string",
        private_networks=[{
            "id": "string",
            "created_at": "string",
            "ipam_ip_ids": ["string"],
            "status": "string",
            "updated_at": "string",
            "vlan": 0,
        }],
        password="string",
        name="string",
        hostname="string",
        project_id="string",
        os="string",
        install_config_afterward=False,
        description="string",
        options=[{
            "id": "string",
            "expires_at": "string",
            "name": "string",
        }],
        reinstall_on_config_changes=False,
        service_password="string",
        service_user="string",
        ssh_key_ids=["string"],
        tags=["string"],
        user="string",
        zone="string")
    
    const baremetalServerResource = new scaleway.BaremetalServer("baremetalServerResource", {
        offer: "string",
        privateNetworks: [{
            id: "string",
            createdAt: "string",
            ipamIpIds: ["string"],
            status: "string",
            updatedAt: "string",
            vlan: 0,
        }],
        password: "string",
        name: "string",
        hostname: "string",
        projectId: "string",
        os: "string",
        installConfigAfterward: false,
        description: "string",
        options: [{
            id: "string",
            expiresAt: "string",
            name: "string",
        }],
        reinstallOnConfigChanges: false,
        servicePassword: "string",
        serviceUser: "string",
        sshKeyIds: ["string"],
        tags: ["string"],
        user: "string",
        zone: "string",
    });
    
    type: scaleway:BaremetalServer
    properties:
        description: string
        hostname: string
        installConfigAfterward: false
        name: string
        offer: string
        options:
            - expiresAt: string
              id: string
              name: string
        os: string
        password: string
        privateNetworks:
            - createdAt: string
              id: string
              ipamIpIds:
                - string
              status: string
              updatedAt: string
              vlan: 0
        projectId: string
        reinstallOnConfigChanges: false
        servicePassword: string
        serviceUser: string
        sshKeyIds:
            - string
        tags:
            - string
        user: string
        zone: string
    

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

    Offer string

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    Description string
    A description for the server.
    Hostname string
    The hostname of the server.
    InstallConfigAfterward bool
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    Name string
    The name of the server.
    Options List<Pulumiverse.Scaleway.Inputs.BaremetalServerOption>

    The options to enable on the server.

    The options block supports:

    Os string

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    Password string
    Password used for the installation. May be required depending on used os.
    PrivateNetworks List<Pulumiverse.Scaleway.Inputs.BaremetalServerPrivateNetwork>
    The private networks to attach to the server. For more information, see the documentation
    ProjectId string
    project_id) The ID of the project the server is associated with.
    ReinstallOnConfigChanges bool

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    ServicePassword string
    Password used for the service to install. May be required depending on used os.
    ServiceUser string
    User used for the service to install.
    SshKeyIds List<string>
    List of SSH keys allowed to connect to the server.
    Tags List<string>
    The tags associated with the server.
    User string
    User used for the installation.
    Zone string
    zone) The zone in which the server should be created.
    Offer string

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    Description string
    A description for the server.
    Hostname string
    The hostname of the server.
    InstallConfigAfterward bool
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    Name string
    The name of the server.
    Options []BaremetalServerOptionArgs

    The options to enable on the server.

    The options block supports:

    Os string

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    Password string
    Password used for the installation. May be required depending on used os.
    PrivateNetworks []BaremetalServerPrivateNetworkArgs
    The private networks to attach to the server. For more information, see the documentation
    ProjectId string
    project_id) The ID of the project the server is associated with.
    ReinstallOnConfigChanges bool

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    ServicePassword string
    Password used for the service to install. May be required depending on used os.
    ServiceUser string
    User used for the service to install.
    SshKeyIds []string
    List of SSH keys allowed to connect to the server.
    Tags []string
    The tags associated with the server.
    User string
    User used for the installation.
    Zone string
    zone) The zone in which the server should be created.
    offer String

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    description String
    A description for the server.
    hostname String
    The hostname of the server.
    installConfigAfterward Boolean
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    name String
    The name of the server.
    options List<BaremetalServerOption>

    The options to enable on the server.

    The options block supports:

    os String

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    password String
    Password used for the installation. May be required depending on used os.
    privateNetworks List<BaremetalServerPrivateNetwork>
    The private networks to attach to the server. For more information, see the documentation
    projectId String
    project_id) The ID of the project the server is associated with.
    reinstallOnConfigChanges Boolean

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    servicePassword String
    Password used for the service to install. May be required depending on used os.
    serviceUser String
    User used for the service to install.
    sshKeyIds List<String>
    List of SSH keys allowed to connect to the server.
    tags List<String>
    The tags associated with the server.
    user String
    User used for the installation.
    zone String
    zone) The zone in which the server should be created.
    offer string

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    description string
    A description for the server.
    hostname string
    The hostname of the server.
    installConfigAfterward boolean
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    name string
    The name of the server.
    options BaremetalServerOption[]

    The options to enable on the server.

    The options block supports:

    os string

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    password string
    Password used for the installation. May be required depending on used os.
    privateNetworks BaremetalServerPrivateNetwork[]
    The private networks to attach to the server. For more information, see the documentation
    projectId string
    project_id) The ID of the project the server is associated with.
    reinstallOnConfigChanges boolean

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    servicePassword string
    Password used for the service to install. May be required depending on used os.
    serviceUser string
    User used for the service to install.
    sshKeyIds string[]
    List of SSH keys allowed to connect to the server.
    tags string[]
    The tags associated with the server.
    user string
    User used for the installation.
    zone string
    zone) The zone in which the server should be created.
    offer str

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    description str
    A description for the server.
    hostname str
    The hostname of the server.
    install_config_afterward bool
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    name str
    The name of the server.
    options Sequence[BaremetalServerOptionArgs]

    The options to enable on the server.

    The options block supports:

    os str

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    password str
    Password used for the installation. May be required depending on used os.
    private_networks Sequence[BaremetalServerPrivateNetworkArgs]
    The private networks to attach to the server. For more information, see the documentation
    project_id str
    project_id) The ID of the project the server is associated with.
    reinstall_on_config_changes bool

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    service_password str
    Password used for the service to install. May be required depending on used os.
    service_user str
    User used for the service to install.
    ssh_key_ids Sequence[str]
    List of SSH keys allowed to connect to the server.
    tags Sequence[str]
    The tags associated with the server.
    user str
    User used for the installation.
    zone str
    zone) The zone in which the server should be created.
    offer String

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    description String
    A description for the server.
    hostname String
    The hostname of the server.
    installConfigAfterward Boolean
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    name String
    The name of the server.
    options List<Property Map>

    The options to enable on the server.

    The options block supports:

    os String

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    password String
    Password used for the installation. May be required depending on used os.
    privateNetworks List<Property Map>
    The private networks to attach to the server. For more information, see the documentation
    projectId String
    project_id) The ID of the project the server is associated with.
    reinstallOnConfigChanges Boolean

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    servicePassword String
    Password used for the service to install. May be required depending on used os.
    serviceUser String
    User used for the service to install.
    sshKeyIds List<String>
    List of SSH keys allowed to connect to the server.
    tags List<String>
    The tags associated with the server.
    user String
    User used for the installation.
    zone String
    zone) The zone in which the server should be created.

    Outputs

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

    Domain string
    The domain of the server.
    Id string
    The provider-assigned unique ID for this managed resource.
    Ips List<Pulumiverse.Scaleway.Outputs.BaremetalServerIp>
    (List of) The IPs of the server.
    Ipv4s List<Pulumiverse.Scaleway.Outputs.BaremetalServerIpv4>
    (List of) The IPv4 addresses of the server.
    Ipv6s List<Pulumiverse.Scaleway.Outputs.BaremetalServerIpv6>
    (List of) The IPv6 addresses of the server.
    OfferId string
    The ID of the offer.
    OfferName string
    The name of the offer.
    OrganizationId string
    The organization ID the server is associated with.
    OsName string
    The name of the os.
    Domain string
    The domain of the server.
    Id string
    The provider-assigned unique ID for this managed resource.
    Ips []BaremetalServerIp
    (List of) The IPs of the server.
    Ipv4s []BaremetalServerIpv4
    (List of) The IPv4 addresses of the server.
    Ipv6s []BaremetalServerIpv6
    (List of) The IPv6 addresses of the server.
    OfferId string
    The ID of the offer.
    OfferName string
    The name of the offer.
    OrganizationId string
    The organization ID the server is associated with.
    OsName string
    The name of the os.
    domain String
    The domain of the server.
    id String
    The provider-assigned unique ID for this managed resource.
    ips List<BaremetalServerIp>
    (List of) The IPs of the server.
    ipv4s List<BaremetalServerIpv4>
    (List of) The IPv4 addresses of the server.
    ipv6s List<BaremetalServerIpv6>
    (List of) The IPv6 addresses of the server.
    offerId String
    The ID of the offer.
    offerName String
    The name of the offer.
    organizationId String
    The organization ID the server is associated with.
    osName String
    The name of the os.
    domain string
    The domain of the server.
    id string
    The provider-assigned unique ID for this managed resource.
    ips BaremetalServerIp[]
    (List of) The IPs of the server.
    ipv4s BaremetalServerIpv4[]
    (List of) The IPv4 addresses of the server.
    ipv6s BaremetalServerIpv6[]
    (List of) The IPv6 addresses of the server.
    offerId string
    The ID of the offer.
    offerName string
    The name of the offer.
    organizationId string
    The organization ID the server is associated with.
    osName string
    The name of the os.
    domain str
    The domain of the server.
    id str
    The provider-assigned unique ID for this managed resource.
    ips Sequence[BaremetalServerIp]
    (List of) The IPs of the server.
    ipv4s Sequence[BaremetalServerIpv4]
    (List of) The IPv4 addresses of the server.
    ipv6s Sequence[BaremetalServerIpv6]
    (List of) The IPv6 addresses of the server.
    offer_id str
    The ID of the offer.
    offer_name str
    The name of the offer.
    organization_id str
    The organization ID the server is associated with.
    os_name str
    The name of the os.
    domain String
    The domain of the server.
    id String
    The provider-assigned unique ID for this managed resource.
    ips List<Property Map>
    (List of) The IPs of the server.
    ipv4s List<Property Map>
    (List of) The IPv4 addresses of the server.
    ipv6s List<Property Map>
    (List of) The IPv6 addresses of the server.
    offerId String
    The ID of the offer.
    offerName String
    The name of the offer.
    organizationId String
    The organization ID the server is associated with.
    osName String
    The name of the os.

    Look up Existing BaremetalServer Resource

    Get an existing BaremetalServer 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?: BaremetalServerState, opts?: CustomResourceOptions): BaremetalServer
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            description: Optional[str] = None,
            domain: Optional[str] = None,
            hostname: Optional[str] = None,
            install_config_afterward: Optional[bool] = None,
            ips: Optional[Sequence[BaremetalServerIpArgs]] = None,
            ipv4s: Optional[Sequence[BaremetalServerIpv4Args]] = None,
            ipv6s: Optional[Sequence[BaremetalServerIpv6Args]] = None,
            name: Optional[str] = None,
            offer: Optional[str] = None,
            offer_id: Optional[str] = None,
            offer_name: Optional[str] = None,
            options: Optional[Sequence[BaremetalServerOptionArgs]] = None,
            organization_id: Optional[str] = None,
            os: Optional[str] = None,
            os_name: Optional[str] = None,
            password: Optional[str] = None,
            private_networks: Optional[Sequence[BaremetalServerPrivateNetworkArgs]] = None,
            project_id: Optional[str] = None,
            reinstall_on_config_changes: Optional[bool] = None,
            service_password: Optional[str] = None,
            service_user: Optional[str] = None,
            ssh_key_ids: Optional[Sequence[str]] = None,
            tags: Optional[Sequence[str]] = None,
            user: Optional[str] = None,
            zone: Optional[str] = None) -> BaremetalServer
    func GetBaremetalServer(ctx *Context, name string, id IDInput, state *BaremetalServerState, opts ...ResourceOption) (*BaremetalServer, error)
    public static BaremetalServer Get(string name, Input<string> id, BaremetalServerState? state, CustomResourceOptions? opts = null)
    public static BaremetalServer get(String name, Output<String> id, BaremetalServerState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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:
    Description string
    A description for the server.
    Domain string
    The domain of the server.
    Hostname string
    The hostname of the server.
    InstallConfigAfterward bool
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    Ips List<Pulumiverse.Scaleway.Inputs.BaremetalServerIp>
    (List of) The IPs of the server.
    Ipv4s List<Pulumiverse.Scaleway.Inputs.BaremetalServerIpv4>
    (List of) The IPv4 addresses of the server.
    Ipv6s List<Pulumiverse.Scaleway.Inputs.BaremetalServerIpv6>
    (List of) The IPv6 addresses of the server.
    Name string
    The name of the server.
    Offer string

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    OfferId string
    The ID of the offer.
    OfferName string
    The name of the offer.
    Options List<Pulumiverse.Scaleway.Inputs.BaremetalServerOption>

    The options to enable on the server.

    The options block supports:

    OrganizationId string
    The organization ID the server is associated with.
    Os string

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    OsName string
    The name of the os.
    Password string
    Password used for the installation. May be required depending on used os.
    PrivateNetworks List<Pulumiverse.Scaleway.Inputs.BaremetalServerPrivateNetwork>
    The private networks to attach to the server. For more information, see the documentation
    ProjectId string
    project_id) The ID of the project the server is associated with.
    ReinstallOnConfigChanges bool

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    ServicePassword string
    Password used for the service to install. May be required depending on used os.
    ServiceUser string
    User used for the service to install.
    SshKeyIds List<string>
    List of SSH keys allowed to connect to the server.
    Tags List<string>
    The tags associated with the server.
    User string
    User used for the installation.
    Zone string
    zone) The zone in which the server should be created.
    Description string
    A description for the server.
    Domain string
    The domain of the server.
    Hostname string
    The hostname of the server.
    InstallConfigAfterward bool
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    Ips []BaremetalServerIpArgs
    (List of) The IPs of the server.
    Ipv4s []BaremetalServerIpv4Args
    (List of) The IPv4 addresses of the server.
    Ipv6s []BaremetalServerIpv6Args
    (List of) The IPv6 addresses of the server.
    Name string
    The name of the server.
    Offer string

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    OfferId string
    The ID of the offer.
    OfferName string
    The name of the offer.
    Options []BaremetalServerOptionArgs

    The options to enable on the server.

    The options block supports:

    OrganizationId string
    The organization ID the server is associated with.
    Os string

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    OsName string
    The name of the os.
    Password string
    Password used for the installation. May be required depending on used os.
    PrivateNetworks []BaremetalServerPrivateNetworkArgs
    The private networks to attach to the server. For more information, see the documentation
    ProjectId string
    project_id) The ID of the project the server is associated with.
    ReinstallOnConfigChanges bool

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    ServicePassword string
    Password used for the service to install. May be required depending on used os.
    ServiceUser string
    User used for the service to install.
    SshKeyIds []string
    List of SSH keys allowed to connect to the server.
    Tags []string
    The tags associated with the server.
    User string
    User used for the installation.
    Zone string
    zone) The zone in which the server should be created.
    description String
    A description for the server.
    domain String
    The domain of the server.
    hostname String
    The hostname of the server.
    installConfigAfterward Boolean
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    ips List<BaremetalServerIp>
    (List of) The IPs of the server.
    ipv4s List<BaremetalServerIpv4>
    (List of) The IPv4 addresses of the server.
    ipv6s List<BaremetalServerIpv6>
    (List of) The IPv6 addresses of the server.
    name String
    The name of the server.
    offer String

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    offerId String
    The ID of the offer.
    offerName String
    The name of the offer.
    options List<BaremetalServerOption>

    The options to enable on the server.

    The options block supports:

    organizationId String
    The organization ID the server is associated with.
    os String

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    osName String
    The name of the os.
    password String
    Password used for the installation. May be required depending on used os.
    privateNetworks List<BaremetalServerPrivateNetwork>
    The private networks to attach to the server. For more information, see the documentation
    projectId String
    project_id) The ID of the project the server is associated with.
    reinstallOnConfigChanges Boolean

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    servicePassword String
    Password used for the service to install. May be required depending on used os.
    serviceUser String
    User used for the service to install.
    sshKeyIds List<String>
    List of SSH keys allowed to connect to the server.
    tags List<String>
    The tags associated with the server.
    user String
    User used for the installation.
    zone String
    zone) The zone in which the server should be created.
    description string
    A description for the server.
    domain string
    The domain of the server.
    hostname string
    The hostname of the server.
    installConfigAfterward boolean
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    ips BaremetalServerIp[]
    (List of) The IPs of the server.
    ipv4s BaremetalServerIpv4[]
    (List of) The IPv4 addresses of the server.
    ipv6s BaremetalServerIpv6[]
    (List of) The IPv6 addresses of the server.
    name string
    The name of the server.
    offer string

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    offerId string
    The ID of the offer.
    offerName string
    The name of the offer.
    options BaremetalServerOption[]

    The options to enable on the server.

    The options block supports:

    organizationId string
    The organization ID the server is associated with.
    os string

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    osName string
    The name of the os.
    password string
    Password used for the installation. May be required depending on used os.
    privateNetworks BaremetalServerPrivateNetwork[]
    The private networks to attach to the server. For more information, see the documentation
    projectId string
    project_id) The ID of the project the server is associated with.
    reinstallOnConfigChanges boolean

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    servicePassword string
    Password used for the service to install. May be required depending on used os.
    serviceUser string
    User used for the service to install.
    sshKeyIds string[]
    List of SSH keys allowed to connect to the server.
    tags string[]
    The tags associated with the server.
    user string
    User used for the installation.
    zone string
    zone) The zone in which the server should be created.
    description str
    A description for the server.
    domain str
    The domain of the server.
    hostname str
    The hostname of the server.
    install_config_afterward bool
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    ips Sequence[BaremetalServerIpArgs]
    (List of) The IPs of the server.
    ipv4s Sequence[BaremetalServerIpv4Args]
    (List of) The IPv4 addresses of the server.
    ipv6s Sequence[BaremetalServerIpv6Args]
    (List of) The IPv6 addresses of the server.
    name str
    The name of the server.
    offer str

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    offer_id str
    The ID of the offer.
    offer_name str
    The name of the offer.
    options Sequence[BaremetalServerOptionArgs]

    The options to enable on the server.

    The options block supports:

    organization_id str
    The organization ID the server is associated with.
    os str

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    os_name str
    The name of the os.
    password str
    Password used for the installation. May be required depending on used os.
    private_networks Sequence[BaremetalServerPrivateNetworkArgs]
    The private networks to attach to the server. For more information, see the documentation
    project_id str
    project_id) The ID of the project the server is associated with.
    reinstall_on_config_changes bool

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    service_password str
    Password used for the service to install. May be required depending on used os.
    service_user str
    User used for the service to install.
    ssh_key_ids Sequence[str]
    List of SSH keys allowed to connect to the server.
    tags Sequence[str]
    The tags associated with the server.
    user str
    User used for the installation.
    zone str
    zone) The zone in which the server should be created.
    description String
    A description for the server.
    domain String
    The domain of the server.
    hostname String
    The hostname of the server.
    installConfigAfterward Boolean
    If True, this boolean allows to create a server without the install config if you want to provide it later.
    ips List<Property Map>
    (List of) The IPs of the server.
    ipv4s List<Property Map>
    (List of) The IPv4 addresses of the server.
    ipv6s List<Property Map>
    (List of) The IPv6 addresses of the server.
    name String
    The name of the server.
    offer String

    The offer name or UUID of the baremetal server. Use this endpoint to find the right offer.

    Important: Updates to offer will recreate the server.

    offerId String
    The ID of the offer.
    offerName String
    The name of the offer.
    options List<Property Map>

    The options to enable on the server.

    The options block supports:

    organizationId String
    The organization ID the server is associated with.
    os String

    The UUID of the os to install on the server. Use this endpoint to find the right OS ID.

    Important: Updates to os will reinstall the server.

    osName String
    The name of the os.
    password String
    Password used for the installation. May be required depending on used os.
    privateNetworks List<Property Map>
    The private networks to attach to the server. For more information, see the documentation
    projectId String
    project_id) The ID of the project the server is associated with.
    reinstallOnConfigChanges Boolean

    If True, this boolean allows to reinstall the server on install config changes.

    Important: Updates to ssh_key_ids, user, password, service_user or service_password will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.

    servicePassword String
    Password used for the service to install. May be required depending on used os.
    serviceUser String
    User used for the service to install.
    sshKeyIds List<String>
    List of SSH keys allowed to connect to the server.
    tags List<String>
    The tags associated with the server.
    user String
    User used for the installation.
    zone String
    zone) The zone in which the server should be created.

    Supporting Types

    BaremetalServerIp, BaremetalServerIpArgs

    Address string
    The address of the IPv6.
    Id string
    The ID of the IPv6.
    Reverse string
    The reverse of the IPv6.
    Version string
    The type of the IPv6.
    Address string
    The address of the IPv6.
    Id string
    The ID of the IPv6.
    Reverse string
    The reverse of the IPv6.
    Version string
    The type of the IPv6.
    address String
    The address of the IPv6.
    id String
    The ID of the IPv6.
    reverse String
    The reverse of the IPv6.
    version String
    The type of the IPv6.
    address string
    The address of the IPv6.
    id string
    The ID of the IPv6.
    reverse string
    The reverse of the IPv6.
    version string
    The type of the IPv6.
    address str
    The address of the IPv6.
    id str
    The ID of the IPv6.
    reverse str
    The reverse of the IPv6.
    version str
    The type of the IPv6.
    address String
    The address of the IPv6.
    id String
    The ID of the IPv6.
    reverse String
    The reverse of the IPv6.
    version String
    The type of the IPv6.

    BaremetalServerIpv4, BaremetalServerIpv4Args

    Address string
    The address of the IPv6.
    Id string
    The ID of the IPv6.
    Reverse string
    The reverse of the IPv6.
    Version string
    The type of the IPv6.
    Address string
    The address of the IPv6.
    Id string
    The ID of the IPv6.
    Reverse string
    The reverse of the IPv6.
    Version string
    The type of the IPv6.
    address String
    The address of the IPv6.
    id String
    The ID of the IPv6.
    reverse String
    The reverse of the IPv6.
    version String
    The type of the IPv6.
    address string
    The address of the IPv6.
    id string
    The ID of the IPv6.
    reverse string
    The reverse of the IPv6.
    version string
    The type of the IPv6.
    address str
    The address of the IPv6.
    id str
    The ID of the IPv6.
    reverse str
    The reverse of the IPv6.
    version str
    The type of the IPv6.
    address String
    The address of the IPv6.
    id String
    The ID of the IPv6.
    reverse String
    The reverse of the IPv6.
    version String
    The type of the IPv6.

    BaremetalServerIpv6, BaremetalServerIpv6Args

    Address string
    The address of the IPv6.
    Id string
    The ID of the IPv6.
    Reverse string
    The reverse of the IPv6.
    Version string
    The type of the IPv6.
    Address string
    The address of the IPv6.
    Id string
    The ID of the IPv6.
    Reverse string
    The reverse of the IPv6.
    Version string
    The type of the IPv6.
    address String
    The address of the IPv6.
    id String
    The ID of the IPv6.
    reverse String
    The reverse of the IPv6.
    version String
    The type of the IPv6.
    address string
    The address of the IPv6.
    id string
    The ID of the IPv6.
    reverse string
    The reverse of the IPv6.
    version string
    The type of the IPv6.
    address str
    The address of the IPv6.
    id str
    The ID of the IPv6.
    reverse str
    The reverse of the IPv6.
    version str
    The type of the IPv6.
    address String
    The address of the IPv6.
    id String
    The ID of the IPv6.
    reverse String
    The reverse of the IPv6.
    version String
    The type of the IPv6.

    BaremetalServerOption, BaremetalServerOptionArgs

    Id string
    The id of the option to enable. Use this endpoint to find the available options IDs.
    ExpiresAt string
    The auto expiration date for compatible options
    Name string
    The name of the server.
    Id string
    The id of the option to enable. Use this endpoint to find the available options IDs.
    ExpiresAt string
    The auto expiration date for compatible options
    Name string
    The name of the server.
    id String
    The id of the option to enable. Use this endpoint to find the available options IDs.
    expiresAt String
    The auto expiration date for compatible options
    name String
    The name of the server.
    id string
    The id of the option to enable. Use this endpoint to find the available options IDs.
    expiresAt string
    The auto expiration date for compatible options
    name string
    The name of the server.
    id str
    The id of the option to enable. Use this endpoint to find the available options IDs.
    expires_at str
    The auto expiration date for compatible options
    name str
    The name of the server.
    id String
    The id of the option to enable. Use this endpoint to find the available options IDs.
    expiresAt String
    The auto expiration date for compatible options
    name String
    The name of the server.

    BaremetalServerPrivateNetwork, BaremetalServerPrivateNetworkArgs

    Id string
    The id of the private network to attach.
    CreatedAt string
    The date and time of the creation of the private network.
    IpamIpIds List<string>
    List of IPAM IP IDs to assign to the server in the requested private network.
    Status string
    The private network status.
    UpdatedAt string
    The date and time of the last update of the private network.
    Vlan int
    The VLAN ID associated to the private network.
    Id string
    The id of the private network to attach.
    CreatedAt string
    The date and time of the creation of the private network.
    IpamIpIds []string
    List of IPAM IP IDs to assign to the server in the requested private network.
    Status string
    The private network status.
    UpdatedAt string
    The date and time of the last update of the private network.
    Vlan int
    The VLAN ID associated to the private network.
    id String
    The id of the private network to attach.
    createdAt String
    The date and time of the creation of the private network.
    ipamIpIds List<String>
    List of IPAM IP IDs to assign to the server in the requested private network.
    status String
    The private network status.
    updatedAt String
    The date and time of the last update of the private network.
    vlan Integer
    The VLAN ID associated to the private network.
    id string
    The id of the private network to attach.
    createdAt string
    The date and time of the creation of the private network.
    ipamIpIds string[]
    List of IPAM IP IDs to assign to the server in the requested private network.
    status string
    The private network status.
    updatedAt string
    The date and time of the last update of the private network.
    vlan number
    The VLAN ID associated to the private network.
    id str
    The id of the private network to attach.
    created_at str
    The date and time of the creation of the private network.
    ipam_ip_ids Sequence[str]
    List of IPAM IP IDs to assign to the server in the requested private network.
    status str
    The private network status.
    updated_at str
    The date and time of the last update of the private network.
    vlan int
    The VLAN ID associated to the private network.
    id String
    The id of the private network to attach.
    createdAt String
    The date and time of the creation of the private network.
    ipamIpIds List<String>
    List of IPAM IP IDs to assign to the server in the requested private network.
    status String
    The private network status.
    updatedAt String
    The date and time of the last update of the private network.
    vlan Number
    The VLAN ID associated to the private network.

    Import

    Baremetal servers can be imported using the {zone}/{id}, e.g.

    bash

    $ pulumi import scaleway:index/baremetalServer:BaremetalServer web fr-par-2/11111111-1111-1111-1111-111111111111
    

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

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse