1. Packages
  2. Equinix Metal (Deprecated)
  3. API Docs
  4. Device

This package is deprecated. We recommend using the new Equinix package.

Equinix Metal v3.2.1 published on Thursday, Dec 30, 2021 by DEPRECATED

equinix-metal.Device

Explore with Pulumi AI

equinix-metal logo

This package is deprecated. We recommend using the new Equinix package.

Equinix Metal v3.2.1 published on Thursday, Dec 30, 2021 by DEPRECATED

    Provides an Equinix Metal device resource. This can be used to create, modify, and delete devices.

    Note: All arguments including the root_password and user_data will be stored in the raw state as plain-text. Read more about sensitive data in state.

    Example Usage

    Create a device and add it to cool_

    using Pulumi;
    using EquinixMetal = Pulumi.EquinixMetal;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var web1 = new EquinixMetal.Device("web1", new EquinixMetal.DeviceArgs
            {
                Hostname = "tf.coreos2",
                Plan = "c3.small.x86",
                Metro = "sv",
                OperatingSystem = "ubuntu_20_04",
                BillingCycle = "hourly",
                ProjectId = local.Project_id,
            });
        }
    
    }
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := equinix - metal.NewDevice(ctx, "web1", &equinix-metal.DeviceArgs{
    			Hostname:        pulumi.String("tf.coreos2"),
    			Plan:            pulumi.String("c3.small.x86"),
    			Metro:           pulumi.String("sv"),
    			OperatingSystem: pulumi.String("ubuntu_20_04"),
    			BillingCycle:    pulumi.String("hourly"),
    			ProjectId:       pulumi.Any(local.Project_id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Coming soon!

    import pulumi
    import pulumi_equinix_metal as equinix_metal
    
    web1 = equinix_metal.Device("web1",
        hostname="tf.coreos2",
        plan="c3.small.x86",
        metro="sv",
        operating_system="ubuntu_20_04",
        billing_cycle="hourly",
        project_id=local["project_id"])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix_metal from "@pulumi/equinix-metal";
    
    const web1 = new equinix_metal.Device("web1", {
        hostname: "tf.coreos2",
        plan: "c3.small.x86",
        metro: "sv",
        operatingSystem: "ubuntu_20_04",
        billingCycle: "hourly",
        projectId: local.project_id,
    });
    

    Coming soon!

    Same as above, but boot via iPXE initially, using the Ignition Provider for provisioning

    using Pulumi;
    using EquinixMetal = Pulumi.EquinixMetal;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var pxe1 = new EquinixMetal.Device("pxe1", new EquinixMetal.DeviceArgs
            {
                Hostname = "tf.coreos2-pxe",
                Plan = "c3.small.x86",
                Metro = "sv",
                OperatingSystem = "custom_ipxe",
                BillingCycle = "hourly",
                ProjectId = local.Project_id,
                IpxeScriptUrl = "https://rawgit.com/cloudnativelabs/pxe/master/metal/coreos-stable-metal.ipxe",
                AlwaysPxe = false,
                UserData = data.Ignition_config.Example.Rendered,
            });
        }
    
    }
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := equinix - metal.NewDevice(ctx, "pxe1", &equinix-metal.DeviceArgs{
    			Hostname:        pulumi.String("tf.coreos2-pxe"),
    			Plan:            pulumi.String("c3.small.x86"),
    			Metro:           pulumi.String("sv"),
    			OperatingSystem: pulumi.String("custom_ipxe"),
    			BillingCycle:    pulumi.String("hourly"),
    			ProjectId:       pulumi.Any(local.Project_id),
    			IpxeScriptUrl:   pulumi.String("https://rawgit.com/cloudnativelabs/pxe/master/metal/coreos-stable-metal.ipxe"),
    			AlwaysPxe:       pulumi.Bool(false),
    			UserData:        pulumi.Any(data.Ignition_config.Example.Rendered),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Coming soon!

    import pulumi
    import pulumi_equinix_metal as equinix_metal
    
    pxe1 = equinix_metal.Device("pxe1",
        hostname="tf.coreos2-pxe",
        plan="c3.small.x86",
        metro="sv",
        operating_system="custom_ipxe",
        billing_cycle="hourly",
        project_id=local["project_id"],
        ipxe_script_url="https://rawgit.com/cloudnativelabs/pxe/master/metal/coreos-stable-metal.ipxe",
        always_pxe=False,
        user_data=data["ignition_config"]["example"]["rendered"])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix_metal from "@pulumi/equinix-metal";
    
    const pxe1 = new equinix_metal.Device("pxe1", {
        hostname: "tf.coreos2-pxe",
        plan: "c3.small.x86",
        metro: "sv",
        operatingSystem: "custom_ipxe",
        billingCycle: "hourly",
        projectId: local.project_id,
        ipxeScriptUrl: "https://rawgit.com/cloudnativelabs/pxe/master/metal/coreos-stable-metal.ipxe",
        alwaysPxe: "false",
        userData: data.ignition_config.example.rendered,
    });
    

    Coming soon!

    Create a device without a public IP address in facility ny5, with only a /30 private IPv4 subnet (4 IP addresses)

    using Pulumi;
    using EquinixMetal = Pulumi.EquinixMetal;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var web1 = new EquinixMetal.Device("web1", new EquinixMetal.DeviceArgs
            {
                Hostname = "tf.coreos2",
                Plan = "c3.small.x86",
                Facilities = 
                {
                    "ny5",
                },
                OperatingSystem = "ubuntu_20_04",
                BillingCycle = "hourly",
                ProjectId = local.Project_id,
                IpAddresses = 
                {
                    new EquinixMetal.Inputs.DeviceIpAddressArgs
                    {
                        Type = "private_ipv4",
                        Cidr = 30,
                    },
                },
            });
        }
    
    }
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := equinix - metal.NewDevice(ctx, "web1", &equinix-metal.DeviceArgs{
    			Hostname: pulumi.String("tf.coreos2"),
    			Plan:     pulumi.String("c3.small.x86"),
    			Facilities: pulumi.StringArray{
    				pulumi.String("ny5"),
    			},
    			OperatingSystem: pulumi.String("ubuntu_20_04"),
    			BillingCycle:    pulumi.String("hourly"),
    			ProjectId:       pulumi.Any(local.Project_id),
    			IpAddresses: DeviceIpAddressArray{
    				&DeviceIpAddressArgs{
    					Type: pulumi.String("private_ipv4"),
    					Cidr: pulumi.Int(30),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Coming soon!

    import pulumi
    import pulumi_equinix_metal as equinix_metal
    
    web1 = equinix_metal.Device("web1",
        hostname="tf.coreos2",
        plan="c3.small.x86",
        facilities=["ny5"],
        operating_system="ubuntu_20_04",
        billing_cycle="hourly",
        project_id=local["project_id"],
        ip_addresses=[equinix_metal.DeviceIpAddressArgs(
            type="private_ipv4",
            cidr=30,
        )])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix_metal from "@pulumi/equinix-metal";
    
    const web1 = new equinix_metal.Device("web1", {
        hostname: "tf.coreos2",
        plan: "c3.small.x86",
        facilities: ["ny5"],
        operatingSystem: "ubuntu_20_04",
        billingCycle: "hourly",
        projectId: local.project_id,
        ipAddresses: [{
            type: "private_ipv4",
            cidr: 30,
        }],
    });
    

    Coming soon!

    Deploy device on next-available reserved hardware and do custom partitioning.

    using Pulumi;
    using EquinixMetal = Pulumi.EquinixMetal;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var web1 = new EquinixMetal.Device("web1", new EquinixMetal.DeviceArgs
            {
                Hostname = "tftest",
                Plan = "c3.small.x86",
                Facilities = 
                {
                    "ny5",
                },
                OperatingSystem = "ubuntu_20_04",
                BillingCycle = "hourly",
                ProjectId = local.Project_id,
                HardwareReservationId = "next-available",
                Storage = @"{
      ""disks"": [
        {
          ""device"": ""/dev/sda"",
          ""wipeTable"": true,
          ""partitions"": [
            {
              ""label"": ""BIOS"",
              ""number"": 1,
              ""size"": ""4096""
            },
            {
              ""label"": ""SWAP"",
              ""number"": 2,
              ""size"": ""3993600""
            },
            {
              ""label"": ""ROOT"",
              ""number"": 3,
              ""size"": ""0""
            }
          ]
        }
      ],
      ""filesystems"": [
        {
          ""mount"": {
            ""device"": ""/dev/sda3"",
            ""format"": ""ext4"",
            ""point"": ""/"",
            ""create"": {
              ""options"": [
                ""-L"",
                ""ROOT""
              ]
            }
          }
        },
        {
          ""mount"": {
            ""device"": ""/dev/sda2"",
            ""format"": ""swap"",
            ""point"": ""none"",
            ""create"": {
              ""options"": [
                ""-L"",
                ""SWAP""
              ]
            }
          }
        }
      ]
    }
    ",
            });
        }
    
    }
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := equinix - metal.NewDevice(ctx, "web1", &equinix-metal.DeviceArgs{
    			Hostname: pulumi.String("tftest"),
    			Plan:     pulumi.String("c3.small.x86"),
    			Facilities: pulumi.StringArray{
    				pulumi.String("ny5"),
    			},
    			OperatingSystem:       pulumi.String("ubuntu_20_04"),
    			BillingCycle:          pulumi.String("hourly"),
    			ProjectId:             pulumi.Any(local.Project_id),
    			HardwareReservationId: pulumi.String("next-available"),
    			Storage:               pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"disks\": [\n", "    {\n", "      \"device\": \"/dev/sda\",\n", "      \"wipeTable\": true,\n", "      \"partitions\": [\n", "        {\n", "          \"label\": \"BIOS\",\n", "          \"number\": 1,\n", "          \"size\": \"4096\"\n", "        },\n", "        {\n", "          \"label\": \"SWAP\",\n", "          \"number\": 2,\n", "          \"size\": \"3993600\"\n", "        },\n", "        {\n", "          \"label\": \"ROOT\",\n", "          \"number\": 3,\n", "          \"size\": \"0\"\n", "        }\n", "      ]\n", "    }\n", "  ],\n", "  \"filesystems\": [\n", "    {\n", "      \"mount\": {\n", "        \"device\": \"/dev/sda3\",\n", "        \"format\": \"ext4\",\n", "        \"point\": \"/\",\n", "        \"create\": {\n", "          \"options\": [\n", "            \"-L\",\n", "            \"ROOT\"\n", "          ]\n", "        }\n", "      }\n", "    },\n", "    {\n", "      \"mount\": {\n", "        \"device\": \"/dev/sda2\",\n", "        \"format\": \"swap\",\n", "        \"point\": \"none\",\n", "        \"create\": {\n", "          \"options\": [\n", "            \"-L\",\n", "            \"SWAP\"\n", "          ]\n", "        }\n", "      }\n", "    }\n", "  ]\n", "}\n")),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Coming soon!

    import pulumi
    import pulumi_equinix_metal as equinix_metal
    
    web1 = equinix_metal.Device("web1",
        hostname="tftest",
        plan="c3.small.x86",
        facilities=["ny5"],
        operating_system="ubuntu_20_04",
        billing_cycle="hourly",
        project_id=local["project_id"],
        hardware_reservation_id="next-available",
        storage="""{
      "disks": [
        {
          "device": "/dev/sda",
          "wipeTable": true,
          "partitions": [
            {
              "label": "BIOS",
              "number": 1,
              "size": "4096"
            },
            {
              "label": "SWAP",
              "number": 2,
              "size": "3993600"
            },
            {
              "label": "ROOT",
              "number": 3,
              "size": "0"
            }
          ]
        }
      ],
      "filesystems": [
        {
          "mount": {
            "device": "/dev/sda3",
            "format": "ext4",
            "point": "/",
            "create": {
              "options": [
                "-L",
                "ROOT"
              ]
            }
          }
        },
        {
          "mount": {
            "device": "/dev/sda2",
            "format": "swap",
            "point": "none",
            "create": {
              "options": [
                "-L",
                "SWAP"
              ]
            }
          }
        }
      ]
    }
    """)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix_metal from "@pulumi/equinix-metal";
    
    const web1 = new equinix_metal.Device("web1", {
        hostname: "tftest",
        plan: "c3.small.x86",
        facilities: ["ny5"],
        operatingSystem: "ubuntu_20_04",
        billingCycle: "hourly",
        projectId: local.project_id,
        hardwareReservationId: "next-available",
        storage: `{
      "disks": [
        {
          "device": "/dev/sda",
          "wipeTable": true,
          "partitions": [
            {
              "label": "BIOS",
              "number": 1,
              "size": "4096"
            },
            {
              "label": "SWAP",
              "number": 2,
              "size": "3993600"
            },
            {
              "label": "ROOT",
              "number": 3,
              "size": "0"
            }
          ]
        }
      ],
      "filesystems": [
        {
          "mount": {
            "device": "/dev/sda3",
            "format": "ext4",
            "point": "/",
            "create": {
              "options": [
                "-L",
                "ROOT"
              ]
            }
          }
        },
        {
          "mount": {
            "device": "/dev/sda2",
            "format": "swap",
            "point": "none",
            "create": {
              "options": [
                "-L",
                "SWAP"
              ]
            }
          }
        }
      ]
    }
    `,
    });
    

    Coming soon!

    Create Device Resource

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

    Constructor syntax

    new Device(name: string, args: DeviceArgs, opts?: CustomResourceOptions);
    @overload
    def Device(resource_name: str,
               args: DeviceArgs,
               opts: Optional[ResourceOptions] = None)
    
    @overload
    def Device(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               operating_system: Optional[Union[str, OperatingSystem]] = None,
               project_id: Optional[str] = None,
               plan: Optional[Union[str, Plan]] = None,
               metro: Optional[str] = None,
               custom_data: Optional[str] = None,
               force_detach_volumes: Optional[bool] = None,
               hardware_reservation_id: Optional[str] = None,
               hostname: Optional[str] = None,
               ip_addresses: Optional[Sequence[DeviceIpAddressArgs]] = None,
               ipxe_script_url: Optional[str] = None,
               always_pxe: Optional[bool] = None,
               description: Optional[str] = None,
               facilities: Optional[Sequence[Union[str, Facility]]] = None,
               billing_cycle: Optional[Union[str, BillingCycle]] = None,
               project_ssh_key_ids: Optional[Sequence[str]] = None,
               reinstall: Optional[DeviceReinstallArgs] = None,
               storage: Optional[str] = None,
               tags: Optional[Sequence[str]] = None,
               termination_time: Optional[str] = None,
               user_data: Optional[str] = None,
               wait_for_reservation_deprovision: Optional[bool] = None)
    func NewDevice(ctx *Context, name string, args DeviceArgs, opts ...ResourceOption) (*Device, error)
    public Device(string name, DeviceArgs args, CustomResourceOptions? opts = null)
    public Device(String name, DeviceArgs args)
    public Device(String name, DeviceArgs args, CustomResourceOptions options)
    
    type: equinix-metal:Device
    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 DeviceArgs
    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 DeviceArgs
    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 DeviceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DeviceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DeviceArgs
    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 deviceResource = new EquinixMetal.Device("deviceResource", new()
    {
        OperatingSystem = "string",
        ProjectId = "string",
        Plan = "string",
        Metro = "string",
        CustomData = "string",
        ForceDetachVolumes = false,
        HardwareReservationId = "string",
        Hostname = "string",
        IpAddresses = new[]
        {
            new EquinixMetal.Inputs.DeviceIpAddressArgs
            {
                Type = "string",
                Cidr = 0,
                ReservationIds = new[]
                {
                    "string",
                },
            },
        },
        IpxeScriptUrl = "string",
        AlwaysPxe = false,
        Description = "string",
        Facilities = new[]
        {
            "string",
        },
        BillingCycle = "string",
        ProjectSshKeyIds = new[]
        {
            "string",
        },
        Reinstall = new EquinixMetal.Inputs.DeviceReinstallArgs
        {
            DeprovisionFast = false,
            Enabled = false,
            PreserveData = false,
        },
        Storage = "string",
        Tags = new[]
        {
            "string",
        },
        TerminationTime = "string",
        UserData = "string",
        WaitForReservationDeprovision = false,
    });
    
    example, err := equinixmetal.NewDevice(ctx, "deviceResource", &equinixmetal.DeviceArgs{
    	OperatingSystem:       pulumi.String("string"),
    	ProjectId:             pulumi.String("string"),
    	Plan:                  pulumi.String("string"),
    	Metro:                 pulumi.String("string"),
    	CustomData:            pulumi.String("string"),
    	ForceDetachVolumes:    pulumi.Bool(false),
    	HardwareReservationId: pulumi.String("string"),
    	Hostname:              pulumi.String("string"),
    	IpAddresses: equinix.DeviceIpAddressArray{
    		&equinix.DeviceIpAddressArgs{
    			Type: pulumi.String("string"),
    			Cidr: pulumi.Int(0),
    			ReservationIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	IpxeScriptUrl: pulumi.String("string"),
    	AlwaysPxe:     pulumi.Bool(false),
    	Description:   pulumi.String("string"),
    	Facilities: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	BillingCycle: pulumi.String("string"),
    	ProjectSshKeyIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Reinstall: &equinix.DeviceReinstallArgs{
    		DeprovisionFast: pulumi.Bool(false),
    		Enabled:         pulumi.Bool(false),
    		PreserveData:    pulumi.Bool(false),
    	},
    	Storage: pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	TerminationTime:               pulumi.String("string"),
    	UserData:                      pulumi.String("string"),
    	WaitForReservationDeprovision: pulumi.Bool(false),
    })
    
    var deviceResource = new Device("deviceResource", DeviceArgs.builder()
        .operatingSystem("string")
        .projectId("string")
        .plan("string")
        .metro("string")
        .customData("string")
        .forceDetachVolumes(false)
        .hardwareReservationId("string")
        .hostname("string")
        .ipAddresses(DeviceIpAddressArgs.builder()
            .type("string")
            .cidr(0)
            .reservationIds("string")
            .build())
        .ipxeScriptUrl("string")
        .alwaysPxe(false)
        .description("string")
        .facilities("string")
        .billingCycle("string")
        .projectSshKeyIds("string")
        .reinstall(DeviceReinstallArgs.builder()
            .deprovisionFast(false)
            .enabled(false)
            .preserveData(false)
            .build())
        .storage("string")
        .tags("string")
        .terminationTime("string")
        .userData("string")
        .waitForReservationDeprovision(false)
        .build());
    
    device_resource = equinix_metal.Device("deviceResource",
        operating_system="string",
        project_id="string",
        plan="string",
        metro="string",
        custom_data="string",
        force_detach_volumes=False,
        hardware_reservation_id="string",
        hostname="string",
        ip_addresses=[{
            "type": "string",
            "cidr": 0,
            "reservation_ids": ["string"],
        }],
        ipxe_script_url="string",
        always_pxe=False,
        description="string",
        facilities=["string"],
        billing_cycle="string",
        project_ssh_key_ids=["string"],
        reinstall={
            "deprovision_fast": False,
            "enabled": False,
            "preserve_data": False,
        },
        storage="string",
        tags=["string"],
        termination_time="string",
        user_data="string",
        wait_for_reservation_deprovision=False)
    
    const deviceResource = new equinix_metal.Device("deviceResource", {
        operatingSystem: "string",
        projectId: "string",
        plan: "string",
        metro: "string",
        customData: "string",
        forceDetachVolumes: false,
        hardwareReservationId: "string",
        hostname: "string",
        ipAddresses: [{
            type: "string",
            cidr: 0,
            reservationIds: ["string"],
        }],
        ipxeScriptUrl: "string",
        alwaysPxe: false,
        description: "string",
        facilities: ["string"],
        billingCycle: "string",
        projectSshKeyIds: ["string"],
        reinstall: {
            deprovisionFast: false,
            enabled: false,
            preserveData: false,
        },
        storage: "string",
        tags: ["string"],
        terminationTime: "string",
        userData: "string",
        waitForReservationDeprovision: false,
    });
    
    type: equinix-metal:Device
    properties:
        alwaysPxe: false
        billingCycle: string
        customData: string
        description: string
        facilities:
            - string
        forceDetachVolumes: false
        hardwareReservationId: string
        hostname: string
        ipAddresses:
            - cidr: 0
              reservationIds:
                - string
              type: string
        ipxeScriptUrl: string
        metro: string
        operatingSystem: string
        plan: string
        projectId: string
        projectSshKeyIds:
            - string
        reinstall:
            deprovisionFast: false
            enabled: false
            preserveData: false
        storage: string
        tags:
            - string
        terminationTime: string
        userData: string
        waitForReservationDeprovision: false
    

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

    OperatingSystem string | Pulumi.EquinixMetal.OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    Plan string | Pulumi.EquinixMetal.Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ProjectId string
    The ID of the project in which to create the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    BillingCycle string | Pulumi.EquinixMetal.BillingCycle
    monthly or hourly
    CustomData string
    A string of the desired Custom Data for the device.
    Description string
    The device description.
    Facilities List<Union<string, Pulumi.EquinixMetal.Facility>>
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    ForceDetachVolumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    HardwareReservationId string
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    Hostname string
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    IpAddresses List<Pulumi.EquinixMetal.Inputs.DeviceIpAddress>
    A list of IP address types for the device (structure is documented below).
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    Metro string
    Metro area for the new device. Conflicts with facilities.
    ProjectSshKeyIds List<string>
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    Reinstall Pulumi.EquinixMetal.Inputs.DeviceReinstall
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    Tags List<string>
    Tags attached to the device
    TerminationTime string
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    UserData string
    A string of the desired User Data for the device.
    WaitForReservationDeprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    OperatingSystem string | OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    Plan string | Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ProjectId string
    The ID of the project in which to create the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    BillingCycle string | BillingCycle
    monthly or hourly
    CustomData string
    A string of the desired Custom Data for the device.
    Description string
    The device description.
    Facilities []string
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    ForceDetachVolumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    HardwareReservationId string
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    Hostname string
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    IpAddresses []DeviceIpAddressArgs
    A list of IP address types for the device (structure is documented below).
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    Metro string
    Metro area for the new device. Conflicts with facilities.
    ProjectSshKeyIds []string
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    Reinstall DeviceReinstallArgs
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    Tags []string
    Tags attached to the device
    TerminationTime string
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    UserData string
    A string of the desired User Data for the device.
    WaitForReservationDeprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    operatingSystem String | OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan String | Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    projectId String
    The ID of the project in which to create the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billingCycle String | BillingCycle
    monthly or hourly
    customData String
    A string of the desired Custom Data for the device.
    description String
    The device description.
    facilities List<Either<String,Facility>>
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    forceDetachVolumes Boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId String
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    hostname String
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    ipAddresses List<DeviceIpAddress>
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl String
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    metro String
    Metro area for the new device. Conflicts with facilities.
    projectSshKeyIds List<String>
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    reinstall DeviceReinstall
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags List<String>
    Tags attached to the device
    terminationTime String
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    userData String
    A string of the desired User Data for the device.
    waitForReservationDeprovision Boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    operatingSystem string | OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan string | Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    projectId string
    The ID of the project in which to create the device
    alwaysPxe boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billingCycle string | BillingCycle
    monthly or hourly
    customData string
    A string of the desired Custom Data for the device.
    description string
    The device description.
    facilities (string | Facility)[]
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    forceDetachVolumes boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId string
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    hostname string
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    ipAddresses DeviceIpAddress[]
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    metro string
    Metro area for the new device. Conflicts with facilities.
    projectSshKeyIds string[]
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    reinstall DeviceReinstall
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags string[]
    Tags attached to the device
    terminationTime string
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    userData string
    A string of the desired User Data for the device.
    waitForReservationDeprovision boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    operating_system str | OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan str | Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    project_id str
    The ID of the project in which to create the device
    always_pxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billing_cycle str | BillingCycle
    monthly or hourly
    custom_data str
    A string of the desired Custom Data for the device.
    description str
    The device description.
    facilities Sequence[Union[str, Facility]]
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    force_detach_volumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardware_reservation_id str
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    hostname str
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    ip_addresses Sequence[DeviceIpAddressArgs]
    A list of IP address types for the device (structure is documented below).
    ipxe_script_url str
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    metro str
    Metro area for the new device. Conflicts with facilities.
    project_ssh_key_ids Sequence[str]
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    reinstall DeviceReinstallArgs
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    storage str
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags Sequence[str]
    Tags attached to the device
    termination_time str
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    user_data str
    A string of the desired User Data for the device.
    wait_for_reservation_deprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    operatingSystem String | "alpine_3" | "centos_6" | "centos_7" | "centos_8" | "coreos_alpha" | "coreos_beta" | "coreos_stable" | "custom_ipxe" | "debian_8" | "debian_9" | "debian_10" | "flatcar_alpha" | "flatcar_beta" | "flatcar_edge" | "flatcar_stable" | "freebsd_10_4" | "freebsd_11_1" | "freebsd_11_2" | "freebsd_12_testing" | "nixos_18_03" | "nixos_19_03" | "opensuse_42_3" | "rancher" | "rhel_7" | "rhel_8" | "scientific_6" | "suse_sles12_sp3" | "ubuntu_14_04" | "ubuntu_16_04" | "ubuntu_17_10" | "ubuntu_18_04" | "ubuntu_20_04" | "ubuntu_20_10" | "vmware_esxi_6_5" | "vmware_esxi_6_7" | "vmware_esxi_7_0" | "windows_2012_r2" | "windows_2016" | "windows_2019"
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan String | "c2.large.arm" | "c2.medium.x86" | "baremetal_1" | "baremetal_2a" | "baremetal_3" | "x2.xlarge.x86" | "baremetal_1e" | "g2.large.x86" | "m2.xlarge.x86" | "baremetal_2" | "baremetal_0" | "baremetal_s" | "c3.small.x86" | "c3.medium.x86" | "f3.medium.x86" | "f3.large.x86" | "m3.large.x86" | "s3.xlarge.x86" | "n2.xlarge.x86"
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    projectId String
    The ID of the project in which to create the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billingCycle String | "hourly" | "monthly"
    monthly or hourly
    customData String
    A string of the desired Custom Data for the device.
    description String
    The device description.
    facilities List<String | "ewr1" | "sjc1" | "dfw1" | "dfw2" | "ams1" | "nrt1" | "sea1" | "lax1" | "ord1" | "atl1" | "iad1" | "sin1" | "hkg1" | "syd1" | "mrs1" | "yyz1" | "fra2" | "am6" | "dc13" | "ch3" | "da3" | "da11" | "la4" | "ny5" | "sg1" | "sv15">
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    forceDetachVolumes Boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId String
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    hostname String
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    ipAddresses List<Property Map>
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl String
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    metro String
    Metro area for the new device. Conflicts with facilities.
    projectSshKeyIds List<String>
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    reinstall Property Map
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags List<String>
    Tags attached to the device
    terminationTime String
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    userData String
    A string of the desired User Data for the device.
    waitForReservationDeprovision Boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).

    Outputs

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

    AccessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    AccessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    AccessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    Created string
    The timestamp for when the device was created
    DeployedFacility string
    The facility where the device is deployed.
    DeployedHardwareReservationId string
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    Id string
    The provider-assigned unique ID for this managed resource.
    Locked bool
    Whether the device is locked
    NetworkType string
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    Networks List<Pulumi.EquinixMetal.Outputs.DeviceNetwork>
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    Ports List<Pulumi.EquinixMetal.Outputs.DevicePort>
    Ports assigned to the device
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SshKeyIds List<string>
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    State string
    The status of the device
    Updated string
    The timestamp for the last time the device was updated
    AccessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    AccessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    AccessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    Created string
    The timestamp for when the device was created
    DeployedFacility string
    The facility where the device is deployed.
    DeployedHardwareReservationId string
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    Id string
    The provider-assigned unique ID for this managed resource.
    Locked bool
    Whether the device is locked
    NetworkType string
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    Networks []DeviceNetwork
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    Ports []DevicePort
    Ports assigned to the device
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SshKeyIds []string
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    State string
    The status of the device
    Updated string
    The timestamp for the last time the device was updated
    accessPrivateIpv4 String
    The ipv4 private IP assigned to the device
    accessPublicIpv4 String
    The ipv4 maintenance IP assigned to the device
    accessPublicIpv6 String
    The ipv6 maintenance IP assigned to the device
    created String
    The timestamp for when the device was created
    deployedFacility String
    The facility where the device is deployed.
    deployedHardwareReservationId String
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    id String
    The provider-assigned unique ID for this managed resource.
    locked Boolean
    Whether the device is locked
    networkType String
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    networks List<DeviceNetwork>
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    ports List<DevicePort>
    Ports assigned to the device
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sshKeyIds List<String>
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state String
    The status of the device
    updated String
    The timestamp for the last time the device was updated
    accessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    accessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    accessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    created string
    The timestamp for when the device was created
    deployedFacility string
    The facility where the device is deployed.
    deployedHardwareReservationId string
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    id string
    The provider-assigned unique ID for this managed resource.
    locked boolean
    Whether the device is locked
    networkType string
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    networks DeviceNetwork[]
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    ports DevicePort[]
    Ports assigned to the device
    rootPassword string
    Root password to the server (disabled after 24 hours)
    sshKeyIds string[]
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state string
    The status of the device
    updated string
    The timestamp for the last time the device was updated
    access_private_ipv4 str
    The ipv4 private IP assigned to the device
    access_public_ipv4 str
    The ipv4 maintenance IP assigned to the device
    access_public_ipv6 str
    The ipv6 maintenance IP assigned to the device
    created str
    The timestamp for when the device was created
    deployed_facility str
    The facility where the device is deployed.
    deployed_hardware_reservation_id str
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    id str
    The provider-assigned unique ID for this managed resource.
    locked bool
    Whether the device is locked
    network_type str
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    networks Sequence[DeviceNetwork]
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    ports Sequence[DevicePort]
    Ports assigned to the device
    root_password str
    Root password to the server (disabled after 24 hours)
    ssh_key_ids Sequence[str]
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state str
    The status of the device
    updated str
    The timestamp for the last time the device was updated
    accessPrivateIpv4 String
    The ipv4 private IP assigned to the device
    accessPublicIpv4 String
    The ipv4 maintenance IP assigned to the device
    accessPublicIpv6 String
    The ipv6 maintenance IP assigned to the device
    created String
    The timestamp for when the device was created
    deployedFacility String
    The facility where the device is deployed.
    deployedHardwareReservationId String
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    id String
    The provider-assigned unique ID for this managed resource.
    locked Boolean
    Whether the device is locked
    networkType String
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    networks List<Property Map>
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    ports List<Property Map>
    Ports assigned to the device
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sshKeyIds List<String>
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state String
    The status of the device
    updated String
    The timestamp for the last time the device was updated

    Look up Existing Device Resource

    Get an existing Device 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?: DeviceState, opts?: CustomResourceOptions): Device
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            access_private_ipv4: Optional[str] = None,
            access_public_ipv4: Optional[str] = None,
            access_public_ipv6: Optional[str] = None,
            always_pxe: Optional[bool] = None,
            billing_cycle: Optional[Union[str, BillingCycle]] = None,
            created: Optional[str] = None,
            custom_data: Optional[str] = None,
            deployed_facility: Optional[str] = None,
            deployed_hardware_reservation_id: Optional[str] = None,
            description: Optional[str] = None,
            facilities: Optional[Sequence[Union[str, Facility]]] = None,
            force_detach_volumes: Optional[bool] = None,
            hardware_reservation_id: Optional[str] = None,
            hostname: Optional[str] = None,
            ip_addresses: Optional[Sequence[DeviceIpAddressArgs]] = None,
            ipxe_script_url: Optional[str] = None,
            locked: Optional[bool] = None,
            metro: Optional[str] = None,
            network_type: Optional[Union[str, NetworkType]] = None,
            networks: Optional[Sequence[DeviceNetworkArgs]] = None,
            operating_system: Optional[Union[str, OperatingSystem]] = None,
            plan: Optional[Union[str, Plan]] = None,
            ports: Optional[Sequence[DevicePortArgs]] = None,
            project_id: Optional[str] = None,
            project_ssh_key_ids: Optional[Sequence[str]] = None,
            reinstall: Optional[DeviceReinstallArgs] = None,
            root_password: Optional[str] = None,
            ssh_key_ids: Optional[Sequence[str]] = None,
            state: Optional[str] = None,
            storage: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            termination_time: Optional[str] = None,
            updated: Optional[str] = None,
            user_data: Optional[str] = None,
            wait_for_reservation_deprovision: Optional[bool] = None) -> Device
    func GetDevice(ctx *Context, name string, id IDInput, state *DeviceState, opts ...ResourceOption) (*Device, error)
    public static Device Get(string name, Input<string> id, DeviceState? state, CustomResourceOptions? opts = null)
    public static Device get(String name, Output<String> id, DeviceState 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:
    AccessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    AccessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    AccessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    BillingCycle string | Pulumi.EquinixMetal.BillingCycle
    monthly or hourly
    Created string
    The timestamp for when the device was created
    CustomData string
    A string of the desired Custom Data for the device.
    DeployedFacility string
    The facility where the device is deployed.
    DeployedHardwareReservationId string
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    Description string
    The device description.
    Facilities List<Union<string, Pulumi.EquinixMetal.Facility>>
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    ForceDetachVolumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    HardwareReservationId string
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    Hostname string
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    IpAddresses List<Pulumi.EquinixMetal.Inputs.DeviceIpAddress>
    A list of IP address types for the device (structure is documented below).
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    Locked bool
    Whether the device is locked
    Metro string
    Metro area for the new device. Conflicts with facilities.
    NetworkType string | Pulumi.EquinixMetal.NetworkType
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    Networks List<Pulumi.EquinixMetal.Inputs.DeviceNetwork>
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    OperatingSystem string | Pulumi.EquinixMetal.OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    Plan string | Pulumi.EquinixMetal.Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    Ports List<Pulumi.EquinixMetal.Inputs.DevicePort>
    Ports assigned to the device
    ProjectId string
    The ID of the project in which to create the device
    ProjectSshKeyIds List<string>
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    Reinstall Pulumi.EquinixMetal.Inputs.DeviceReinstall
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SshKeyIds List<string>
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    State string
    The status of the device
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    Tags List<string>
    Tags attached to the device
    TerminationTime string
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    Updated string
    The timestamp for the last time the device was updated
    UserData string
    A string of the desired User Data for the device.
    WaitForReservationDeprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    AccessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    AccessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    AccessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    BillingCycle string | BillingCycle
    monthly or hourly
    Created string
    The timestamp for when the device was created
    CustomData string
    A string of the desired Custom Data for the device.
    DeployedFacility string
    The facility where the device is deployed.
    DeployedHardwareReservationId string
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    Description string
    The device description.
    Facilities []string
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    ForceDetachVolumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    HardwareReservationId string
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    Hostname string
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    IpAddresses []DeviceIpAddressArgs
    A list of IP address types for the device (structure is documented below).
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    Locked bool
    Whether the device is locked
    Metro string
    Metro area for the new device. Conflicts with facilities.
    NetworkType string | NetworkType
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    Networks []DeviceNetworkArgs
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    OperatingSystem string | OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    Plan string | Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    Ports []DevicePortArgs
    Ports assigned to the device
    ProjectId string
    The ID of the project in which to create the device
    ProjectSshKeyIds []string
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    Reinstall DeviceReinstallArgs
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SshKeyIds []string
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    State string
    The status of the device
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    Tags []string
    Tags attached to the device
    TerminationTime string
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    Updated string
    The timestamp for the last time the device was updated
    UserData string
    A string of the desired User Data for the device.
    WaitForReservationDeprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    accessPrivateIpv4 String
    The ipv4 private IP assigned to the device
    accessPublicIpv4 String
    The ipv4 maintenance IP assigned to the device
    accessPublicIpv6 String
    The ipv6 maintenance IP assigned to the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billingCycle String | BillingCycle
    monthly or hourly
    created String
    The timestamp for when the device was created
    customData String
    A string of the desired Custom Data for the device.
    deployedFacility String
    The facility where the device is deployed.
    deployedHardwareReservationId String
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    description String
    The device description.
    facilities List<Either<String,Facility>>
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    forceDetachVolumes Boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId String
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    hostname String
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    ipAddresses List<DeviceIpAddress>
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl String
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    locked Boolean
    Whether the device is locked
    metro String
    Metro area for the new device. Conflicts with facilities.
    networkType String | NetworkType
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    networks List<DeviceNetwork>
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    operatingSystem String | OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan String | Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ports List<DevicePort>
    Ports assigned to the device
    projectId String
    The ID of the project in which to create the device
    projectSshKeyIds List<String>
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    reinstall DeviceReinstall
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sshKeyIds List<String>
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state String
    The status of the device
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags List<String>
    Tags attached to the device
    terminationTime String
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    updated String
    The timestamp for the last time the device was updated
    userData String
    A string of the desired User Data for the device.
    waitForReservationDeprovision Boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    accessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    accessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    accessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    alwaysPxe boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billingCycle string | BillingCycle
    monthly or hourly
    created string
    The timestamp for when the device was created
    customData string
    A string of the desired Custom Data for the device.
    deployedFacility string
    The facility where the device is deployed.
    deployedHardwareReservationId string
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    description string
    The device description.
    facilities (string | Facility)[]
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    forceDetachVolumes boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId string
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    hostname string
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    ipAddresses DeviceIpAddress[]
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    locked boolean
    Whether the device is locked
    metro string
    Metro area for the new device. Conflicts with facilities.
    networkType string | NetworkType
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    networks DeviceNetwork[]
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    operatingSystem string | OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan string | Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ports DevicePort[]
    Ports assigned to the device
    projectId string
    The ID of the project in which to create the device
    projectSshKeyIds string[]
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    reinstall DeviceReinstall
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    rootPassword string
    Root password to the server (disabled after 24 hours)
    sshKeyIds string[]
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state string
    The status of the device
    storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags string[]
    Tags attached to the device
    terminationTime string
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    updated string
    The timestamp for the last time the device was updated
    userData string
    A string of the desired User Data for the device.
    waitForReservationDeprovision boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    access_private_ipv4 str
    The ipv4 private IP assigned to the device
    access_public_ipv4 str
    The ipv4 maintenance IP assigned to the device
    access_public_ipv6 str
    The ipv6 maintenance IP assigned to the device
    always_pxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billing_cycle str | BillingCycle
    monthly or hourly
    created str
    The timestamp for when the device was created
    custom_data str
    A string of the desired Custom Data for the device.
    deployed_facility str
    The facility where the device is deployed.
    deployed_hardware_reservation_id str
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    description str
    The device description.
    facilities Sequence[Union[str, Facility]]
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    force_detach_volumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardware_reservation_id str
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    hostname str
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    ip_addresses Sequence[DeviceIpAddressArgs]
    A list of IP address types for the device (structure is documented below).
    ipxe_script_url str
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    locked bool
    Whether the device is locked
    metro str
    Metro area for the new device. Conflicts with facilities.
    network_type str | NetworkType
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    networks Sequence[DeviceNetworkArgs]
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    operating_system str | OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan str | Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ports Sequence[DevicePortArgs]
    Ports assigned to the device
    project_id str
    The ID of the project in which to create the device
    project_ssh_key_ids Sequence[str]
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    reinstall DeviceReinstallArgs
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    root_password str
    Root password to the server (disabled after 24 hours)
    ssh_key_ids Sequence[str]
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state str
    The status of the device
    storage str
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags Sequence[str]
    Tags attached to the device
    termination_time str
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    updated str
    The timestamp for the last time the device was updated
    user_data str
    A string of the desired User Data for the device.
    wait_for_reservation_deprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    accessPrivateIpv4 String
    The ipv4 private IP assigned to the device
    accessPublicIpv4 String
    The ipv4 maintenance IP assigned to the device
    accessPublicIpv6 String
    The ipv6 maintenance IP assigned to the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billingCycle String | "hourly" | "monthly"
    monthly or hourly
    created String
    The timestamp for when the device was created
    customData String
    A string of the desired Custom Data for the device.
    deployedFacility String
    The facility where the device is deployed.
    deployedHardwareReservationId String
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation.
    description String
    The device description.
    facilities List<String | "ewr1" | "sjc1" | "dfw1" | "dfw2" | "ams1" | "nrt1" | "sea1" | "lax1" | "ord1" | "atl1" | "iad1" | "sin1" | "hkg1" | "syd1" | "mrs1" | "yyz1" | "fra2" | "am6" | "dc13" | "ch3" | "da3" | "da11" | "la4" | "ny5" | "sg1" | "sv15">
    List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit Facilities API docs, set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro.
    forceDetachVolumes Boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId String
    The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
    hostname String
    The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
    ipAddresses List<Property Map>
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl String
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    locked Boolean
    Whether the device is locked
    metro String
    Metro area for the new device. Conflicts with facilities.
    networkType String | "layer3" | "layer2-individual" | "layer2-bonded" | "hybrid"
    Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded

    Deprecated: You should handle Network Type with the new metal_device_network_type resource.

    networks List<Property Map>
    The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:

    • Public IPv4 at metal_device.name.network.0
    • IPv6 at metal_device.name.network.1
    • Private IPv4 at metal_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    operatingSystem String | "alpine_3" | "centos_6" | "centos_7" | "centos_8" | "coreos_alpha" | "coreos_beta" | "coreos_stable" | "custom_ipxe" | "debian_8" | "debian_9" | "debian_10" | "flatcar_alpha" | "flatcar_beta" | "flatcar_edge" | "flatcar_stable" | "freebsd_10_4" | "freebsd_11_1" | "freebsd_11_2" | "freebsd_12_testing" | "nixos_18_03" | "nixos_19_03" | "opensuse_42_3" | "rancher" | "rhel_7" | "rhel_8" | "scientific_6" | "suse_sles12_sp3" | "ubuntu_14_04" | "ubuntu_16_04" | "ubuntu_17_10" | "ubuntu_18_04" | "ubuntu_20_04" | "ubuntu_20_10" | "vmware_esxi_6_5" | "vmware_esxi_6_7" | "vmware_esxi_7_0" | "windows_2012_r2" | "windows_2016" | "windows_2019"
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan String | "c2.large.arm" | "c2.medium.x86" | "baremetal_1" | "baremetal_2a" | "baremetal_3" | "x2.xlarge.x86" | "baremetal_1e" | "g2.large.x86" | "m2.xlarge.x86" | "baremetal_2" | "baremetal_0" | "baremetal_s" | "c3.small.x86" | "c3.medium.x86" | "f3.medium.x86" | "f3.large.x86" | "m3.large.x86" | "s3.xlarge.x86" | "n2.xlarge.x86"
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ports List<Property Map>
    Ports assigned to the device
    projectId String
    The ID of the project in which to create the device
    projectSshKeyIds List<String>
    Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the equinix-metal.ProjectSshKey resource.
    reinstall Property Map
    Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sshKeyIds List<String>
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state String
    The status of the device
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags List<String>
    Tags attached to the device
    terminationTime String
    Timestamp for device termination. For example 2021-09-03T16:32:00+03:00. If you don't supply timezone info, timestamp is assumed to be in UTC.
    updated String
    The timestamp for the last time the device was updated
    userData String
    A string of the desired User Data for the device.
    waitForReservationDeprovision Boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).

    Supporting Types

    BillingCycle, BillingCycleArgs

    Hourly
    hourly
    Monthly
    monthly
    BillingCycleHourly
    hourly
    BillingCycleMonthly
    monthly
    Hourly
    hourly
    Monthly
    monthly
    Hourly
    hourly
    Monthly
    monthly
    HOURLY
    hourly
    MONTHLY
    monthly
    "hourly"
    hourly
    "monthly"
    monthly

    DeviceIpAddress, DeviceIpAddressArgs

    Type string
    One of [private_ipv4, public_ipv4, public_ipv6]
    Cidr int
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    ReservationIds List<string>
    List of UUIDs of IP block reservations from which the public IPv4 address should be taken.
    Type string
    One of [private_ipv4, public_ipv4, public_ipv6]
    Cidr int
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    ReservationIds []string
    List of UUIDs of IP block reservations from which the public IPv4 address should be taken.
    type String
    One of [private_ipv4, public_ipv4, public_ipv6]
    cidr Integer
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    reservationIds List<String>
    List of UUIDs of IP block reservations from which the public IPv4 address should be taken.
    type string
    One of [private_ipv4, public_ipv4, public_ipv6]
    cidr number
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    reservationIds string[]
    List of UUIDs of IP block reservations from which the public IPv4 address should be taken.
    type str
    One of [private_ipv4, public_ipv4, public_ipv6]
    cidr int
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    reservation_ids Sequence[str]
    List of UUIDs of IP block reservations from which the public IPv4 address should be taken.
    type String
    One of [private_ipv4, public_ipv4, public_ipv6]
    cidr Number
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    reservationIds List<String>
    List of UUIDs of IP block reservations from which the public IPv4 address should be taken.

    DeviceNetwork, DeviceNetworkArgs

    Address string
    IPv4 or IPv6 address string
    Cidr int
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    Family int
    IP version - "4" or "6"

    • network_type Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, layer2-individual and layer2-bonded.
    Gateway string
    address of router
    Public bool
    whether the address is routable from the Internet
    Address string
    IPv4 or IPv6 address string
    Cidr int
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    Family int
    IP version - "4" or "6"

    • network_type Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, layer2-individual and layer2-bonded.
    Gateway string
    address of router
    Public bool
    whether the address is routable from the Internet
    address String
    IPv4 or IPv6 address string
    cidr Integer
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    family Integer
    IP version - "4" or "6"

    • network_type Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, layer2-individual and layer2-bonded.
    gateway String
    address of router
    public_ Boolean
    whether the address is routable from the Internet
    address string
    IPv4 or IPv6 address string
    cidr number
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    family number
    IP version - "4" or "6"

    • network_type Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, layer2-individual and layer2-bonded.
    gateway string
    address of router
    public boolean
    whether the address is routable from the Internet
    address str
    IPv4 or IPv6 address string
    cidr int
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    family int
    IP version - "4" or "6"

    • network_type Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, layer2-individual and layer2-bonded.
    gateway str
    address of router
    public bool
    whether the address is routable from the Internet
    address String
    IPv4 or IPv6 address string
    cidr Number
    CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
    family Number
    IP version - "4" or "6"

    • network_type Network type of a device, used in Layer 2 networking. Will be one of layer3, hybrid, layer2-individual and layer2-bonded.
    gateway String
    address of router
    public Boolean
    whether the address is routable from the Internet

    DevicePort, DevicePortArgs

    Bonded bool
    Whether this port is part of a bond in bonded network setup
    Id string
    ID of the port
    Mac string
    MAC address assigned to the port
    Name string
    Name of the port (e.g. eth0, or bond0)
    Type string
    One of [private_ipv4, public_ipv4, public_ipv6]
    Bonded bool
    Whether this port is part of a bond in bonded network setup
    Id string
    ID of the port
    Mac string
    MAC address assigned to the port
    Name string
    Name of the port (e.g. eth0, or bond0)
    Type string
    One of [private_ipv4, public_ipv4, public_ipv6]
    bonded Boolean
    Whether this port is part of a bond in bonded network setup
    id String
    ID of the port
    mac String
    MAC address assigned to the port
    name String
    Name of the port (e.g. eth0, or bond0)
    type String
    One of [private_ipv4, public_ipv4, public_ipv6]
    bonded boolean
    Whether this port is part of a bond in bonded network setup
    id string
    ID of the port
    mac string
    MAC address assigned to the port
    name string
    Name of the port (e.g. eth0, or bond0)
    type string
    One of [private_ipv4, public_ipv4, public_ipv6]
    bonded bool
    Whether this port is part of a bond in bonded network setup
    id str
    ID of the port
    mac str
    MAC address assigned to the port
    name str
    Name of the port (e.g. eth0, or bond0)
    type str
    One of [private_ipv4, public_ipv4, public_ipv6]
    bonded Boolean
    Whether this port is part of a bond in bonded network setup
    id String
    ID of the port
    mac String
    MAC address assigned to the port
    name String
    Name of the port (e.g. eth0, or bond0)
    type String
    One of [private_ipv4, public_ipv4, public_ipv6]

    DeviceReinstall, DeviceReinstallArgs

    DeprovisionFast bool
    Whether the OS disk should be filled with 00h bytes before reinstall. Defaults to false.
    Enabled bool
    Whether the provider should favour reinstall over destroy and create. Defaults to false.
    PreserveData bool
    Whether the non-OS disks should be kept or wiped during reinstall. Defaults to false.
    DeprovisionFast bool
    Whether the OS disk should be filled with 00h bytes before reinstall. Defaults to false.
    Enabled bool
    Whether the provider should favour reinstall over destroy and create. Defaults to false.
    PreserveData bool
    Whether the non-OS disks should be kept or wiped during reinstall. Defaults to false.
    deprovisionFast Boolean
    Whether the OS disk should be filled with 00h bytes before reinstall. Defaults to false.
    enabled Boolean
    Whether the provider should favour reinstall over destroy and create. Defaults to false.
    preserveData Boolean
    Whether the non-OS disks should be kept or wiped during reinstall. Defaults to false.
    deprovisionFast boolean
    Whether the OS disk should be filled with 00h bytes before reinstall. Defaults to false.
    enabled boolean
    Whether the provider should favour reinstall over destroy and create. Defaults to false.
    preserveData boolean
    Whether the non-OS disks should be kept or wiped during reinstall. Defaults to false.
    deprovision_fast bool
    Whether the OS disk should be filled with 00h bytes before reinstall. Defaults to false.
    enabled bool
    Whether the provider should favour reinstall over destroy and create. Defaults to false.
    preserve_data bool
    Whether the non-OS disks should be kept or wiped during reinstall. Defaults to false.
    deprovisionFast Boolean
    Whether the OS disk should be filled with 00h bytes before reinstall. Defaults to false.
    enabled Boolean
    Whether the provider should favour reinstall over destroy and create. Defaults to false.
    preserveData Boolean
    Whether the non-OS disks should be kept or wiped during reinstall. Defaults to false.

    Facility, FacilityArgs

    EWR1
    ewr1
    SJC1
    sjc1
    DFW1
    dfw1
    DFW2
    dfw2
    AMS1
    ams1
    NRT1
    nrt1
    SEA1
    sea1
    LAX1
    lax1
    ORD1
    ord1
    ATL1
    atl1
    IAD1
    iad1
    SIN1
    sin1
    HKG1
    hkg1
    SYD1
    syd1
    MRS1
    mrs1
    YYZ1
    yyz1
    FRA2
    fra2
    AM6
    am6
    DC13
    dc13
    CH3
    ch3
    DA3
    da3
    DA11
    da11
    LA4
    la4
    NY5
    ny5
    SG1
    sg1
    SV15
    sv15
    FacilityEWR1
    ewr1
    FacilitySJC1
    sjc1
    FacilityDFW1
    dfw1
    FacilityDFW2
    dfw2
    FacilityAMS1
    ams1
    FacilityNRT1
    nrt1
    FacilitySEA1
    sea1
    FacilityLAX1
    lax1
    FacilityORD1
    ord1
    FacilityATL1
    atl1
    FacilityIAD1
    iad1
    FacilitySIN1
    sin1
    FacilityHKG1
    hkg1
    FacilitySYD1
    syd1
    FacilityMRS1
    mrs1
    FacilityYYZ1
    yyz1
    FacilityFRA2
    fra2
    FacilityAM6
    am6
    FacilityDC13
    dc13
    FacilityCH3
    ch3
    FacilityDA3
    da3
    FacilityDA11
    da11
    FacilityLA4
    la4
    FacilityNY5
    ny5
    FacilitySG1
    sg1
    FacilitySV15
    sv15
    EWR1
    ewr1
    SJC1
    sjc1
    DFW1
    dfw1
    DFW2
    dfw2
    AMS1
    ams1
    NRT1
    nrt1
    SEA1
    sea1
    LAX1
    lax1
    ORD1
    ord1
    ATL1
    atl1
    IAD1
    iad1
    SIN1
    sin1
    HKG1
    hkg1
    SYD1
    syd1
    MRS1
    mrs1
    YYZ1
    yyz1
    FRA2
    fra2
    AM6
    am6
    DC13
    dc13
    CH3
    ch3
    DA3
    da3
    DA11
    da11
    LA4
    la4
    NY5
    ny5
    SG1
    sg1
    SV15
    sv15
    EWR1
    ewr1
    SJC1
    sjc1
    DFW1
    dfw1
    DFW2
    dfw2
    AMS1
    ams1
    NRT1
    nrt1
    SEA1
    sea1
    LAX1
    lax1
    ORD1
    ord1
    ATL1
    atl1
    IAD1
    iad1
    SIN1
    sin1
    HKG1
    hkg1
    SYD1
    syd1
    MRS1
    mrs1
    YYZ1
    yyz1
    FRA2
    fra2
    AM6
    am6
    DC13
    dc13
    CH3
    ch3
    DA3
    da3
    DA11
    da11
    LA4
    la4
    NY5
    ny5
    SG1
    sg1
    SV15
    sv15
    EWR1
    ewr1
    SJC1
    sjc1
    DFW1
    dfw1
    DFW2
    dfw2
    AMS1
    ams1
    NRT1
    nrt1
    SEA1
    sea1
    LAX1
    lax1
    ORD1
    ord1
    ATL1
    atl1
    IAD1
    iad1
    SIN1
    sin1
    HKG1
    hkg1
    SYD1
    syd1
    MRS1
    mrs1
    YYZ1
    yyz1
    FRA2
    fra2
    AM6
    am6
    DC13
    dc13
    CH3
    ch3
    DA3
    da3
    DA11
    da11
    LA4
    la4
    NY5
    ny5
    SG1
    sg1
    SV15
    sv15
    "ewr1"
    ewr1
    "sjc1"
    sjc1
    "dfw1"
    dfw1
    "dfw2"
    dfw2
    "ams1"
    ams1
    "nrt1"
    nrt1
    "sea1"
    sea1
    "lax1"
    lax1
    "ord1"
    ord1
    "atl1"
    atl1
    "iad1"
    iad1
    "sin1"
    sin1
    "hkg1"
    hkg1
    "syd1"
    syd1
    "mrs1"
    mrs1
    "yyz1"
    yyz1
    "fra2"
    fra2
    "am6"
    am6
    "dc13"
    dc13
    "ch3"
    ch3
    "da3"
    da3
    "da11"
    da11
    "la4"
    la4
    "ny5"
    ny5
    "sg1"
    sg1
    "sv15"
    sv15

    OperatingSystem, OperatingSystemArgs

    Alpine3
    alpine_3
    CentOS6
    centos_6
    CentOS7
    centos_7
    CentOS8
    centos_8
    CoreOSAlpha
    coreos_alpha
    CoreOSBeta
    coreos_beta
    CoreOSStable
    coreos_stable
    CustomIPXE
    custom_ipxe
    Debian8
    debian_8
    Debian9
    debian_9
    Debian10
    debian_10
    FlatcarAlpha
    flatcar_alpha
    FlatcarBeta
    flatcar_beta
    FlatcarEdge
    flatcar_edge
    FlatcarStable
    flatcar_stable
    FreeBSD10_4
    freebsd_10_4
    FreeBSD11_1
    freebsd_11_1
    FreeBSD11_2
    freebsd_11_2
    FreeBSD12Testing
    freebsd_12_testing
    NixOS18_03
    nixos_18_03
    NixOS19_03
    nixos_19_03
    OpenSUSE42_3
    opensuse_42_3
    RancherOS
    rancher
    RHEL7
    rhel_7
    RHEL8
    rhel_8
    ScientificLinux6
    scientific_6
    SLES12SP3
    suse_sles12_sp3
    Ubuntu1404
    ubuntu_14_04
    Ubuntu1604
    ubuntu_16_04
    Ubuntu1710
    ubuntu_17_10
    Ubuntu1804
    ubuntu_18_04
    Ubuntu2004
    ubuntu_20_04
    Ubuntu2010
    ubuntu_20_10
    VMWareEsxi6_5
    vmware_esxi_6_5
    VMWareEsxi6_7
    vmware_esxi_6_7
    VMWareEsxi7_0
    vmware_esxi_7_0
    Windows2012R2
    windows_2012_r2
    Windows2016
    windows_2016
    Windows2019
    windows_2019
    OperatingSystemAlpine3
    alpine_3
    OperatingSystemCentOS6
    centos_6
    OperatingSystemCentOS7
    centos_7
    OperatingSystemCentOS8
    centos_8
    OperatingSystemCoreOSAlpha
    coreos_alpha
    OperatingSystemCoreOSBeta
    coreos_beta
    OperatingSystemCoreOSStable
    coreos_stable
    OperatingSystemCustomIPXE
    custom_ipxe
    OperatingSystemDebian8
    debian_8
    OperatingSystemDebian9
    debian_9
    OperatingSystemDebian10
    debian_10
    OperatingSystemFlatcarAlpha
    flatcar_alpha
    OperatingSystemFlatcarBeta
    flatcar_beta
    OperatingSystemFlatcarEdge
    flatcar_edge
    OperatingSystemFlatcarStable
    flatcar_stable
    OperatingSystem_FreeBSD10_4
    freebsd_10_4
    OperatingSystem_FreeBSD11_1
    freebsd_11_1
    OperatingSystem_FreeBSD11_2
    freebsd_11_2
    OperatingSystemFreeBSD12Testing
    freebsd_12_testing
    OperatingSystem_NixOS18_03
    nixos_18_03
    OperatingSystem_NixOS19_03
    nixos_19_03
    OperatingSystem_OpenSUSE42_3
    opensuse_42_3
    OperatingSystemRancherOS
    rancher
    OperatingSystemRHEL7
    rhel_7
    OperatingSystemRHEL8
    rhel_8
    OperatingSystemScientificLinux6
    scientific_6
    OperatingSystemSLES12SP3
    suse_sles12_sp3
    OperatingSystemUbuntu1404
    ubuntu_14_04
    OperatingSystemUbuntu1604
    ubuntu_16_04
    OperatingSystemUbuntu1710
    ubuntu_17_10
    OperatingSystemUbuntu1804
    ubuntu_18_04
    OperatingSystemUbuntu2004
    ubuntu_20_04
    OperatingSystemUbuntu2010
    ubuntu_20_10
    OperatingSystem_VMWareEsxi6_5
    vmware_esxi_6_5
    OperatingSystem_VMWareEsxi6_7
    vmware_esxi_6_7
    OperatingSystem_VMWareEsxi7_0
    vmware_esxi_7_0
    OperatingSystemWindows2012R2
    windows_2012_r2
    OperatingSystemWindows2016
    windows_2016
    OperatingSystemWindows2019
    windows_2019
    Alpine3
    alpine_3
    CentOS6
    centos_6
    CentOS7
    centos_7
    CentOS8
    centos_8
    CoreOSAlpha
    coreos_alpha
    CoreOSBeta
    coreos_beta
    CoreOSStable
    coreos_stable
    CustomIPXE
    custom_ipxe
    Debian8
    debian_8
    Debian9
    debian_9
    Debian10
    debian_10
    FlatcarAlpha
    flatcar_alpha
    FlatcarBeta
    flatcar_beta
    FlatcarEdge
    flatcar_edge
    FlatcarStable
    flatcar_stable
    FreeBSD10_4
    freebsd_10_4
    FreeBSD11_1
    freebsd_11_1
    FreeBSD11_2
    freebsd_11_2
    FreeBSD12Testing
    freebsd_12_testing
    NixOS18_03
    nixos_18_03
    NixOS19_03
    nixos_19_03
    OpenSUSE42_3
    opensuse_42_3
    RancherOS
    rancher
    RHEL7
    rhel_7
    RHEL8
    rhel_8
    ScientificLinux6
    scientific_6
    SLES12SP3
    suse_sles12_sp3
    Ubuntu1404
    ubuntu_14_04
    Ubuntu1604
    ubuntu_16_04
    Ubuntu1710
    ubuntu_17_10
    Ubuntu1804
    ubuntu_18_04
    Ubuntu2004
    ubuntu_20_04
    Ubuntu2010
    ubuntu_20_10
    VMWareEsxi6_5
    vmware_esxi_6_5
    VMWareEsxi6_7
    vmware_esxi_6_7
    VMWareEsxi7_0
    vmware_esxi_7_0
    Windows2012R2
    windows_2012_r2
    Windows2016
    windows_2016
    Windows2019
    windows_2019
    Alpine3
    alpine_3
    CentOS6
    centos_6
    CentOS7
    centos_7
    CentOS8
    centos_8
    CoreOSAlpha
    coreos_alpha
    CoreOSBeta
    coreos_beta
    CoreOSStable
    coreos_stable
    CustomIPXE
    custom_ipxe
    Debian8
    debian_8
    Debian9
    debian_9
    Debian10
    debian_10
    FlatcarAlpha
    flatcar_alpha
    FlatcarBeta
    flatcar_beta
    FlatcarEdge
    flatcar_edge
    FlatcarStable
    flatcar_stable
    FreeBSD10_4
    freebsd_10_4
    FreeBSD11_1
    freebsd_11_1
    FreeBSD11_2
    freebsd_11_2
    FreeBSD12Testing
    freebsd_12_testing
    NixOS18_03
    nixos_18_03
    NixOS19_03
    nixos_19_03
    OpenSUSE42_3
    opensuse_42_3
    RancherOS
    rancher
    RHEL7
    rhel_7
    RHEL8
    rhel_8
    ScientificLinux6
    scientific_6
    SLES12SP3
    suse_sles12_sp3
    Ubuntu1404
    ubuntu_14_04
    Ubuntu1604
    ubuntu_16_04
    Ubuntu1710
    ubuntu_17_10
    Ubuntu1804
    ubuntu_18_04
    Ubuntu2004
    ubuntu_20_04
    Ubuntu2010
    ubuntu_20_10
    VMWareEsxi6_5
    vmware_esxi_6_5
    VMWareEsxi6_7
    vmware_esxi_6_7
    VMWareEsxi7_0
    vmware_esxi_7_0
    Windows2012R2
    windows_2012_r2
    Windows2016
    windows_2016
    Windows2019
    windows_2019
    ALPINE3
    alpine_3
    CENT_OS6
    centos_6
    CENT_OS7
    centos_7
    CENT_OS8
    centos_8
    CORE_OS_ALPHA
    coreos_alpha
    CORE_OS_BETA
    coreos_beta
    CORE_OS_STABLE
    coreos_stable
    CUSTOM_IPXE
    custom_ipxe
    DEBIAN8
    debian_8
    DEBIAN9
    debian_9
    DEBIAN10
    debian_10
    FLATCAR_ALPHA
    flatcar_alpha
    FLATCAR_BETA
    flatcar_beta
    FLATCAR_EDGE
    flatcar_edge
    FLATCAR_STABLE
    flatcar_stable
    FREE_BSD10_4
    freebsd_10_4
    FREE_BSD11_1
    freebsd_11_1
    FREE_BSD11_2
    freebsd_11_2
    FREE_BSD12_TESTING
    freebsd_12_testing
    NIX_OS18_03
    nixos_18_03
    NIX_OS19_03
    nixos_19_03
    OPEN_SUSE42_3
    opensuse_42_3
    RANCHER_OS
    rancher
    RHEL7
    rhel_7
    RHEL8
    rhel_8
    SCIENTIFIC_LINUX6
    scientific_6
    SLES12_SP3
    suse_sles12_sp3
    UBUNTU1404
    ubuntu_14_04
    UBUNTU1604
    ubuntu_16_04
    UBUNTU1710
    ubuntu_17_10
    UBUNTU1804
    ubuntu_18_04
    UBUNTU2004
    ubuntu_20_04
    UBUNTU2010
    ubuntu_20_10
    VM_WARE_ESXI6_5
    vmware_esxi_6_5
    VM_WARE_ESXI6_7
    vmware_esxi_6_7
    VM_WARE_ESXI7_0
    vmware_esxi_7_0
    WINDOWS2012_R2
    windows_2012_r2
    WINDOWS2016
    windows_2016
    WINDOWS2019
    windows_2019
    "alpine_3"
    alpine_3
    "centos_6"
    centos_6
    "centos_7"
    centos_7
    "centos_8"
    centos_8
    "coreos_alpha"
    coreos_alpha
    "coreos_beta"
    coreos_beta
    "coreos_stable"
    coreos_stable
    "custom_ipxe"
    custom_ipxe
    "debian_8"
    debian_8
    "debian_9"
    debian_9
    "debian_10"
    debian_10
    "flatcar_alpha"
    flatcar_alpha
    "flatcar_beta"
    flatcar_beta
    "flatcar_edge"
    flatcar_edge
    "flatcar_stable"
    flatcar_stable
    "freebsd_10_4"
    freebsd_10_4
    "freebsd_11_1"
    freebsd_11_1
    "freebsd_11_2"
    freebsd_11_2
    "freebsd_12_testing"
    freebsd_12_testing
    "nixos_18_03"
    nixos_18_03
    "nixos_19_03"
    nixos_19_03
    "opensuse_42_3"
    opensuse_42_3
    "rancher"
    rancher
    "rhel_7"
    rhel_7
    "rhel_8"
    rhel_8
    "scientific_6"
    scientific_6
    "suse_sles12_sp3"
    suse_sles12_sp3
    "ubuntu_14_04"
    ubuntu_14_04
    "ubuntu_16_04"
    ubuntu_16_04
    "ubuntu_17_10"
    ubuntu_17_10
    "ubuntu_18_04"
    ubuntu_18_04
    "ubuntu_20_04"
    ubuntu_20_04
    "ubuntu_20_10"
    ubuntu_20_10
    "vmware_esxi_6_5"
    vmware_esxi_6_5
    "vmware_esxi_6_7"
    vmware_esxi_6_7
    "vmware_esxi_7_0"
    vmware_esxi_7_0
    "windows_2012_r2"
    windows_2012_r2
    "windows_2016"
    windows_2016
    "windows_2019"
    windows_2019

    Plan, PlanArgs

    C2LargeARM
    c2.large.arm
    C2MediumX86
    c2.medium.x86
    C1SmallX86
    baremetal_1
    C1LargeARM
    baremetal_2a
    C1XLargeX86
    baremetal_3
    X2XLargeX86
    x2.xlarge.x86
    X1SmallX86
    baremetal_1e
    G2LargeX86
    g2.large.x86
    M2XLargeX86
    m2.xlarge.x86
    M1XLargeX86
    baremetal_2
    T1SmallX86
    baremetal_0
    S1LargeX86
    baremetal_s
    C3SmallX86
    c3.small.x86
    C3MediumX86
    c3.medium.x86
    F3MediumX86
    f3.medium.x86
    F3LargeX86
    f3.large.x86
    M3LargeX86
    m3.large.x86
    S3XLargeX86
    s3.xlarge.x86
    N2XLargeX86
    n2.xlarge.x86
    PlanC2LargeARM
    c2.large.arm
    PlanC2MediumX86
    c2.medium.x86
    PlanC1SmallX86
    baremetal_1
    PlanC1LargeARM
    baremetal_2a
    PlanC1XLargeX86
    baremetal_3
    PlanX2XLargeX86
    x2.xlarge.x86
    PlanX1SmallX86
    baremetal_1e
    PlanG2LargeX86
    g2.large.x86
    PlanM2XLargeX86
    m2.xlarge.x86
    PlanM1XLargeX86
    baremetal_2
    PlanT1SmallX86
    baremetal_0
    PlanS1LargeX86
    baremetal_s
    PlanC3SmallX86
    c3.small.x86
    PlanC3MediumX86
    c3.medium.x86
    PlanF3MediumX86
    f3.medium.x86
    PlanF3LargeX86
    f3.large.x86
    PlanM3LargeX86
    m3.large.x86
    PlanS3XLargeX86
    s3.xlarge.x86
    PlanN2XLargeX86
    n2.xlarge.x86
    C2LargeARM
    c2.large.arm
    C2MediumX86
    c2.medium.x86
    C1SmallX86
    baremetal_1
    C1LargeARM
    baremetal_2a
    C1XLargeX86
    baremetal_3
    X2XLargeX86
    x2.xlarge.x86
    X1SmallX86
    baremetal_1e
    G2LargeX86
    g2.large.x86
    M2XLargeX86
    m2.xlarge.x86
    M1XLargeX86
    baremetal_2
    T1SmallX86
    baremetal_0
    S1LargeX86
    baremetal_s
    C3SmallX86
    c3.small.x86
    C3MediumX86
    c3.medium.x86
    F3MediumX86
    f3.medium.x86
    F3LargeX86
    f3.large.x86
    M3LargeX86
    m3.large.x86
    S3XLargeX86
    s3.xlarge.x86
    N2XLargeX86
    n2.xlarge.x86
    C2LargeARM
    c2.large.arm
    C2MediumX86
    c2.medium.x86
    C1SmallX86
    baremetal_1
    C1LargeARM
    baremetal_2a
    C1XLargeX86
    baremetal_3
    X2XLargeX86
    x2.xlarge.x86
    X1SmallX86
    baremetal_1e
    G2LargeX86
    g2.large.x86
    M2XLargeX86
    m2.xlarge.x86
    M1XLargeX86
    baremetal_2
    T1SmallX86
    baremetal_0
    S1LargeX86
    baremetal_s
    C3SmallX86
    c3.small.x86
    C3MediumX86
    c3.medium.x86
    F3MediumX86
    f3.medium.x86
    F3LargeX86
    f3.large.x86
    M3LargeX86
    m3.large.x86
    S3XLargeX86
    s3.xlarge.x86
    N2XLargeX86
    n2.xlarge.x86
    C2_LARGE_ARM
    c2.large.arm
    C2_MEDIUM_X86
    c2.medium.x86
    C1_SMALL_X86
    baremetal_1
    C1_LARGE_ARM
    baremetal_2a
    C1_X_LARGE_X86
    baremetal_3
    X2_X_LARGE_X86
    x2.xlarge.x86
    X1_SMALL_X86
    baremetal_1e
    G2_LARGE_X86
    g2.large.x86
    M2_X_LARGE_X86
    m2.xlarge.x86
    M1_X_LARGE_X86
    baremetal_2
    T1_SMALL_X86
    baremetal_0
    S1_LARGE_X86
    baremetal_s
    C3_SMALL_X86
    c3.small.x86
    C3_MEDIUM_X86
    c3.medium.x86
    F3_MEDIUM_X86
    f3.medium.x86
    F3_LARGE_X86
    f3.large.x86
    M3_LARGE_X86
    m3.large.x86
    S3_X_LARGE_X86
    s3.xlarge.x86
    N2_X_LARGE_X86
    n2.xlarge.x86
    "c2.large.arm"
    c2.large.arm
    "c2.medium.x86"
    c2.medium.x86
    "baremetal_1"
    baremetal_1
    "baremetal_2a"
    baremetal_2a
    "baremetal_3"
    baremetal_3
    "x2.xlarge.x86"
    x2.xlarge.x86
    "baremetal_1e"
    baremetal_1e
    "g2.large.x86"
    g2.large.x86
    "m2.xlarge.x86"
    m2.xlarge.x86
    "baremetal_2"
    baremetal_2
    "baremetal_0"
    baremetal_0
    "baremetal_s"
    baremetal_s
    "c3.small.x86"
    c3.small.x86
    "c3.medium.x86"
    c3.medium.x86
    "f3.medium.x86"
    f3.medium.x86
    "f3.large.x86"
    f3.large.x86
    "m3.large.x86"
    m3.large.x86
    "s3.xlarge.x86"
    s3.xlarge.x86
    "n2.xlarge.x86"
    n2.xlarge.x86

    Import

    This resource can be imported using an existing device ID

     $ pulumi import equinix-metal:index/device:Device metal_device {existing_device_id}
    

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

    Package Details

    Repository
    Equinix Metal pulumi/pulumi-equinix-metal
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the metal Terraform Provider.
    equinix-metal logo

    This package is deprecated. We recommend using the new Equinix package.

    Equinix Metal v3.2.1 published on Thursday, Dec 30, 2021 by DEPRECATED