Scaleway

v1.1.0 published on Saturday, Sep 17, 2022 by lbrlabs

BaremetalServer

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

Examples

Basic

import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@lbrlabs/pulumi-scaleway";
import * as scaleway from "@pulumi/scaleway";

const main = scaleway.getAccountSshKey({
    name: "main",
});
const base = new scaleway.BaremetalServer("base", {
    zone: "fr-par-2",
    offer: "GP-BM1-S",
    os: "d17d6872-0412-45d9-a198-af82c34d3c5c",
    sshKeyIds: [main.then(main => main.id)],
});
import pulumi
import lbrlabs_pulumi_scaleway as scaleway
import pulumi_scaleway as scaleway

main = scaleway.get_account_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.id])
using System.Collections.Generic;
using Pulumi;
using Scaleway = Lbrlabs.PulumiPackage.Scaleway;
using Scaleway = Pulumi.Scaleway;

return await Deployment.RunAsync(() => 
{
    var main = Scaleway.GetAccountSshKey.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[]
        {
            main.Apply(getAccountSshKeyResult => getAccountSshKeyResult.Id),
        },
    });

});
package main

import (
	"github.com/lbrlabs/pulumi-scaleway/sdk/go/scaleway"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := scaleway.LookupAccountSshKey(ctx, &GetAccountSshKeyArgs{
			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{
				pulumi.String(main.Id),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
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.GetAccountSshKeyArgs;
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.getAccountSshKey(GetAccountSshKeyArgs.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(main.applyValue(getAccountSshKeyResult -> getAccountSshKeyResult.id()))
            .build());

    }
}
resources:
  base:
    type: scaleway:BaremetalServer
    properties:
      zone: fr-par-2
      offer: GP-BM1-S
      os: d17d6872-0412-45d9-a198-af82c34d3c5c
      sshKeyIds:
        - ${main.id}
variables:
  main:
    Fn::Invoke:
      Function: scaleway:getAccountSshKey
      Arguments:
        name: main

Create a BaremetalServer Resource

new BaremetalServer(name: string, args: BaremetalServerArgs, opts?: CustomResourceOptions);
@overload
def BaremetalServer(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    description: Optional[str] = None,
                    hostname: Optional[str] = None,
                    name: Optional[str] = None,
                    offer: Optional[str] = None,
                    os: Optional[str] = None,
                    project_id: Optional[str] = None,
                    ssh_key_ids: Optional[Sequence[str]] = None,
                    tags: Optional[Sequence[str]] = None,
                    zone: Optional[str] = None)
@overload
def BaremetalServer(resource_name: str,
                    args: BaremetalServerArgs,
                    opts: Optional[ResourceOptions] = 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.

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.

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

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.

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.

SshKeyIds List<string>

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

Description string

A description for the server.

Hostname string

The hostname of the server.

Name string

The name of the server.

ProjectId string

project_id) The ID of the project the server is associated with.

Tags List<string>

The tags associated with the server.

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.

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.

SshKeyIds []string

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

Description string

A description for the server.

Hostname string

The hostname of the server.

Name string

The name of the server.

ProjectId string

project_id) The ID of the project the server is associated with.

Tags []string

The tags associated with the server.

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.

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.

sshKeyIds List<String>

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

description String

A description for the server.

hostname String

The hostname of the server.

name String

The name of the server.

projectId String

project_id) The ID of the project the server is associated with.

tags List<String>

The tags associated with the server.

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.

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.

sshKeyIds string[]

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

description string

A description for the server.

hostname string

The hostname of the server.

name string

The name of the server.

projectId string

project_id) The ID of the project the server is associated with.

tags string[]

The tags associated with the server.

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.

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.

ssh_key_ids Sequence[str]

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

description str

A description for the server.

hostname str

The hostname of the server.

name str

The name of the server.

project_id str

project_id) The ID of the project the server is associated with.

tags Sequence[str]

The tags associated with the server.

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.

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.

sshKeyIds List<String>

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

description String

A description for the server.

hostname String

The hostname of the server.

name String

The name of the server.

projectId String

project_id) The ID of the project the server is associated with.

tags List<String>

The tags associated with the server.

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<Lbrlabs.PulumiPackage.Scaleway.Outputs.BaremetalServerIp>

(List of) The IPs of the server.

OfferId string

The ID of the offer.

OrganizationId string

The organization ID the server is associated with.

OsId string

The ID 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.

OfferId string

The ID of the offer.

OrganizationId string

The organization ID the server is associated with.

OsId string

The ID 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.

offerId String

The ID of the offer.

organizationId String

The organization ID the server is associated with.

osId String

The ID 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.

offerId string

The ID of the offer.

organizationId string

The organization ID the server is associated with.

osId string

The ID 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.

offer_id str

The ID of the offer.

organization_id str

The organization ID the server is associated with.

os_id str

The ID 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.

offerId String

The ID of the offer.

organizationId String

The organization ID the server is associated with.

osId String

The ID of the os.

Look up an 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,
        ips: Optional[Sequence[BaremetalServerIpArgs]] = None,
        name: Optional[str] = None,
        offer: Optional[str] = None,
        offer_id: Optional[str] = None,
        organization_id: Optional[str] = None,
        os: Optional[str] = None,
        os_id: Optional[str] = None,
        project_id: Optional[str] = None,
        ssh_key_ids: Optional[Sequence[str]] = None,
        tags: Optional[Sequence[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.

Ips List<Lbrlabs.PulumiPackage.Scaleway.Inputs.BaremetalServerIpArgs>

(List of) The IPs 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.

OfferId string

The ID of the offer.

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.

OsId string

The ID of the os.

ProjectId string

project_id) The ID of the project the server is associated with.

SshKeyIds List<string>

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

Tags List<string>

The tags associated with the server.

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.

Ips []BaremetalServerIpArgs

(List of) The IPs 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.

OfferId string

The ID of the offer.

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.

OsId string

The ID of the os.

ProjectId string

project_id) The ID of the project the server is associated with.

SshKeyIds []string

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

Tags []string

The tags associated with the server.

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.

ips List<BaremetalServerIpArgs>

(List of) The IPs 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.

offerId String

The ID of the offer.

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.

osId String

The ID of the os.

projectId String

project_id) The ID of the project the server is associated with.

sshKeyIds List<String>

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

tags List<String>

The tags associated with the server.

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.

ips BaremetalServerIpArgs[]

(List of) The IPs 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.

offerId string

The ID of the offer.

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.

osId string

The ID of the os.

projectId string

project_id) The ID of the project the server is associated with.

sshKeyIds string[]

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

tags string[]

The tags associated with the server.

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.

ips Sequence[BaremetalServerIpArgs]

(List of) The IPs 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.

offer_id str

The ID of the offer.

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_id str

The ID of the os.

project_id str

project_id) The ID of the project the server is associated with.

ssh_key_ids Sequence[str]

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

tags Sequence[str]

The tags associated with the server.

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.

ips List<Property Map>

(List of) The IPs 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.

offerId String

The ID of the offer.

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.

osId String

The ID of the os.

projectId String

project_id) The ID of the project the server is associated with.

sshKeyIds List<String>

List of SSH keys allowed to connect to the server.

Important: Updates to ssh_key_ids will reinstall the server.

tags List<String>

The tags associated with the server.

zone String

zone) The zone in which the server should be created.

Supporting Types

BaremetalServerIp

Address string

The address of the IP.

Id string

The ID of the IP.

Reverse string

The reverse of the IP.

Version string
Address string

The address of the IP.

Id string

The ID of the IP.

Reverse string

The reverse of the IP.

Version string
address String

The address of the IP.

id String

The ID of the IP.

reverse String

The reverse of the IP.

version String
address string

The address of the IP.

id string

The ID of the IP.

reverse string

The reverse of the IP.

version string
address str

The address of the IP.

id str

The ID of the IP.

reverse str

The reverse of the IP.

version str
address String

The address of the IP.

id String

The ID of the IP.

reverse String

The reverse of the IP.

version String

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

Package Details

Repository
https://github.com/lbrlabs/pulumi-scaleway
License
Apache-2.0
Notes

This Pulumi package is based on the scaleway Terraform Provider.