1. Packages
  2. Equinix
  3. API Docs
  4. metal
  5. Device
Equinix v0.18.0 published on Monday, Sep 23, 2024 by Equinix

equinix.metal.Device

Explore with Pulumi AI

equinix logo
Equinix v0.18.0 published on Monday, Sep 23, 2024 by Equinix

    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

    example 1

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Equinix = Pulumi.Equinix;
    
    return await Deployment.RunAsync(() => 
    {
        var web1 = new Equinix.Metal.Device("web1", new()
        {
            Hostname = "tf.coreos2",
            Plan = Equinix.Metal.Plan.C3SmallX86,
            Metro = "sv",
            OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,
            BillingCycle = Equinix.Metal.BillingCycle.Hourly,
            ProjectId = projectId,
        });
    
    });
    
    package main
    
    import (
    	"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := metal.NewDevice(ctx, "web1", &metal.DeviceArgs{
    			Hostname:        pulumi.String("tf.coreos2"),
    			Plan:            pulumi.String(metal.PlanC3SmallX86),
    			Metro:           pulumi.String("sv"),
    			OperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),
    			BillingCycle:    pulumi.String(metal.BillingCycleHourly),
    			ProjectId:       pulumi.Any(projectId),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.equinix.metal.Device;
    import com.pulumi.equinix.metal.DeviceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var web1 = new Device("web1", DeviceArgs.builder()
                .hostname("tf.coreos2")
                .plan("c3.small.x86")
                .metro("sv")
                .operatingSystem("ubuntu_20_04")
                .billingCycle("hourly")
                .projectId(projectId)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_equinix as equinix
    
    web1 = equinix.metal.Device("web1",
        hostname="tf.coreos2",
        plan=equinix.metal.Plan.C3_SMALL_X86,
        metro="sv",
        operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,
        billing_cycle=equinix.metal.BillingCycle.HOURLY,
        project_id=project_id)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix from "@equinix-labs/pulumi-equinix";
    
    const web1 = new equinix.metal.Device("web1", {
        hostname: "tf.coreos2",
        plan: equinix.metal.Plan.C3SmallX86,
        metro: "sv",
        operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,
        billingCycle: equinix.metal.BillingCycle.Hourly,
        projectId: projectId,
    });
    
    resources:
      web1:
        type: equinix:metal:Device
        properties:
          hostname: tf.coreos2
          plan: c3.small.x86
          metro: sv
          operatingSystem: ubuntu_20_04
          billingCycle: hourly
          projectId: ${projectId}
    

    example 2

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Equinix = Pulumi.Equinix;
    
    return await Deployment.RunAsync(() => 
    {
        var pxe1 = new Equinix.Metal.Device("pxe1", new()
        {
            Hostname = "tf.coreos2-pxe",
            Plan = Equinix.Metal.Plan.C3SmallX86,
            Metro = "sv",
            OperatingSystem = Equinix.Metal.OperatingSystem.CustomIPXE,
            BillingCycle = Equinix.Metal.BillingCycle.Hourly,
            ProjectId = projectId,
            IpxeScriptUrl = "https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe",
            AlwaysPxe = false,
            UserData = example.Rendered,
        });
    
    });
    
    package main
    
    import (
    	"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := metal.NewDevice(ctx, "pxe1", &metal.DeviceArgs{
    			Hostname:        pulumi.String("tf.coreos2-pxe"),
    			Plan:            pulumi.String(metal.PlanC3SmallX86),
    			Metro:           pulumi.String("sv"),
    			OperatingSystem: pulumi.String(metal.OperatingSystemCustomIPXE),
    			BillingCycle:    pulumi.String(metal.BillingCycleHourly),
    			ProjectId:       pulumi.Any(projectId),
    			IpxeScriptUrl:   pulumi.String("https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe"),
    			AlwaysPxe:       pulumi.Bool(false),
    			UserData:        pulumi.Any(example.Rendered),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.equinix.metal.Device;
    import com.pulumi.equinix.metal.DeviceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var pxe1 = new Device("pxe1", DeviceArgs.builder()
                .hostname("tf.coreos2-pxe")
                .plan("c3.small.x86")
                .metro("sv")
                .operatingSystem("custom_ipxe")
                .billingCycle("hourly")
                .projectId(projectId)
                .ipxeScriptUrl("https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe")
                .alwaysPxe("false")
                .userData(example.rendered())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_equinix as equinix
    
    pxe1 = equinix.metal.Device("pxe1",
        hostname="tf.coreos2-pxe",
        plan=equinix.metal.Plan.C3_SMALL_X86,
        metro="sv",
        operating_system=equinix.metal.OperatingSystem.CUSTOM_IPXE,
        billing_cycle=equinix.metal.BillingCycle.HOURLY,
        project_id=project_id,
        ipxe_script_url="https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe",
        always_pxe=False,
        user_data=example["rendered"])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix from "@equinix-labs/pulumi-equinix";
    
    const pxe1 = new equinix.metal.Device("pxe1", {
        hostname: "tf.coreos2-pxe",
        plan: equinix.metal.Plan.C3SmallX86,
        metro: "sv",
        operatingSystem: equinix.metal.OperatingSystem.CustomIPXE,
        billingCycle: equinix.metal.BillingCycle.Hourly,
        projectId: projectId,
        ipxeScriptUrl: "https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe",
        alwaysPxe: false,
        userData: example.rendered,
    });
    
    resources:
      pxe1:
        type: equinix:metal:Device
        properties:
          hostname: tf.coreos2-pxe
          plan: c3.small.x86
          metro: sv
          operatingSystem: custom_ipxe
          billingCycle: hourly
          projectId: ${projectId}
          ipxeScriptUrl: https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe
          alwaysPxe: 'false'
          userData: ${example.rendered}
    

    example 3

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Equinix = Pulumi.Equinix;
    
    return await Deployment.RunAsync(() => 
    {
        var web1 = new Equinix.Metal.Device("web1", new()
        {
            Hostname = "tf.coreos2",
            Plan = Equinix.Metal.Plan.C3SmallX86,
            Metro = "ny",
            OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,
            BillingCycle = Equinix.Metal.BillingCycle.Hourly,
            ProjectId = projectId,
            IpAddresses = new[]
            {
                new Equinix.Metal.Inputs.DeviceIpAddressArgs
                {
                    Type = "private_ipv4",
                    Cidr = 30,
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := metal.NewDevice(ctx, "web1", &metal.DeviceArgs{
    			Hostname:        pulumi.String("tf.coreos2"),
    			Plan:            pulumi.String(metal.PlanC3SmallX86),
    			Metro:           pulumi.String("ny"),
    			OperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),
    			BillingCycle:    pulumi.String(metal.BillingCycleHourly),
    			ProjectId:       pulumi.Any(projectId),
    			IpAddresses: metal.DeviceIpAddressArray{
    				&metal.DeviceIpAddressArgs{
    					Type: pulumi.String("private_ipv4"),
    					Cidr: pulumi.Int(30),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.equinix.metal.Device;
    import com.pulumi.equinix.metal.DeviceArgs;
    import com.pulumi.equinix.metal.inputs.DeviceIpAddressArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var web1 = new Device("web1", DeviceArgs.builder()
                .hostname("tf.coreos2")
                .plan("c3.small.x86")
                .metro("ny")
                .operatingSystem("ubuntu_20_04")
                .billingCycle("hourly")
                .projectId(projectId)
                .ipAddresses(DeviceIpAddressArgs.builder()
                    .type("private_ipv4")
                    .cidr(30)
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_equinix as equinix
    
    web1 = equinix.metal.Device("web1",
        hostname="tf.coreos2",
        plan=equinix.metal.Plan.C3_SMALL_X86,
        metro="ny",
        operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,
        billing_cycle=equinix.metal.BillingCycle.HOURLY,
        project_id=project_id,
        ip_addresses=[{
            "type": "private_ipv4",
            "cidr": 30,
        }])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix from "@equinix-labs/pulumi-equinix";
    
    const web1 = new equinix.metal.Device("web1", {
        hostname: "tf.coreos2",
        plan: equinix.metal.Plan.C3SmallX86,
        metro: "ny",
        operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,
        billingCycle: equinix.metal.BillingCycle.Hourly,
        projectId: projectId,
        ipAddresses: [{
            type: "private_ipv4",
            cidr: 30,
        }],
    });
    
    resources:
      web1:
        type: equinix:metal:Device
        properties:
          hostname: tf.coreos2
          plan: c3.small.x86
          metro: ny
          operatingSystem: ubuntu_20_04
          billingCycle: hourly
          projectId: ${projectId}
          ipAddresses:
            - type: private_ipv4
              cidr: 30
    

    example 4

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Equinix = Pulumi.Equinix;
    
    return await Deployment.RunAsync(() => 
    {
        var web1 = new Equinix.Metal.Device("web1", new()
        {
            Hostname = "tftest",
            Plan = Equinix.Metal.Plan.C3SmallX86,
            Metro = "ny",
            OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,
            BillingCycle = Equinix.Metal.BillingCycle.Hourly,
            ProjectId = projectId,
            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 (
    	"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := metal.NewDevice(ctx, "web1", &metal.DeviceArgs{
    			Hostname:              pulumi.String("tftest"),
    			Plan:                  pulumi.String(metal.PlanC3SmallX86),
    			Metro:                 pulumi.String("ny"),
    			OperatingSystem:       pulumi.String(metal.OperatingSystem_Ubuntu20_04),
    			BillingCycle:          pulumi.String(metal.BillingCycleHourly),
    			ProjectId:             pulumi.Any(projectId),
    			HardwareReservationId: pulumi.String("next-available"),
    			Storage: pulumi.String(`{
      "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"
              ]
            }
          }
        }
      ]
    }
    `),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.equinix.metal.Device;
    import com.pulumi.equinix.metal.DeviceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var web1 = new Device("web1", DeviceArgs.builder()
                .hostname("tftest")
                .plan("c3.small.x86")
                .metro("ny")
                .operatingSystem("ubuntu_20_04")
                .billingCycle("hourly")
                .projectId(projectId)
                .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"
              ]
            }
          }
        }
      ]
    }
                """)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_equinix as equinix
    
    web1 = equinix.metal.Device("web1",
        hostname="tftest",
        plan=equinix.metal.Plan.C3_SMALL_X86,
        metro="ny",
        operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,
        billing_cycle=equinix.metal.BillingCycle.HOURLY,
        project_id=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 from "@equinix-labs/pulumi-equinix";
    
    const web1 = new equinix.metal.Device("web1", {
        hostname: "tftest",
        plan: equinix.metal.Plan.C3SmallX86,
        metro: "ny",
        operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,
        billingCycle: equinix.metal.BillingCycle.Hourly,
        projectId: projectId,
        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"
              ]
            }
          }
        }
      ]
    }
    `,
    });
    
    resources:
      web1:
        type: equinix:metal:Device
        properties:
          hostname: tftest
          plan: c3.small.x86
          metro: ny
          operatingSystem: ubuntu_20_04
          billingCycle: hourly
          projectId: ${projectId}
          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"
                      ]
                    }
                  }
                }
              ]
            }        
    

    example 5

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Equinix = Pulumi.Equinix;
    
    return await Deployment.RunAsync(() => 
    {
        var pxe1 = new Equinix.Metal.Device("pxe1", new()
        {
            Hostname = "tf.coreos2-pxe",
            Plan = Equinix.Metal.Plan.C3SmallX86,
            Metro = "sv",
            OperatingSystem = Equinix.Metal.OperatingSystem.CustomIPXE,
            BillingCycle = Equinix.Metal.BillingCycle.Hourly,
            ProjectId = projectId,
            IpxeScriptUrl = "https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe",
            AlwaysPxe = false,
            UserData = userData,
            CustomData = customData,
            Behavior = new Equinix.Metal.Inputs.DeviceBehaviorArgs
            {
                AllowChanges = new[]
                {
                    "custom_data",
                    "user_data",
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := metal.NewDevice(ctx, "pxe1", &metal.DeviceArgs{
    			Hostname:        pulumi.String("tf.coreos2-pxe"),
    			Plan:            pulumi.String(metal.PlanC3SmallX86),
    			Metro:           pulumi.String("sv"),
    			OperatingSystem: pulumi.String(metal.OperatingSystemCustomIPXE),
    			BillingCycle:    pulumi.String(metal.BillingCycleHourly),
    			ProjectId:       pulumi.Any(projectId),
    			IpxeScriptUrl:   pulumi.String("https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe"),
    			AlwaysPxe:       pulumi.Bool(false),
    			UserData:        pulumi.Any(userData),
    			CustomData:      pulumi.Any(customData),
    			Behavior: &metal.DeviceBehaviorArgs{
    				AllowChanges: pulumi.StringArray{
    					pulumi.String("custom_data"),
    					pulumi.String("user_data"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.equinix.metal.Device;
    import com.pulumi.equinix.metal.DeviceArgs;
    import com.pulumi.equinix.metal.inputs.DeviceBehaviorArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var pxe1 = new Device("pxe1", DeviceArgs.builder()
                .hostname("tf.coreos2-pxe")
                .plan("c3.small.x86")
                .metro("sv")
                .operatingSystem("custom_ipxe")
                .billingCycle("hourly")
                .projectId(projectId)
                .ipxeScriptUrl("https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe")
                .alwaysPxe("false")
                .userData(userData)
                .customData(customData)
                .behavior(DeviceBehaviorArgs.builder()
                    .allowChanges(                
                        "custom_data",
                        "user_data")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_equinix as equinix
    
    pxe1 = equinix.metal.Device("pxe1",
        hostname="tf.coreos2-pxe",
        plan=equinix.metal.Plan.C3_SMALL_X86,
        metro="sv",
        operating_system=equinix.metal.OperatingSystem.CUSTOM_IPXE,
        billing_cycle=equinix.metal.BillingCycle.HOURLY,
        project_id=project_id,
        ipxe_script_url="https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe",
        always_pxe=False,
        user_data=user_data,
        custom_data=custom_data,
        behavior={
            "allow_changes": [
                "custom_data",
                "user_data",
            ],
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as equinix from "@equinix-labs/pulumi-equinix";
    
    const pxe1 = new equinix.metal.Device("pxe1", {
        hostname: "tf.coreos2-pxe",
        plan: equinix.metal.Plan.C3SmallX86,
        metro: "sv",
        operatingSystem: equinix.metal.OperatingSystem.CustomIPXE,
        billingCycle: equinix.metal.BillingCycle.Hourly,
        projectId: projectId,
        ipxeScriptUrl: "https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe",
        alwaysPxe: false,
        userData: userData,
        customData: customData,
        behavior: {
            allowChanges: [
                "custom_data",
                "user_data",
            ],
        },
    });
    
    resources:
      pxe1:
        type: equinix:metal:Device
        properties:
          hostname: tf.coreos2-pxe
          plan: c3.small.x86
          metro: sv
          operatingSystem: custom_ipxe
          billingCycle: hourly
          projectId: ${projectId}
          ipxeScriptUrl: https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe
          alwaysPxe: 'false'
          userData: ${userData}
          customData: ${customData}
          behavior:
            allowChanges:
              - custom_data
              - user_data
    

    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,
               billing_cycle: Optional[Union[str, BillingCycle]] = 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,
               always_pxe: Optional[bool] = None,
               custom_data: Optional[str] = None,
               description: Optional[str] = None,
               behavior: Optional[DeviceBehaviorArgs] = 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,
               user_ssh_key_ids: Optional[Sequence[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 Equinix.Metal.Device("deviceResource", new()
    {
        OperatingSystem = "string",
        ProjectId = "string",
        Plan = "string",
        Metro = "string",
        BillingCycle = "string",
        ForceDetachVolumes = false,
        HardwareReservationId = "string",
        Hostname = "string",
        IpAddresses = new[]
        {
            new Equinix.Metal.Inputs.DeviceIpAddressArgs
            {
                Type = "string",
                Cidr = 0,
                ReservationIds = new[]
                {
                    "string",
                },
            },
        },
        IpxeScriptUrl = "string",
        Locked = false,
        AlwaysPxe = false,
        CustomData = "string",
        Description = "string",
        Behavior = new Equinix.Metal.Inputs.DeviceBehaviorArgs
        {
            AllowChanges = new[]
            {
                "string",
            },
        },
        ProjectSshKeyIds = new[]
        {
            "string",
        },
        Reinstall = new Equinix.Metal.Inputs.DeviceReinstallArgs
        {
            DeprovisionFast = false,
            Enabled = false,
            PreserveData = false,
        },
        Storage = "string",
        Tags = new[]
        {
            "string",
        },
        TerminationTime = "string",
        UserData = "string",
        UserSshKeyIds = new[]
        {
            "string",
        },
        WaitForReservationDeprovision = false,
    });
    
    example, err := metal.NewDevice(ctx, "deviceResource", &metal.DeviceArgs{
    	OperatingSystem:       pulumi.String("string"),
    	ProjectId:             pulumi.String("string"),
    	Plan:                  pulumi.String("string"),
    	Metro:                 pulumi.String("string"),
    	BillingCycle:          pulumi.String("string"),
    	ForceDetachVolumes:    pulumi.Bool(false),
    	HardwareReservationId: pulumi.String("string"),
    	Hostname:              pulumi.String("string"),
    	IpAddresses: metal.DeviceIpAddressArray{
    		&metal.DeviceIpAddressArgs{
    			Type: pulumi.String("string"),
    			Cidr: pulumi.Int(0),
    			ReservationIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	IpxeScriptUrl: pulumi.String("string"),
    	Locked:        pulumi.Bool(false),
    	AlwaysPxe:     pulumi.Bool(false),
    	CustomData:    pulumi.String("string"),
    	Description:   pulumi.String("string"),
    	Behavior: &metal.DeviceBehaviorArgs{
    		AllowChanges: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	ProjectSshKeyIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Reinstall: &metal.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"),
    	UserSshKeyIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	WaitForReservationDeprovision: pulumi.Bool(false),
    })
    
    var deviceResource = new Device("deviceResource", DeviceArgs.builder()
        .operatingSystem("string")
        .projectId("string")
        .plan("string")
        .metro("string")
        .billingCycle("string")
        .forceDetachVolumes(false)
        .hardwareReservationId("string")
        .hostname("string")
        .ipAddresses(DeviceIpAddressArgs.builder()
            .type("string")
            .cidr(0)
            .reservationIds("string")
            .build())
        .ipxeScriptUrl("string")
        .locked(false)
        .alwaysPxe(false)
        .customData("string")
        .description("string")
        .behavior(DeviceBehaviorArgs.builder()
            .allowChanges("string")
            .build())
        .projectSshKeyIds("string")
        .reinstall(DeviceReinstallArgs.builder()
            .deprovisionFast(false)
            .enabled(false)
            .preserveData(false)
            .build())
        .storage("string")
        .tags("string")
        .terminationTime("string")
        .userData("string")
        .userSshKeyIds("string")
        .waitForReservationDeprovision(false)
        .build());
    
    device_resource = equinix.metal.Device("deviceResource",
        operating_system="string",
        project_id="string",
        plan="string",
        metro="string",
        billing_cycle="string",
        force_detach_volumes=False,
        hardware_reservation_id="string",
        hostname="string",
        ip_addresses=[equinix.metal.DeviceIpAddressArgs(
            type="string",
            cidr=0,
            reservation_ids=["string"],
        )],
        ipxe_script_url="string",
        locked=False,
        always_pxe=False,
        custom_data="string",
        description="string",
        behavior=equinix.metal.DeviceBehaviorArgs(
            allow_changes=["string"],
        ),
        project_ssh_key_ids=["string"],
        reinstall=equinix.metal.DeviceReinstallArgs(
            deprovision_fast=False,
            enabled=False,
            preserve_data=False,
        ),
        storage="string",
        tags=["string"],
        termination_time="string",
        user_data="string",
        user_ssh_key_ids=["string"],
        wait_for_reservation_deprovision=False)
    
    const deviceResource = new equinix.metal.Device("deviceResource", {
        operatingSystem: "string",
        projectId: "string",
        plan: "string",
        metro: "string",
        billingCycle: "string",
        forceDetachVolumes: false,
        hardwareReservationId: "string",
        hostname: "string",
        ipAddresses: [{
            type: "string",
            cidr: 0,
            reservationIds: ["string"],
        }],
        ipxeScriptUrl: "string",
        locked: false,
        alwaysPxe: false,
        customData: "string",
        description: "string",
        behavior: {
            allowChanges: ["string"],
        },
        projectSshKeyIds: ["string"],
        reinstall: {
            deprovisionFast: false,
            enabled: false,
            preserveData: false,
        },
        storage: "string",
        tags: ["string"],
        terminationTime: "string",
        userData: "string",
        userSshKeyIds: ["string"],
        waitForReservationDeprovision: false,
    });
    
    type: equinix:metal:Device
    properties:
        alwaysPxe: false
        behavior:
            allowChanges:
                - string
        billingCycle: string
        customData: string
        description: string
        forceDetachVolumes: false
        hardwareReservationId: string
        hostname: string
        ipAddresses:
            - cidr: 0
              reservationIds:
                - string
              type: string
        ipxeScriptUrl: string
        locked: false
        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
        userSshKeyIds:
            - 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

    The Device resource accepts the following input properties:

    OperatingSystem string | Pulumi.Equinix.Metal.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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    Plan string | Pulumi.Equinix.Metal.Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    ProjectId string
    The ID of the project in which to create the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will
    Behavior DeviceBehavior
    BillingCycle string | Pulumi.Equinix.Metal.BillingCycle
    monthly or hourly
    CustomData string
    A string of the desired Custom Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    Description string
    Description string for the device
    Facilities List<Union<string, Pulumi.Equinix.Metal.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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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<DeviceIpAddress>
    A list of IP address types for the device (structure is documented below)
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More
    Locked bool
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    Reinstall DeviceReinstall
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    UserSshKeyIds List<string>
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    Plan string | Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    ProjectId string
    The ID of the project in which to create the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will
    Behavior DeviceBehaviorArgs
    BillingCycle string | BillingCycle
    monthly or hourly
    CustomData string
    A string of the desired Custom Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    Description string
    Description string for the device
    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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    Locked bool
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    Reinstall DeviceReinstallArgs
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    UserSshKeyIds []string
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    plan String | Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    projectId String
    The ID of the project in which to create the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will
    behavior DeviceBehavior
    billingCycle String | BillingCycle
    monthly or hourly
    customData String
    A string of the desired Custom Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    description String
    Description string for the device
    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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    locked Boolean
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    reinstall DeviceReinstall
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    userSshKeyIds List<String>
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    plan string | Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    projectId string
    The ID of the project in which to create the device
    alwaysPxe boolean
    If true, a device with OS custom_ipxe will
    behavior DeviceBehavior
    billingCycle string | BillingCycle
    monthly or hourly
    customData string
    A string of the desired Custom Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    description string
    Description string for the device
    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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    locked boolean
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    reinstall DeviceReinstall
    storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    userSshKeyIds string[]
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    plan str | Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    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
    behavior DeviceBehaviorArgs
    billing_cycle str | BillingCycle
    monthly or hourly
    custom_data str
    A string of the desired Custom Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    description str
    Description string for the device
    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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    locked bool
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    reinstall DeviceReinstallArgs
    storage str
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    user_ssh_key_ids Sequence[str]
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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 | "alma_8" | "alma_9" | "alpine_3" | "centos_6" | "centos_7" | "centos_8" | "coreos_alpha" | "coreos_beta" | "coreos_stable" | "custom_ipxe" | "debian_10" | "debian_11" | "debian_7" | "debian_8" | "debian_9" | "fedora_31" | "fedora_34" | "flatcar_alpha" | "flatcar_beta" | "flatcar_edge" | "flatcar_lts" | "flatcar_stable" | "freebsd_10_3" | "freebsd_10_4" | "freebsd_11_0" | "freebsd_11_1" | "freebsd_11_2" | "freebsd_11_3" | "freebsd_11_4" | "freebsd_12_testing" | "freebsd_12_1" | "freebsd_13_0" | "freebsd_13_1" | "freebsd_13_testing" | "hook_esxi7" | "nixos_17_03" | "nixos_18_03" | "nixos_19_03" | "nixos_20_09" | "nixos_21_11" | "nixos_22_05" | "nixos_22_11" | "nixos_21_05" | "nutanix_centos" | "nutanix_lts_5_19_1" | "nutanix_lts_5_20" | "opensuse_42_3" | "rhel_7" | "rhel_8" | "rhel_9" | "rancher" | "rocky_8" | "rocky_9" | "suse_sles12_sp3" | "scientific_6" | "talos_v1" | "ubuntu_17_10" | "ubuntu_18_04" | "ubuntu_19_04" | "ubuntu_19_10" | "ubuntu_20_04" | "ubuntu_20_04_legacy" | "ubuntu_20_10" | "ubuntu_22_04" | "vmware_alloy_vcf" | "vmware_esxi_5_5" | "vmware_esxi_6_0" | "vmware_esxi_6_5" | "vmware_esxi_6_7" | "vmware_esxi_6_7_vcf" | "vmware_esxi_7_0" | "vmware_esxi_7_0U2a" | "vmware_esxi_7_0_vcf" | "vmware_nsx_2_5_0" | "vmware_nsx_3_0_0" | "virtuozzo_7" | "windows_2012_r2" | "windows_2016" | "windows_2019" | "windows_2022"
    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    plan String | "a3.large.x86" | "c2.large.arm" | "c2.medium.x86" | "c3.large.arm64" | "c3.medium.x86" | "c3.small.x86" | "f3.large.x86" | "f3.medium.x86" | "g2.large.x86" | "m2.xlarge.x86" | "m3.large.x86" | "m3.small.x86" | "n2.xlarge.x86" | "n3.xlarge.x86" | "s3.xlarge.x86" | "t3.small.x86" | "x2.xlarge.x86" | "x3.xlarge.x86"
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    projectId String
    The ID of the project in which to create the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will
    behavior Property Map
    billingCycle String | "hourly" | "monthly"
    monthly or hourly
    customData String
    A string of the desired Custom Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    description String
    Description string for the device
    facilities List<String | "am2" | "am6" | "ma5" | "nrt1" | "pa4" | "sk2" | "me2" | "hk2" | "ty11" | "la4" | "da6" | "da11" | "da3" | "sp4" | "mt1" | "sv16" | "sjc1" | "fra2" | "fr8" | "ny5" | "ny6" | "ny7" | "ch3" | "sl1" | "sy5" | "os3" | "ld7" | "dc10" | "ams1" | "sg4" | "se4" | "sy4" | "at4" | "dfw2" | "tr2" | "dc13" | "he7" | "ewr1" | "sg5" | "sg1" | "md2" | "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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    locked Boolean
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    reinstall Property Map
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    userSshKeyIds List<String>
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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.
    Network 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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    Ports List<DevicePort>
    Ports assigned to the device
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SosHostname string
    The hostname to use for Serial over SSH access to the device
    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

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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.
    Network []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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    Ports []DevicePort
    Ports assigned to the device
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SosHostname string
    The hostname to use for Serial over SSH access to the device
    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

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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.
    network 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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    ports List<DevicePort>
    Ports assigned to the device
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sosHostname String
    The hostname to use for Serial over SSH access to the device
    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

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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.
    network 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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    ports DevicePort[]
    Ports assigned to the device
    rootPassword string
    Root password to the server (disabled after 24 hours)
    sosHostname string
    The hostname to use for Serial over SSH access to the device
    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

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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.
    network 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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    ports Sequence[DevicePort]
    Ports assigned to the device
    root_password str
    Root password to the server (disabled after 24 hours)
    sos_hostname str
    The hostname to use for Serial over SSH access to the device
    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

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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.
    network 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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    ports List<Property Map>
    Ports assigned to the device
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sosHostname String
    The hostname to use for Serial over SSH access to the device
    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,
            behavior: Optional[DeviceBehaviorArgs] = 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: Optional[Sequence[DeviceNetworkArgs]] = None,
            network_type: Optional[Union[str, NetworkType]] = 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,
            sos_hostname: 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,
            user_ssh_key_ids: Optional[Sequence[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
    Behavior DeviceBehavior
    BillingCycle string | Pulumi.Equinix.Metal.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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    DeployedFacility string
    The facility where the device is deployed

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    DeployedHardwareReservationId string
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation
    Description string
    Description string for the device
    Facilities List<Union<string, Pulumi.Equinix.Metal.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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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<DeviceIpAddress>
    A list of IP address types for the device (structure is documented below)
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More
    Locked bool
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    Metro string
    Metro area for the new device. Conflicts with facilities
    Network 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 addresses: public ipv4, private ipv4 and ipv6
    NetworkType string | Pulumi.Equinix.Metal.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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    OperatingSystem string | Pulumi.Equinix.Metal.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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    Plan string | Pulumi.Equinix.Metal.Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    Reinstall DeviceReinstall
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SosHostname string
    The hostname to use for Serial over SSH access to the device
    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
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    UserSshKeyIds List<string>
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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
    Behavior DeviceBehaviorArgs
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    DeployedFacility string
    The facility where the device is deployed

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    DeployedHardwareReservationId string
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation
    Description string
    Description string for the device
    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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    Locked bool
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    Metro string
    Metro area for the new device. Conflicts with facilities
    Network []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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    Plan string | Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    Reinstall DeviceReinstallArgs
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SosHostname string
    The hostname to use for Serial over SSH access to the device
    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
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    UserSshKeyIds []string
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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
    behavior DeviceBehavior
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    deployedFacility String
    The facility where the device is deployed

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    deployedHardwareReservationId String
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation
    description String
    Description string for the device
    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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    locked Boolean
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    metro String
    Metro area for the new device. Conflicts with facilities
    network 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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    plan String | Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    reinstall DeviceReinstall
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sosHostname String
    The hostname to use for Serial over SSH access to the device
    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
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    userSshKeyIds List<String>
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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
    behavior DeviceBehavior
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    deployedFacility string
    The facility where the device is deployed

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    deployedHardwareReservationId string
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation
    description string
    Description string for the device
    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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    locked boolean
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    metro string
    Metro area for the new device. Conflicts with facilities
    network 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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    plan string | Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    reinstall DeviceReinstall
    rootPassword string
    Root password to the server (disabled after 24 hours)
    sosHostname string
    The hostname to use for Serial over SSH access to the device
    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
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    userSshKeyIds string[]
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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
    behavior DeviceBehaviorArgs
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    deployed_facility str
    The facility where the device is deployed

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    Description string for the device
    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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    locked bool
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    metro str
    Metro area for the new device. Conflicts with facilities
    network 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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    plan str | Plan
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    reinstall DeviceReinstallArgs
    root_password str
    Root password to the server (disabled after 24 hours)
    sos_hostname str
    The hostname to use for Serial over SSH access to the device
    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
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    user_ssh_key_ids Sequence[str]
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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
    behavior Property Map
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "custom_data", the device will be updated in-place instead of recreated.
    deployedFacility String
    The facility where the device is deployed

    Deprecated: Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    deployedHardwareReservationId String
    ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation
    description String
    Description string for the device
    facilities List<String | "am2" | "am6" | "ma5" | "nrt1" | "pa4" | "sk2" | "me2" | "hk2" | "ty11" | "la4" | "da6" | "da11" | "da3" | "sp4" | "mt1" | "sv16" | "sjc1" | "fra2" | "fr8" | "ny5" | "ny6" | "ny7" | "ch3" | "sl1" | "sy5" | "os3" | "ld7" | "dc10" | "ams1" | "sg4" | "se4" | "sy4" | "at4" | "dfw2" | "tr2" | "dc13" | "he7" | "ewr1" | "sg5" | "sg1" | "md2" | "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

    Deprecated: Use metro instead of facilities. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices

    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
    locked Boolean
    Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
    metro String
    Metro area for the new device. Conflicts with facilities
    network 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 addresses: public ipv4, private ipv4 and ipv6
    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 one of 'equinix_metal_port' or 'equinix_metal_device_network_type' resources. See section 'Guides' for more info

    operatingSystem String | "alma_8" | "alma_9" | "alpine_3" | "centos_6" | "centos_7" | "centos_8" | "coreos_alpha" | "coreos_beta" | "coreos_stable" | "custom_ipxe" | "debian_10" | "debian_11" | "debian_7" | "debian_8" | "debian_9" | "fedora_31" | "fedora_34" | "flatcar_alpha" | "flatcar_beta" | "flatcar_edge" | "flatcar_lts" | "flatcar_stable" | "freebsd_10_3" | "freebsd_10_4" | "freebsd_11_0" | "freebsd_11_1" | "freebsd_11_2" | "freebsd_11_3" | "freebsd_11_4" | "freebsd_12_testing" | "freebsd_12_1" | "freebsd_13_0" | "freebsd_13_1" | "freebsd_13_testing" | "hook_esxi7" | "nixos_17_03" | "nixos_18_03" | "nixos_19_03" | "nixos_20_09" | "nixos_21_11" | "nixos_22_05" | "nixos_22_11" | "nixos_21_05" | "nutanix_centos" | "nutanix_lts_5_19_1" | "nutanix_lts_5_20" | "opensuse_42_3" | "rhel_7" | "rhel_8" | "rhel_9" | "rancher" | "rocky_8" | "rocky_9" | "suse_sles12_sp3" | "scientific_6" | "talos_v1" | "ubuntu_17_10" | "ubuntu_18_04" | "ubuntu_19_04" | "ubuntu_19_10" | "ubuntu_20_04" | "ubuntu_20_04_legacy" | "ubuntu_20_10" | "ubuntu_22_04" | "vmware_alloy_vcf" | "vmware_esxi_5_5" | "vmware_esxi_6_0" | "vmware_esxi_6_5" | "vmware_esxi_6_7" | "vmware_esxi_6_7_vcf" | "vmware_esxi_7_0" | "vmware_esxi_7_0U2a" | "vmware_esxi_7_0_vcf" | "vmware_nsx_2_5_0" | "vmware_nsx_3_0_0" | "virtuozzo_7" | "windows_2012_r2" | "windows_2016" | "windows_2019" | "windows_2022"
    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. By default, changing this attribute will cause your device to be deleted and recreated. If reinstall is enabled, the device will be updated in-place instead of recreated.
    plan String | "a3.large.x86" | "c2.large.arm" | "c2.medium.x86" | "c3.large.arm64" | "c3.medium.x86" | "c3.small.x86" | "f3.large.x86" | "f3.medium.x86" | "g2.large.x86" | "m2.xlarge.x86" | "m3.large.x86" | "m3.small.x86" | "n2.xlarge.x86" | "n3.xlarge.x86" | "s3.xlarge.x86" | "t3.small.x86" | "x2.xlarge.x86" | "x3.xlarge.x86"
    The device plan slug. To find the plan slug, visit the bare-metal server and plan documentation
    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 specify this array, only the listed project SSH keys (and any SSH keys for the users specified in usersshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the equinixmetalprojectssh*key resource
    reinstall Property Map
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sosHostname String
    The hostname to use for Serial over SSH access to the device
    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
    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. By default, changing this attribute will cause the provider to destroy and recreate your device. If reinstall is specified or behavior.allow_changes includes "user_data", the device will be updated in-place instead of recreated.
    userSshKeyIds List<String>
    Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in projectsshkeyids) will be added. If no SSH keys are specified (both usersshkeysids and projectsshkeyids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the equinixmetalsshkey resource
    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

    DeviceBehavior, DeviceBehaviorArgs

    AllowChanges List<string>
    List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data
    AllowChanges []string
    List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data
    allowChanges List<String>
    List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data
    allowChanges string[]
    List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data
    allow_changes Sequence[str]
    List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data
    allowChanges List<String>
    List of attributes that are allowed to change without recreating the instance. Supported attributes: custom_data, user_data

    DeviceIpAddress, DeviceIpAddressArgs

    Type string
    one of publicipv4,privateipv4,public_ipv6
    Cidr int
    CIDR suffix for IP block assigned to this device
    ReservationIds List<string>
    IDs of reservations to pick the blocks from
    Type string
    one of publicipv4,privateipv4,public_ipv6
    Cidr int
    CIDR suffix for IP block assigned to this device
    ReservationIds []string
    IDs of reservations to pick the blocks from
    type String
    one of publicipv4,privateipv4,public_ipv6
    cidr Integer
    CIDR suffix for IP block assigned to this device
    reservationIds List<String>
    IDs of reservations to pick the blocks from
    type string
    one of publicipv4,privateipv4,public_ipv6
    cidr number
    CIDR suffix for IP block assigned to this device
    reservationIds string[]
    IDs of reservations to pick the blocks from
    type str
    one of publicipv4,privateipv4,public_ipv6
    cidr int
    CIDR suffix for IP block assigned to this device
    reservation_ids Sequence[str]
    IDs of reservations to pick the blocks from
    type String
    one of publicipv4,privateipv4,public_ipv6
    cidr Number
    CIDR suffix for IP block assigned to this device
    reservationIds List<String>
    IDs of reservations to pick the blocks from

    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"
    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"
    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"
    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"
    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"
    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"
    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
    The ID of the device
    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
    The ID of the device
    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
    The ID of the device
    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
    The ID of the device
    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
    The ID of the device
    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
    The ID of the device
    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
    Enabled bool
    Whether the device should be reinstalled instead of destroyed
    PreserveData bool
    Whether the non-OS disks should be kept or wiped during reinstall
    DeprovisionFast bool
    Whether the OS disk should be filled with 00h bytes before reinstall
    Enabled bool
    Whether the device should be reinstalled instead of destroyed
    PreserveData bool
    Whether the non-OS disks should be kept or wiped during reinstall
    deprovisionFast Boolean
    Whether the OS disk should be filled with 00h bytes before reinstall
    enabled Boolean
    Whether the device should be reinstalled instead of destroyed
    preserveData Boolean
    Whether the non-OS disks should be kept or wiped during reinstall
    deprovisionFast boolean
    Whether the OS disk should be filled with 00h bytes before reinstall
    enabled boolean
    Whether the device should be reinstalled instead of destroyed
    preserveData boolean
    Whether the non-OS disks should be kept or wiped during reinstall
    deprovision_fast bool
    Whether the OS disk should be filled with 00h bytes before reinstall
    enabled bool
    Whether the device should be reinstalled instead of destroyed
    preserve_data bool
    Whether the non-OS disks should be kept or wiped during reinstall
    deprovisionFast Boolean
    Whether the OS disk should be filled with 00h bytes before reinstall
    enabled Boolean
    Whether the device should be reinstalled instead of destroyed
    preserveData Boolean
    Whether the non-OS disks should be kept or wiped during reinstall

    Facility, FacilityArgs

    AM2
    am2Amsterdam 2
    AM6
    am6Amsterdam 6
    MA5
    ma5Manchester 5
    NRT1
    nrt1Tokio 1
    PA4
    pa4Paris 4
    SK2
    sk2Stockholm 2
    ME2
    me2Melbourne 2
    HK2
    hk2Hong Kong 2
    TY11
    ty11Tokyo 11
    LA4
    la4Los Angeles 4
    DA6
    da6Dallas 6
    DA11
    da11Dallas 11
    DA3
    da3Dallas 3
    SP4
    sp4Sao Paulo 4
    MT1
    mt1Montreal 1
    SV16
    sv16Silicon Valley 16
    SJC1
    sjc1Sunnyvale, CA 1
    FRA2
    fra2Frankfurt 2
    FRA8
    fr8Frankfurt 8
    NY5
    ny5New York 5
    NY6
    ny6New York 6
    NY7
    ny7New York 7
    CH3
    ch3Chicago 3
    SL1
    sl1Seoul 1
    SY5
    sy5Sydney 5
    OS3
    os3Osaka 3
    LD7
    ld7London 7
    DC10
    dc10Washington DC 10
    AMS1
    ams1Amsterdam 1
    SG4
    sg4Singapore 4
    SE4
    se4Seattle 4
    SY4
    sy4Sydney 4
    AT4
    at4Atlanta 4
    DFW2
    dfw2Dallas 2
    TR2
    tr2Toronto
    DC13
    dc13Washington DC
    HE7
    he7Helsinki
    EWR1
    ewr1Parsippany, NJ 1
    SG5
    sg5Singapore 5
    SG1
    sg1Singapore 1
    MD2
    md2Madrid 2
    SV15
    sv15Silicon Valley 15
    FacilityAM2
    am2Amsterdam 2
    FacilityAM6
    am6Amsterdam 6
    FacilityMA5
    ma5Manchester 5
    FacilityNRT1
    nrt1Tokio 1
    FacilityPA4
    pa4Paris 4
    FacilitySK2
    sk2Stockholm 2
    FacilityME2
    me2Melbourne 2
    FacilityHK2
    hk2Hong Kong 2
    FacilityTY11
    ty11Tokyo 11
    FacilityLA4
    la4Los Angeles 4
    FacilityDA6
    da6Dallas 6
    FacilityDA11
    da11Dallas 11
    FacilityDA3
    da3Dallas 3
    FacilitySP4
    sp4Sao Paulo 4
    FacilityMT1
    mt1Montreal 1
    FacilitySV16
    sv16Silicon Valley 16
    FacilitySJC1
    sjc1Sunnyvale, CA 1
    FacilityFRA2
    fra2Frankfurt 2
    FacilityFRA8
    fr8Frankfurt 8
    FacilityNY5
    ny5New York 5
    FacilityNY6
    ny6New York 6
    FacilityNY7
    ny7New York 7
    FacilityCH3
    ch3Chicago 3
    FacilitySL1
    sl1Seoul 1
    FacilitySY5
    sy5Sydney 5
    FacilityOS3
    os3Osaka 3
    FacilityLD7
    ld7London 7
    FacilityDC10
    dc10Washington DC 10
    FacilityAMS1
    ams1Amsterdam 1
    FacilitySG4
    sg4Singapore 4
    FacilitySE4
    se4Seattle 4
    FacilitySY4
    sy4Sydney 4
    FacilityAT4
    at4Atlanta 4
    FacilityDFW2
    dfw2Dallas 2
    FacilityTR2
    tr2Toronto
    FacilityDC13
    dc13Washington DC
    FacilityHE7
    he7Helsinki
    FacilityEWR1
    ewr1Parsippany, NJ 1
    FacilitySG5
    sg5Singapore 5
    FacilitySG1
    sg1Singapore 1
    FacilityMD2
    md2Madrid 2
    FacilitySV15
    sv15Silicon Valley 15
    AM2
    am2Amsterdam 2
    AM6
    am6Amsterdam 6
    MA5
    ma5Manchester 5
    NRT1
    nrt1Tokio 1
    PA4
    pa4Paris 4
    SK2
    sk2Stockholm 2
    ME2
    me2Melbourne 2
    HK2
    hk2Hong Kong 2
    TY11
    ty11Tokyo 11
    LA4
    la4Los Angeles 4
    DA6
    da6Dallas 6
    DA11
    da11Dallas 11
    DA3
    da3Dallas 3
    SP4
    sp4Sao Paulo 4
    MT1
    mt1Montreal 1
    SV16
    sv16Silicon Valley 16
    SJC1
    sjc1Sunnyvale, CA 1
    FRA2
    fra2Frankfurt 2
    FRA8
    fr8Frankfurt 8
    NY5
    ny5New York 5
    NY6
    ny6New York 6
    NY7
    ny7New York 7
    CH3
    ch3Chicago 3
    SL1
    sl1Seoul 1
    SY5
    sy5Sydney 5
    OS3
    os3Osaka 3
    LD7
    ld7London 7
    DC10
    dc10Washington DC 10
    AMS1
    ams1Amsterdam 1
    SG4
    sg4Singapore 4
    SE4
    se4Seattle 4
    SY4
    sy4Sydney 4
    AT4
    at4Atlanta 4
    DFW2
    dfw2Dallas 2
    TR2
    tr2Toronto
    DC13
    dc13Washington DC
    HE7
    he7Helsinki
    EWR1
    ewr1Parsippany, NJ 1
    SG5
    sg5Singapore 5
    SG1
    sg1Singapore 1
    MD2
    md2Madrid 2
    SV15
    sv15Silicon Valley 15
    AM2
    am2Amsterdam 2
    AM6
    am6Amsterdam 6
    MA5
    ma5Manchester 5
    NRT1
    nrt1Tokio 1
    PA4
    pa4Paris 4
    SK2
    sk2Stockholm 2
    ME2
    me2Melbourne 2
    HK2
    hk2Hong Kong 2
    TY11
    ty11Tokyo 11
    LA4
    la4Los Angeles 4
    DA6
    da6Dallas 6
    DA11
    da11Dallas 11
    DA3
    da3Dallas 3
    SP4
    sp4Sao Paulo 4
    MT1
    mt1Montreal 1
    SV16
    sv16Silicon Valley 16
    SJC1
    sjc1Sunnyvale, CA 1
    FRA2
    fra2Frankfurt 2
    FRA8
    fr8Frankfurt 8
    NY5
    ny5New York 5
    NY6
    ny6New York 6
    NY7
    ny7New York 7
    CH3
    ch3Chicago 3
    SL1
    sl1Seoul 1
    SY5
    sy5Sydney 5
    OS3
    os3Osaka 3
    LD7
    ld7London 7
    DC10
    dc10Washington DC 10
    AMS1
    ams1Amsterdam 1
    SG4
    sg4Singapore 4
    SE4
    se4Seattle 4
    SY4
    sy4Sydney 4
    AT4
    at4Atlanta 4
    DFW2
    dfw2Dallas 2
    TR2
    tr2Toronto
    DC13
    dc13Washington DC
    HE7
    he7Helsinki
    EWR1
    ewr1Parsippany, NJ 1
    SG5
    sg5Singapore 5
    SG1
    sg1Singapore 1
    MD2
    md2Madrid 2
    SV15
    sv15Silicon Valley 15
    AM2
    am2Amsterdam 2
    AM6
    am6Amsterdam 6
    MA5
    ma5Manchester 5
    NRT1
    nrt1Tokio 1
    PA4
    pa4Paris 4
    SK2
    sk2Stockholm 2
    ME2
    me2Melbourne 2
    HK2
    hk2Hong Kong 2
    TY11
    ty11Tokyo 11
    LA4
    la4Los Angeles 4
    DA6
    da6Dallas 6
    DA11
    da11Dallas 11
    DA3
    da3Dallas 3
    SP4
    sp4Sao Paulo 4
    MT1
    mt1Montreal 1
    SV16
    sv16Silicon Valley 16
    SJC1
    sjc1Sunnyvale, CA 1
    FRA2
    fra2Frankfurt 2
    FRA8
    fr8Frankfurt 8
    NY5
    ny5New York 5
    NY6
    ny6New York 6
    NY7
    ny7New York 7
    CH3
    ch3Chicago 3
    SL1
    sl1Seoul 1
    SY5
    sy5Sydney 5
    OS3
    os3Osaka 3
    LD7
    ld7London 7
    DC10
    dc10Washington DC 10
    AMS1
    ams1Amsterdam 1
    SG4
    sg4Singapore 4
    SE4
    se4Seattle 4
    SY4
    sy4Sydney 4
    AT4
    at4Atlanta 4
    DFW2
    dfw2Dallas 2
    TR2
    tr2Toronto
    DC13
    dc13Washington DC
    HE7
    he7Helsinki
    EWR1
    ewr1Parsippany, NJ 1
    SG5
    sg5Singapore 5
    SG1
    sg1Singapore 1
    MD2
    md2Madrid 2
    SV15
    sv15Silicon Valley 15
    "am2"
    am2Amsterdam 2
    "am6"
    am6Amsterdam 6
    "ma5"
    ma5Manchester 5
    "nrt1"
    nrt1Tokio 1
    "pa4"
    pa4Paris 4
    "sk2"
    sk2Stockholm 2
    "me2"
    me2Melbourne 2
    "hk2"
    hk2Hong Kong 2
    "ty11"
    ty11Tokyo 11
    "la4"
    la4Los Angeles 4
    "da6"
    da6Dallas 6
    "da11"
    da11Dallas 11
    "da3"
    da3Dallas 3
    "sp4"
    sp4Sao Paulo 4
    "mt1"
    mt1Montreal 1
    "sv16"
    sv16Silicon Valley 16
    "sjc1"
    sjc1Sunnyvale, CA 1
    "fra2"
    fra2Frankfurt 2
    "fr8"
    fr8Frankfurt 8
    "ny5"
    ny5New York 5
    "ny6"
    ny6New York 6
    "ny7"
    ny7New York 7
    "ch3"
    ch3Chicago 3
    "sl1"
    sl1Seoul 1
    "sy5"
    sy5Sydney 5
    "os3"
    os3Osaka 3
    "ld7"
    ld7London 7
    "dc10"
    dc10Washington DC 10
    "ams1"
    ams1Amsterdam 1
    "sg4"
    sg4Singapore 4
    "se4"
    se4Seattle 4
    "sy4"
    sy4Sydney 4
    "at4"
    at4Atlanta 4
    "dfw2"
    dfw2Dallas 2
    "tr2"
    tr2Toronto
    "dc13"
    dc13Washington DC
    "he7"
    he7Helsinki
    "ewr1"
    ewr1Parsippany, NJ 1
    "sg5"
    sg5Singapore 5
    "sg1"
    sg1Singapore 1
    "md2"
    md2Madrid 2
    "sv15"
    sv15Silicon Valley 15

    OperatingSystem, OperatingSystemArgs

    Alma8
    alma_8
    Alma9
    alma_9
    Alpine3
    alpine_3
    CentOS6
    centos_6
    CentOS7
    centos_7
    CentOS8
    centos_8
    CoreOSAlpha
    coreos_alpha
    CoreOSBeta
    coreos_beta
    CoreOSStable
    coreos_stable
    CustomIPXE
    custom_ipxe
    Debian10
    debian_10
    Debian11
    debian_11
    Debian7
    debian_7
    Debian8
    debian_8
    Debian9
    debian_9
    Fedora31
    fedora_31
    Fedora34
    fedora_34
    FlatcarAlpha
    flatcar_alpha
    FlatcarBeta
    flatcar_beta
    FlatcarEdge
    flatcar_edge
    FlatcarLTS
    flatcar_lts
    FlatcarStable
    flatcar_stable
    FreeBSD10_3
    freebsd_10_3
    FreeBSD10_4
    freebsd_10_4
    FreeBSD11_0
    freebsd_11_0
    FreeBSD11_1
    freebsd_11_1
    FreeBSD11_2
    freebsd_11_2
    FreeBSD11_3
    freebsd_11_3
    FreeBSD11_4
    freebsd_11_4
    FreeBSD12Testing
    freebsd_12_testing
    FreeBSD12_1
    freebsd_12_1
    FreeBSD13_0
    freebsd_13_0
    FreeBSD13_1
    freebsd_13_1
    FreeBSD13_testing
    freebsd_13_testing
    HookEsxi7
    hook_esxi7
    NixOS17_03
    nixos_17_03
    NixOS18_03
    nixos_18_03
    NixOS19_03
    nixos_19_03
    NixOS20_09
    nixos_20_09
    NixOS21_11
    nixos_21_11
    NixOS22_05
    nixos_22_05
    NixOS22_11
    nixos_22_11
    Nixos21_05
    nixos_21_05
    NutanixCentos
    nutanix_centos
    NutanixLTS5_19_1
    nutanix_lts_5_19_1
    NutanixLTS5_20
    nutanix_lts_5_20
    OpenSUSE42_3
    opensuse_42_3
    RHEL7
    rhel_7
    RHEL8
    rhel_8
    RHEL9
    rhel_9
    RancherOS
    rancher
    Rocky8
    rocky_8
    Rocky9
    rocky_9
    SLES12SP3
    suse_sles12_sp3
    ScientificLinux6
    scientific_6
    TalosV1
    talos_v1
    Ubuntu1710
    ubuntu_17_10
    Ubuntu18_04
    ubuntu_18_04
    Ubuntu1904
    ubuntu_19_04
    Ubuntu19_10
    ubuntu_19_10
    Ubuntu20_04
    ubuntu_20_04
    Ubuntu20_04_legacy
    ubuntu_20_04_legacy
    Ubuntu20_10
    ubuntu_20_10
    Ubuntu2204
    ubuntu_22_04
    VMWareAlloyVcf
    vmware_alloy_vcf
    VMWareEsxi5_5
    vmware_esxi_5_5
    VMWareEsxi6_0
    vmware_esxi_6_0
    VMWareEsxi6_5
    vmware_esxi_6_5
    VMWareEsxi6_7
    vmware_esxi_6_7
    VMWareEsxi6_7_vcf
    vmware_esxi_6_7_vcf
    VMWareEsxi7_0
    vmware_esxi_7_0
    VMWareEsxi7_0U2a
    vmware_esxi_7_0U2a
    VMWareEsxi7_0_vcf
    vmware_esxi_7_0_vcf
    VMWareNsx2_5_0
    vmware_nsx_2_5_0
    VMWareNsx3_0_0
    vmware_nsx_3_0_0
    Virtuozzo7
    virtuozzo_7
    Windows2012R2
    windows_2012_r2
    Windows2016
    windows_2016
    Windows2019
    windows_2019
    Windows2022
    windows_2022
    OperatingSystemAlma8
    alma_8
    OperatingSystemAlma9
    alma_9
    OperatingSystemAlpine3
    alpine_3
    OperatingSystemCentOS6
    centos_6
    OperatingSystemCentOS7
    centos_7
    OperatingSystemCentOS8
    centos_8
    OperatingSystemCoreOSAlpha
    coreos_alpha
    OperatingSystemCoreOSBeta
    coreos_beta
    OperatingSystemCoreOSStable
    coreos_stable
    OperatingSystemCustomIPXE
    custom_ipxe
    OperatingSystemDebian10
    debian_10
    OperatingSystemDebian11
    debian_11
    OperatingSystemDebian7
    debian_7
    OperatingSystemDebian8
    debian_8
    OperatingSystemDebian9
    debian_9
    OperatingSystemFedora31
    fedora_31
    OperatingSystemFedora34
    fedora_34
    OperatingSystemFlatcarAlpha
    flatcar_alpha
    OperatingSystemFlatcarBeta
    flatcar_beta
    OperatingSystemFlatcarEdge
    flatcar_edge
    OperatingSystemFlatcarLTS
    flatcar_lts
    OperatingSystemFlatcarStable
    flatcar_stable
    OperatingSystem_FreeBSD10_3
    freebsd_10_3
    OperatingSystem_FreeBSD10_4
    freebsd_10_4
    OperatingSystem_FreeBSD11_0
    freebsd_11_0
    OperatingSystem_FreeBSD11_1
    freebsd_11_1
    OperatingSystem_FreeBSD11_2
    freebsd_11_2
    OperatingSystem_FreeBSD11_3
    freebsd_11_3
    OperatingSystem_FreeBSD11_4
    freebsd_11_4
    OperatingSystemFreeBSD12Testing
    freebsd_12_testing
    OperatingSystem_FreeBSD12_1
    freebsd_12_1
    OperatingSystem_FreeBSD13_0
    freebsd_13_0
    OperatingSystem_FreeBSD13_1
    freebsd_13_1
    OperatingSystem_FreeBSD13_testing
    freebsd_13_testing
    OperatingSystemHookEsxi7
    hook_esxi7
    OperatingSystem_NixOS17_03
    nixos_17_03
    OperatingSystem_NixOS18_03
    nixos_18_03
    OperatingSystem_NixOS19_03
    nixos_19_03
    OperatingSystem_NixOS20_09
    nixos_20_09
    OperatingSystem_NixOS21_11
    nixos_21_11
    OperatingSystem_NixOS22_05
    nixos_22_05
    OperatingSystem_NixOS22_11
    nixos_22_11
    OperatingSystem_Nixos21_05
    nixos_21_05
    OperatingSystemNutanixCentos
    nutanix_centos
    OperatingSystem_NutanixLTS5_19_1
    nutanix_lts_5_19_1
    OperatingSystem_NutanixLTS5_20
    nutanix_lts_5_20
    OperatingSystem_OpenSUSE42_3
    opensuse_42_3
    OperatingSystemRHEL7
    rhel_7
    OperatingSystemRHEL8
    rhel_8
    OperatingSystemRHEL9
    rhel_9
    OperatingSystemRancherOS
    rancher
    OperatingSystemRocky8
    rocky_8
    OperatingSystemRocky9
    rocky_9
    OperatingSystemSLES12SP3
    suse_sles12_sp3
    OperatingSystemScientificLinux6
    scientific_6
    OperatingSystemTalosV1
    talos_v1
    OperatingSystemUbuntu1710
    ubuntu_17_10
    OperatingSystem_Ubuntu18_04
    ubuntu_18_04
    OperatingSystemUbuntu1904
    ubuntu_19_04
    OperatingSystem_Ubuntu19_10
    ubuntu_19_10
    OperatingSystem_Ubuntu20_04
    ubuntu_20_04
    OperatingSystem_Ubuntu20_04_legacy
    ubuntu_20_04_legacy
    OperatingSystem_Ubuntu20_10
    ubuntu_20_10
    OperatingSystemUbuntu2204
    ubuntu_22_04
    OperatingSystemVMWareAlloyVcf
    vmware_alloy_vcf
    OperatingSystem_VMWareEsxi5_5
    vmware_esxi_5_5
    OperatingSystem_VMWareEsxi6_0
    vmware_esxi_6_0
    OperatingSystem_VMWareEsxi6_5
    vmware_esxi_6_5
    OperatingSystem_VMWareEsxi6_7
    vmware_esxi_6_7
    OperatingSystem_VMWareEsxi6_7_vcf
    vmware_esxi_6_7_vcf
    OperatingSystem_VMWareEsxi7_0
    vmware_esxi_7_0
    OperatingSystem_VMWareEsxi7_0U2a
    vmware_esxi_7_0U2a
    OperatingSystem_VMWareEsxi7_0_vcf
    vmware_esxi_7_0_vcf
    OperatingSystem_VMWareNsx2_5_0
    vmware_nsx_2_5_0
    OperatingSystem_VMWareNsx3_0_0
    vmware_nsx_3_0_0
    OperatingSystemVirtuozzo7
    virtuozzo_7
    OperatingSystemWindows2012R2
    windows_2012_r2
    OperatingSystemWindows2016
    windows_2016
    OperatingSystemWindows2019
    windows_2019
    OperatingSystemWindows2022
    windows_2022
    Alma8
    alma_8
    Alma9
    alma_9
    Alpine3
    alpine_3
    CentOS6
    centos_6
    CentOS7
    centos_7
    CentOS8
    centos_8
    CoreOSAlpha
    coreos_alpha
    CoreOSBeta
    coreos_beta
    CoreOSStable
    coreos_stable
    CustomIPXE
    custom_ipxe
    Debian10
    debian_10
    Debian11
    debian_11
    Debian7
    debian_7
    Debian8
    debian_8
    Debian9
    debian_9
    Fedora31
    fedora_31
    Fedora34
    fedora_34
    FlatcarAlpha
    flatcar_alpha
    FlatcarBeta
    flatcar_beta
    FlatcarEdge
    flatcar_edge
    FlatcarLTS
    flatcar_lts
    FlatcarStable
    flatcar_stable
    FreeBSD10_3
    freebsd_10_3
    FreeBSD10_4
    freebsd_10_4
    FreeBSD11_0
    freebsd_11_0
    FreeBSD11_1
    freebsd_11_1
    FreeBSD11_2
    freebsd_11_2
    FreeBSD11_3
    freebsd_11_3
    FreeBSD11_4
    freebsd_11_4
    FreeBSD12Testing
    freebsd_12_testing
    FreeBSD12_1
    freebsd_12_1
    FreeBSD13_0
    freebsd_13_0
    FreeBSD13_1
    freebsd_13_1
    FreeBSD13_testing
    freebsd_13_testing
    HookEsxi7
    hook_esxi7
    NixOS17_03
    nixos_17_03
    NixOS18_03
    nixos_18_03
    NixOS19_03
    nixos_19_03
    NixOS20_09
    nixos_20_09
    NixOS21_11
    nixos_21_11
    NixOS22_05
    nixos_22_05
    NixOS22_11
    nixos_22_11
    Nixos21_05
    nixos_21_05
    NutanixCentos
    nutanix_centos
    NutanixLTS5_19_1
    nutanix_lts_5_19_1
    NutanixLTS5_20
    nutanix_lts_5_20
    OpenSUSE42_3
    opensuse_42_3
    RHEL7
    rhel_7
    RHEL8
    rhel_8
    RHEL9
    rhel_9
    RancherOS
    rancher
    Rocky8
    rocky_8
    Rocky9
    rocky_9
    SLES12SP3
    suse_sles12_sp3
    ScientificLinux6
    scientific_6
    TalosV1
    talos_v1
    Ubuntu1710
    ubuntu_17_10
    Ubuntu18_04
    ubuntu_18_04
    Ubuntu1904
    ubuntu_19_04
    Ubuntu19_10
    ubuntu_19_10
    Ubuntu20_04
    ubuntu_20_04
    Ubuntu20_04_legacy
    ubuntu_20_04_legacy
    Ubuntu20_10
    ubuntu_20_10
    Ubuntu2204
    ubuntu_22_04
    VMWareAlloyVcf
    vmware_alloy_vcf
    VMWareEsxi5_5
    vmware_esxi_5_5
    VMWareEsxi6_0
    vmware_esxi_6_0
    VMWareEsxi6_5
    vmware_esxi_6_5
    VMWareEsxi6_7
    vmware_esxi_6_7
    VMWareEsxi6_7_vcf
    vmware_esxi_6_7_vcf
    VMWareEsxi7_0
    vmware_esxi_7_0
    VMWareEsxi7_0U2a
    vmware_esxi_7_0U2a
    VMWareEsxi7_0_vcf
    vmware_esxi_7_0_vcf
    VMWareNsx2_5_0
    vmware_nsx_2_5_0
    VMWareNsx3_0_0
    vmware_nsx_3_0_0
    Virtuozzo7
    virtuozzo_7
    Windows2012R2
    windows_2012_r2
    Windows2016
    windows_2016
    Windows2019
    windows_2019
    Windows2022
    windows_2022
    Alma8
    alma_8
    Alma9
    alma_9
    Alpine3
    alpine_3
    CentOS6
    centos_6
    CentOS7
    centos_7
    CentOS8
    centos_8
    CoreOSAlpha
    coreos_alpha
    CoreOSBeta
    coreos_beta
    CoreOSStable
    coreos_stable
    CustomIPXE
    custom_ipxe
    Debian10
    debian_10
    Debian11
    debian_11
    Debian7
    debian_7
    Debian8
    debian_8
    Debian9
    debian_9
    Fedora31
    fedora_31
    Fedora34
    fedora_34
    FlatcarAlpha
    flatcar_alpha
    FlatcarBeta
    flatcar_beta
    FlatcarEdge
    flatcar_edge
    FlatcarLTS
    flatcar_lts
    FlatcarStable
    flatcar_stable
    FreeBSD10_3
    freebsd_10_3
    FreeBSD10_4
    freebsd_10_4
    FreeBSD11_0
    freebsd_11_0
    FreeBSD11_1
    freebsd_11_1
    FreeBSD11_2
    freebsd_11_2
    FreeBSD11_3
    freebsd_11_3
    FreeBSD11_4
    freebsd_11_4
    FreeBSD12Testing
    freebsd_12_testing
    FreeBSD12_1
    freebsd_12_1
    FreeBSD13_0
    freebsd_13_0
    FreeBSD13_1
    freebsd_13_1
    FreeBSD13_testing
    freebsd_13_testing
    HookEsxi7
    hook_esxi7
    NixOS17_03
    nixos_17_03
    NixOS18_03
    nixos_18_03
    NixOS19_03
    nixos_19_03
    NixOS20_09
    nixos_20_09
    NixOS21_11
    nixos_21_11
    NixOS22_05
    nixos_22_05
    NixOS22_11
    nixos_22_11
    Nixos21_05
    nixos_21_05
    NutanixCentos
    nutanix_centos
    NutanixLTS5_19_1
    nutanix_lts_5_19_1
    NutanixLTS5_20
    nutanix_lts_5_20
    OpenSUSE42_3
    opensuse_42_3
    RHEL7
    rhel_7
    RHEL8
    rhel_8
    RHEL9
    rhel_9
    RancherOS
    rancher
    Rocky8
    rocky_8
    Rocky9
    rocky_9
    SLES12SP3
    suse_sles12_sp3
    ScientificLinux6
    scientific_6
    TalosV1
    talos_v1
    Ubuntu1710
    ubuntu_17_10
    Ubuntu18_04
    ubuntu_18_04
    Ubuntu1904
    ubuntu_19_04
    Ubuntu19_10
    ubuntu_19_10
    Ubuntu20_04
    ubuntu_20_04
    Ubuntu20_04_legacy
    ubuntu_20_04_legacy
    Ubuntu20_10
    ubuntu_20_10
    Ubuntu2204
    ubuntu_22_04
    VMWareAlloyVcf
    vmware_alloy_vcf
    VMWareEsxi5_5
    vmware_esxi_5_5
    VMWareEsxi6_0
    vmware_esxi_6_0
    VMWareEsxi6_5
    vmware_esxi_6_5
    VMWareEsxi6_7
    vmware_esxi_6_7
    VMWareEsxi6_7_vcf
    vmware_esxi_6_7_vcf
    VMWareEsxi7_0
    vmware_esxi_7_0
    VMWareEsxi7_0U2a
    vmware_esxi_7_0U2a
    VMWareEsxi7_0_vcf
    vmware_esxi_7_0_vcf
    VMWareNsx2_5_0
    vmware_nsx_2_5_0
    VMWareNsx3_0_0
    vmware_nsx_3_0_0
    Virtuozzo7
    virtuozzo_7
    Windows2012R2
    windows_2012_r2
    Windows2016
    windows_2016
    Windows2019
    windows_2019
    Windows2022
    windows_2022
    ALMA8
    alma_8
    ALMA9
    alma_9
    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
    DEBIAN10
    debian_10
    DEBIAN11
    debian_11
    DEBIAN7
    debian_7
    DEBIAN8
    debian_8
    DEBIAN9
    debian_9
    FEDORA31
    fedora_31
    FEDORA34
    fedora_34
    FLATCAR_ALPHA
    flatcar_alpha
    FLATCAR_BETA
    flatcar_beta
    FLATCAR_EDGE
    flatcar_edge
    FLATCAR_LTS
    flatcar_lts
    FLATCAR_STABLE
    flatcar_stable
    FREE_BSD10_3
    freebsd_10_3
    FREE_BSD10_4
    freebsd_10_4
    FREE_BSD11_0
    freebsd_11_0
    FREE_BSD11_1
    freebsd_11_1
    FREE_BSD11_2
    freebsd_11_2
    FREE_BSD11_3
    freebsd_11_3
    FREE_BSD11_4
    freebsd_11_4
    FREE_BSD12_TESTING
    freebsd_12_testing
    FREE_BSD12_1
    freebsd_12_1
    FREE_BSD13_0
    freebsd_13_0
    FREE_BSD13_1
    freebsd_13_1
    FREE_BSD13_TESTING
    freebsd_13_testing
    HOOK_ESXI7
    hook_esxi7
    NIX_OS17_03
    nixos_17_03
    NIX_OS18_03
    nixos_18_03
    NIX_OS19_03
    nixos_19_03
    NIX_OS20_09
    nixos_20_09
    NIX_OS21_11
    nixos_21_11
    NIX_OS22_05
    nixos_22_05
    NIX_OS22_11
    nixos_22_11
    NIXOS21_05
    nixos_21_05
    NUTANIX_CENTOS
    nutanix_centos
    NUTANIX_LTS5_19_1
    nutanix_lts_5_19_1
    NUTANIX_LTS5_20
    nutanix_lts_5_20
    OPEN_SUSE42_3
    opensuse_42_3
    RHEL7
    rhel_7
    RHEL8
    rhel_8
    RHEL9
    rhel_9
    RANCHER_OS
    rancher
    ROCKY8
    rocky_8
    ROCKY9
    rocky_9
    SLES12_SP3
    suse_sles12_sp3
    SCIENTIFIC_LINUX6
    scientific_6
    TALOS_V1
    talos_v1
    UBUNTU1710
    ubuntu_17_10
    UBUNTU18_04
    ubuntu_18_04
    UBUNTU1904
    ubuntu_19_04
    UBUNTU19_10
    ubuntu_19_10
    UBUNTU20_04
    ubuntu_20_04
    UBUNTU20_04_LEGACY
    ubuntu_20_04_legacy
    UBUNTU20_10
    ubuntu_20_10
    UBUNTU2204
    ubuntu_22_04
    VM_WARE_ALLOY_VCF
    vmware_alloy_vcf
    VM_WARE_ESXI5_5
    vmware_esxi_5_5
    VM_WARE_ESXI6_0
    vmware_esxi_6_0
    VM_WARE_ESXI6_5
    vmware_esxi_6_5
    VM_WARE_ESXI6_7
    vmware_esxi_6_7
    VM_WARE_ESXI6_7_VCF
    vmware_esxi_6_7_vcf
    VM_WARE_ESXI7_0
    vmware_esxi_7_0
    VM_WARE_ESXI7_0_U2A
    vmware_esxi_7_0U2a
    VM_WARE_ESXI7_0_VCF
    vmware_esxi_7_0_vcf
    VM_WARE_NSX2_5_0
    vmware_nsx_2_5_0
    VM_WARE_NSX3_0_0
    vmware_nsx_3_0_0
    VIRTUOZZO7
    virtuozzo_7
    WINDOWS2012_R2
    windows_2012_r2
    WINDOWS2016
    windows_2016
    WINDOWS2019
    windows_2019
    WINDOWS2022
    windows_2022
    "alma_8"
    alma_8
    "alma_9"
    alma_9
    "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_10"
    debian_10
    "debian_11"
    debian_11
    "debian_7"
    debian_7
    "debian_8"
    debian_8
    "debian_9"
    debian_9
    "fedora_31"
    fedora_31
    "fedora_34"
    fedora_34
    "flatcar_alpha"
    flatcar_alpha
    "flatcar_beta"
    flatcar_beta
    "flatcar_edge"
    flatcar_edge
    "flatcar_lts"
    flatcar_lts
    "flatcar_stable"
    flatcar_stable
    "freebsd_10_3"
    freebsd_10_3
    "freebsd_10_4"
    freebsd_10_4
    "freebsd_11_0"
    freebsd_11_0
    "freebsd_11_1"
    freebsd_11_1
    "freebsd_11_2"
    freebsd_11_2
    "freebsd_11_3"
    freebsd_11_3
    "freebsd_11_4"
    freebsd_11_4
    "freebsd_12_testing"
    freebsd_12_testing
    "freebsd_12_1"
    freebsd_12_1
    "freebsd_13_0"
    freebsd_13_0
    "freebsd_13_1"
    freebsd_13_1
    "freebsd_13_testing"
    freebsd_13_testing
    "hook_esxi7"
    hook_esxi7
    "nixos_17_03"
    nixos_17_03
    "nixos_18_03"
    nixos_18_03
    "nixos_19_03"
    nixos_19_03
    "nixos_20_09"
    nixos_20_09
    "nixos_21_11"
    nixos_21_11
    "nixos_22_05"
    nixos_22_05
    "nixos_22_11"
    nixos_22_11
    "nixos_21_05"
    nixos_21_05
    "nutanix_centos"
    nutanix_centos
    "nutanix_lts_5_19_1"
    nutanix_lts_5_19_1
    "nutanix_lts_5_20"
    nutanix_lts_5_20
    "opensuse_42_3"
    opensuse_42_3
    "rhel_7"
    rhel_7
    "rhel_8"
    rhel_8
    "rhel_9"
    rhel_9
    "rancher"
    rancher
    "rocky_8"
    rocky_8
    "rocky_9"
    rocky_9
    "suse_sles12_sp3"
    suse_sles12_sp3
    "scientific_6"
    scientific_6
    "talos_v1"
    talos_v1
    "ubuntu_17_10"
    ubuntu_17_10
    "ubuntu_18_04"
    ubuntu_18_04
    "ubuntu_19_04"
    ubuntu_19_04
    "ubuntu_19_10"
    ubuntu_19_10
    "ubuntu_20_04"
    ubuntu_20_04
    "ubuntu_20_04_legacy"
    ubuntu_20_04_legacy
    "ubuntu_20_10"
    ubuntu_20_10
    "ubuntu_22_04"
    ubuntu_22_04
    "vmware_alloy_vcf"
    vmware_alloy_vcf
    "vmware_esxi_5_5"
    vmware_esxi_5_5
    "vmware_esxi_6_0"
    vmware_esxi_6_0
    "vmware_esxi_6_5"
    vmware_esxi_6_5
    "vmware_esxi_6_7"
    vmware_esxi_6_7
    "vmware_esxi_6_7_vcf"
    vmware_esxi_6_7_vcf
    "vmware_esxi_7_0"
    vmware_esxi_7_0
    "vmware_esxi_7_0U2a"
    vmware_esxi_7_0U2a
    "vmware_esxi_7_0_vcf"
    vmware_esxi_7_0_vcf
    "vmware_nsx_2_5_0"
    vmware_nsx_2_5_0
    "vmware_nsx_3_0_0"
    vmware_nsx_3_0_0
    "virtuozzo_7"
    virtuozzo_7
    "windows_2012_r2"
    windows_2012_r2
    "windows_2016"
    windows_2016
    "windows_2019"
    windows_2019
    "windows_2022"
    windows_2022

    Plan, PlanArgs

    A3LargeX86
    a3.large.x86
    C2LargeARM
    c2.large.arm
    C2MediumX86
    c2.medium.x86
    C3LargeARM
    c3.large.arm64
    C3MediumX86
    c3.medium.x86
    C3SmallX86
    c3.small.x86
    F3LargeX86
    f3.large.x86
    F3MediumX86
    f3.medium.x86
    G2LargeX86
    g2.large.x86
    M2XLargeX86
    m2.xlarge.x86
    M3LargeX86
    m3.large.x86
    M3SmallX86
    m3.small.x86
    N2XLargeX86
    n2.xlarge.x86
    N3XLargeX86
    n3.xlarge.x86
    S3XLargeX86
    s3.xlarge.x86
    T3SmallX86
    t3.small.x86
    X2XLargeX86
    x2.xlarge.x86
    X3XLargeX86
    x3.xlarge.x86
    PlanA3LargeX86
    a3.large.x86
    PlanC2LargeARM
    c2.large.arm
    PlanC2MediumX86
    c2.medium.x86
    PlanC3LargeARM
    c3.large.arm64
    PlanC3MediumX86
    c3.medium.x86
    PlanC3SmallX86
    c3.small.x86
    PlanF3LargeX86
    f3.large.x86
    PlanF3MediumX86
    f3.medium.x86
    PlanG2LargeX86
    g2.large.x86
    PlanM2XLargeX86
    m2.xlarge.x86
    PlanM3LargeX86
    m3.large.x86
    PlanM3SmallX86
    m3.small.x86
    PlanN2XLargeX86
    n2.xlarge.x86
    PlanN3XLargeX86
    n3.xlarge.x86
    PlanS3XLargeX86
    s3.xlarge.x86
    PlanT3SmallX86
    t3.small.x86
    PlanX2XLargeX86
    x2.xlarge.x86
    PlanX3XLargeX86
    x3.xlarge.x86
    A3LargeX86
    a3.large.x86
    C2LargeARM
    c2.large.arm
    C2MediumX86
    c2.medium.x86
    C3LargeARM
    c3.large.arm64
    C3MediumX86
    c3.medium.x86
    C3SmallX86
    c3.small.x86
    F3LargeX86
    f3.large.x86
    F3MediumX86
    f3.medium.x86
    G2LargeX86
    g2.large.x86
    M2XLargeX86
    m2.xlarge.x86
    M3LargeX86
    m3.large.x86
    M3SmallX86
    m3.small.x86
    N2XLargeX86
    n2.xlarge.x86
    N3XLargeX86
    n3.xlarge.x86
    S3XLargeX86
    s3.xlarge.x86
    T3SmallX86
    t3.small.x86
    X2XLargeX86
    x2.xlarge.x86
    X3XLargeX86
    x3.xlarge.x86
    A3LargeX86
    a3.large.x86
    C2LargeARM
    c2.large.arm
    C2MediumX86
    c2.medium.x86
    C3LargeARM
    c3.large.arm64
    C3MediumX86
    c3.medium.x86
    C3SmallX86
    c3.small.x86
    F3LargeX86
    f3.large.x86
    F3MediumX86
    f3.medium.x86
    G2LargeX86
    g2.large.x86
    M2XLargeX86
    m2.xlarge.x86
    M3LargeX86
    m3.large.x86
    M3SmallX86
    m3.small.x86
    N2XLargeX86
    n2.xlarge.x86
    N3XLargeX86
    n3.xlarge.x86
    S3XLargeX86
    s3.xlarge.x86
    T3SmallX86
    t3.small.x86
    X2XLargeX86
    x2.xlarge.x86
    X3XLargeX86
    x3.xlarge.x86
    A3_LARGE_X86
    a3.large.x86
    C2_LARGE_ARM
    c2.large.arm
    C2_MEDIUM_X86
    c2.medium.x86
    C3_LARGE_ARM
    c3.large.arm64
    C3_MEDIUM_X86
    c3.medium.x86
    C3_SMALL_X86
    c3.small.x86
    F3_LARGE_X86
    f3.large.x86
    F3_MEDIUM_X86
    f3.medium.x86
    G2_LARGE_X86
    g2.large.x86
    M2_X_LARGE_X86
    m2.xlarge.x86
    M3_LARGE_X86
    m3.large.x86
    M3_SMALL_X86
    m3.small.x86
    N2_X_LARGE_X86
    n2.xlarge.x86
    N3_X_LARGE_X86
    n3.xlarge.x86
    S3_X_LARGE_X86
    s3.xlarge.x86
    T3_SMALL_X86
    t3.small.x86
    X2_X_LARGE_X86
    x2.xlarge.x86
    X3_X_LARGE_X86
    x3.xlarge.x86
    "a3.large.x86"
    a3.large.x86
    "c2.large.arm"
    c2.large.arm
    "c2.medium.x86"
    c2.medium.x86
    "c3.large.arm64"
    c3.large.arm64
    "c3.medium.x86"
    c3.medium.x86
    "c3.small.x86"
    c3.small.x86
    "f3.large.x86"
    f3.large.x86
    "f3.medium.x86"
    f3.medium.x86
    "g2.large.x86"
    g2.large.x86
    "m2.xlarge.x86"
    m2.xlarge.x86
    "m3.large.x86"
    m3.large.x86
    "m3.small.x86"
    m3.small.x86
    "n2.xlarge.x86"
    n2.xlarge.x86
    "n3.xlarge.x86"
    n3.xlarge.x86
    "s3.xlarge.x86"
    s3.xlarge.x86
    "t3.small.x86"
    t3.small.x86
    "x2.xlarge.x86"
    x2.xlarge.x86
    "x3.xlarge.x86"
    x3.xlarge.x86

    Package Details

    Repository
    equinix equinix/pulumi-equinix
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the equinix Terraform Provider.
    equinix logo
    Equinix v0.18.0 published on Monday, Sep 23, 2024 by Equinix