1. Packages
  2. Packet
  3. API Docs
  4. Device
Packet v3.2.2 published on Thursday, Nov 12, 2020 by Pulumi

packet.Device

Explore with Pulumi AI

packet logo
Packet v3.2.2 published on Thursday, Nov 12, 2020 by Pulumi

    Provides a Packet device resource. This can be used to create, modify, and delete devices.

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

    Example Usage

    Create a device and add it to cool_

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

    Coming soon!

    import pulumi
    import pulumi_packet as packet
    
    web1 = packet.Device("web1",
        hostname="tf.coreos2",
        plan="t1.small.x86",
        facilities=["ewr1"],
        operating_system="coreos_stable",
        billing_cycle="hourly",
        project_id=local["project_id"])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as packet from "@pulumi/packet";
    
    const web1 = new packet.Device("web1", {
        hostname: "tf.coreos2",
        plan: "t1.small.x86",
        facilities: ["ewr1"],
        operatingSystem: "coreos_stable",
        billingCycle: "hourly",
        projectId: local.project_id,
    });
    

    Coming soon!

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

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

    Coming soon!

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

    Coming soon!

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

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

    Coming soon!

    import pulumi
    import pulumi_packet as packet
    
    web1 = packet.Device("web1",
        hostname="tf.coreos2",
        plan="t1.small.x86",
        facilities=["ewr1"],
        operating_system="coreos_stable",
        billing_cycle="hourly",
        project_id=local["project_id"],
        ip_addresses=[packet.DeviceIpAddressArgs(
            type="private_ipv4",
            cidr=30,
        )])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as packet from "@pulumi/packet";
    
    const web1 = new packet.Device("web1", {
        hostname: "tf.coreos2",
        plan: "t1.small.x86",
        facilities: ["ewr1"],
        operatingSystem: "coreos_stable",
        billingCycle: "hourly",
        projectId: local.project_id,
        ipAddresses: [{
            type: "private_ipv4",
            cidr: 30,
        }],
    });
    

    Coming soon!

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

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

    Coming soon!

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

    Coming soon!

    Create Device Resource

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

    Constructor syntax

    new Device(name: string, args: DeviceArgs, opts?: CustomResourceOptions);
    @overload
    def Device(resource_name: str,
               args: DeviceArgs,
               opts: Optional[ResourceOptions] = None)
    
    @overload
    def Device(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               hostname: Optional[str] = None,
               billing_cycle: Optional[str] = None,
               project_id: Optional[str] = None,
               facilities: Optional[Sequence[str]] = None,
               plan: Optional[str] = None,
               operating_system: Optional[str] = None,
               ipxe_script_url: Optional[str] = None,
               ip_addresses: Optional[Sequence[DeviceIpAddressArgs]] = None,
               always_pxe: Optional[bool] = None,
               hardware_reservation_id: Optional[str] = None,
               force_detach_volumes: Optional[bool] = None,
               description: Optional[str] = None,
               project_ssh_key_ids: Optional[Sequence[str]] = None,
               storage: Optional[str] = None,
               tags: Optional[Sequence[str]] = None,
               user_data: Optional[str] = None,
               wait_for_reservation_deprovision: Optional[bool] = None)
    func NewDevice(ctx *Context, name string, args DeviceArgs, opts ...ResourceOption) (*Device, error)
    public Device(string name, DeviceArgs args, CustomResourceOptions? opts = null)
    public Device(String name, DeviceArgs args)
    public Device(String name, DeviceArgs args, CustomResourceOptions options)
    
    type: packet: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.

    Example

    The following reference example uses placeholder values for all input properties.

    var deviceResource = new Packet.Device("deviceResource", new()
    {
        Hostname = "string",
        BillingCycle = "string",
        ProjectId = "string",
        Facilities = new[]
        {
            "string",
        },
        Plan = "string",
        OperatingSystem = "string",
        IpxeScriptUrl = "string",
        IpAddresses = new[]
        {
            new Packet.Inputs.DeviceIpAddressArgs
            {
                Type = "string",
                Cidr = 0,
                ReservationIds = new[]
                {
                    "string",
                },
            },
        },
        AlwaysPxe = false,
        HardwareReservationId = "string",
        ForceDetachVolumes = false,
        Description = "string",
        ProjectSshKeyIds = new[]
        {
            "string",
        },
        Storage = "string",
        Tags = new[]
        {
            "string",
        },
        UserData = "string",
        WaitForReservationDeprovision = false,
    });
    
    Coming soon!
    
    var deviceResource = new Device("deviceResource", DeviceArgs.builder()        
        .hostname("string")
        .billingCycle("string")
        .projectId("string")
        .facilities("string")
        .plan("string")
        .operatingSystem("string")
        .ipxeScriptUrl("string")
        .ipAddresses(DeviceIpAddressArgs.builder()
            .type("string")
            .cidr(0)
            .reservationIds("string")
            .build())
        .alwaysPxe(false)
        .hardwareReservationId("string")
        .forceDetachVolumes(false)
        .description("string")
        .projectSshKeyIds("string")
        .storage("string")
        .tags("string")
        .userData("string")
        .waitForReservationDeprovision(false)
        .build());
    
    device_resource = packet.Device("deviceResource",
        hostname="string",
        billing_cycle="string",
        project_id="string",
        facilities=["string"],
        plan="string",
        operating_system="string",
        ipxe_script_url="string",
        ip_addresses=[packet.DeviceIpAddressArgs(
            type="string",
            cidr=0,
            reservation_ids=["string"],
        )],
        always_pxe=False,
        hardware_reservation_id="string",
        force_detach_volumes=False,
        description="string",
        project_ssh_key_ids=["string"],
        storage="string",
        tags=["string"],
        user_data="string",
        wait_for_reservation_deprovision=False)
    
    const deviceResource = new packet.Device("deviceResource", {
        hostname: "string",
        billingCycle: "string",
        projectId: "string",
        facilities: ["string"],
        plan: "string",
        operatingSystem: "string",
        ipxeScriptUrl: "string",
        ipAddresses: [{
            type: "string",
            cidr: 0,
            reservationIds: ["string"],
        }],
        alwaysPxe: false,
        hardwareReservationId: "string",
        forceDetachVolumes: false,
        description: "string",
        projectSshKeyIds: ["string"],
        storage: "string",
        tags: ["string"],
        userData: "string",
        waitForReservationDeprovision: false,
    });
    
    type: packet:Device
    properties:
        alwaysPxe: false
        billingCycle: string
        description: string
        facilities:
            - string
        forceDetachVolumes: false
        hardwareReservationId: string
        hostname: string
        ipAddresses:
            - cidr: 0
              reservationIds:
                - string
              type: string
        ipxeScriptUrl: string
        operatingSystem: string
        plan: string
        projectId: string
        projectSshKeyIds:
            - string
        storage: string
        tags:
            - string
        userData: string
        waitForReservationDeprovision: false
    

    Device Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Device resource accepts the following input properties:

    BillingCycle string
    monthly or hourly
    Facilities List<string>
    List of facility codes with deployment preferences. Packet 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.
    Hostname string
    The device name
    OperatingSystem string
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    Plan string
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ProjectId string
    The ID of the project in which to create the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    Description string
    Description string for the device
    ForceDetachVolumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    HardwareReservationId string
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    IpAddresses List<DeviceIpAddress>
    A list of IP address types for the device (structure is documented below).
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    ProjectSshKeyIds List<string>
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    Tags List<string>
    Tags attached to the device
    UserData string
    A string of the desired User Data for the device.
    WaitForReservationDeprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    BillingCycle string
    monthly or hourly
    Facilities []string
    List of facility codes with deployment preferences. Packet 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.
    Hostname string
    The device name
    OperatingSystem string
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    Plan string
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ProjectId string
    The ID of the project in which to create the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    Description string
    Description string for the device
    ForceDetachVolumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    HardwareReservationId string
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    IpAddresses []DeviceIpAddressArgs
    A list of IP address types for the device (structure is documented below).
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    ProjectSshKeyIds []string
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    Tags []string
    Tags attached to the device
    UserData string
    A string of the desired User Data for the device.
    WaitForReservationDeprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    billingCycle String
    monthly or hourly
    facilities List<String>
    List of facility codes with deployment preferences. Packet 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.
    hostname String
    The device name
    operatingSystem String
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan String
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    projectId String
    The ID of the project in which to create the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    description String
    Description string for the device
    forceDetachVolumes Boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId String
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    ipAddresses List<DeviceIpAddress>
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl String
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    projectSshKeyIds List<String>
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags List<String>
    Tags attached to the device
    userData String
    A string of the desired User Data for the device.
    waitForReservationDeprovision Boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    billingCycle BillingCycle
    monthly or hourly
    facilities Facility[]
    List of facility codes with deployment preferences. Packet 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.
    hostname string
    The device name
    operatingSystem OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    projectId string
    The ID of the project in which to create the device
    alwaysPxe boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    description string
    Description string for the device
    forceDetachVolumes boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId string
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    ipAddresses DeviceIpAddress[]
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    projectSshKeyIds string[]
    storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags string[]
    Tags attached to the device
    userData string
    A string of the desired User Data for the device.
    waitForReservationDeprovision boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    billing_cycle str
    monthly or hourly
    facilities Sequence[str]
    List of facility codes with deployment preferences. Packet 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.
    hostname str
    The device name
    operating_system str
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan str
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    project_id str
    The ID of the project in which to create the device
    always_pxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    description str
    Description string for the device
    force_detach_volumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardware_reservation_id str
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    ip_addresses Sequence[DeviceIpAddressArgs]
    A list of IP address types for the device (structure is documented below).
    ipxe_script_url str
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    project_ssh_key_ids Sequence[str]
    storage str
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags Sequence[str]
    Tags attached to the device
    user_data str
    A string of the desired User Data for the device.
    wait_for_reservation_deprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    billingCycle
    monthly or hourly
    facilities List<>
    List of facility codes with deployment preferences. Packet 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.
    hostname String
    The device name
    operatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    projectId String
    The ID of the project in which to create the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    description String
    Description string for the device
    forceDetachVolumes Boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId String
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    ipAddresses List<Property Map>
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl String
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    projectSshKeyIds List<String>
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags List<String>
    Tags attached to the device
    userData String
    A string of the desired User Data for the device.
    waitForReservationDeprovision Boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).

    Outputs

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

    AccessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    AccessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    AccessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    Created string
    The timestamp for when the device was created
    DeployedFacility string
    The facility where the device is deployed.
    Id string
    The provider-assigned unique ID for this managed resource.
    Locked bool
    Whether the device is locked
    NetworkType string

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Look up Existing Device Resource

    Get an existing Device resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DeviceState, opts?: CustomResourceOptions): Device
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            access_private_ipv4: Optional[str] = None,
            access_public_ipv4: Optional[str] = None,
            access_public_ipv6: Optional[str] = None,
            always_pxe: Optional[bool] = None,
            billing_cycle: Optional[str] = None,
            created: Optional[str] = None,
            deployed_facility: Optional[str] = None,
            description: Optional[str] = None,
            facilities: Optional[Sequence[str]] = None,
            force_detach_volumes: Optional[bool] = None,
            hardware_reservation_id: Optional[str] = None,
            hostname: Optional[str] = None,
            ip_addresses: Optional[Sequence[DeviceIpAddressArgs]] = None,
            ipxe_script_url: Optional[str] = None,
            locked: Optional[bool] = None,
            network_type: Optional[str] = None,
            networks: Optional[Sequence[DeviceNetworkArgs]] = None,
            operating_system: Optional[str] = None,
            plan: Optional[str] = None,
            ports: Optional[Sequence[DevicePortArgs]] = None,
            project_id: Optional[str] = None,
            project_ssh_key_ids: Optional[Sequence[str]] = None,
            root_password: Optional[str] = None,
            ssh_key_ids: Optional[Sequence[str]] = None,
            state: Optional[str] = None,
            storage: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            updated: Optional[str] = None,
            user_data: Optional[str] = None,
            wait_for_reservation_deprovision: Optional[bool] = None) -> Device
    func GetDevice(ctx *Context, name string, id IDInput, state *DeviceState, opts ...ResourceOption) (*Device, error)
    public static Device Get(string name, Input<string> id, DeviceState? state, CustomResourceOptions? opts = null)
    public static Device get(String name, Output<String> id, DeviceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    AccessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    AccessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    BillingCycle string
    monthly or hourly
    Created string
    The timestamp for when the device was created
    DeployedFacility string
    The facility where the device is deployed.
    Description string
    Description string for the device
    Facilities List<string>
    List of facility codes with deployment preferences. Packet 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.
    ForceDetachVolumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    HardwareReservationId string
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    Hostname string
    The device name
    IpAddresses List<DeviceIpAddress>
    A list of IP address types for the device (structure is documented below).
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    Locked bool
    Whether the device is locked
    NetworkType string

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

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

    • Public IPv4 at packet_device.name.network.0
    • IPv6 at packet_device.name.network.1
    • Private IPv4 at packet_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    OperatingSystem string
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    Plan string
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    Ports List<DevicePort>
    Ports assigned to the device
    ProjectId string
    The ID of the project in which to create the device
    ProjectSshKeyIds List<string>
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SshKeyIds List<string>
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    State string
    The status of the device
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    Tags List<string>
    Tags attached to the device
    Updated string
    The timestamp for the last time the device was updated
    UserData string
    A string of the desired User Data for the device.
    WaitForReservationDeprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    AccessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    AccessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    AccessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    AlwaysPxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    BillingCycle string
    monthly or hourly
    Created string
    The timestamp for when the device was created
    DeployedFacility string
    The facility where the device is deployed.
    Description string
    Description string for the device
    Facilities []string
    List of facility codes with deployment preferences. Packet 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.
    ForceDetachVolumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    HardwareReservationId string
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    Hostname string
    The device name
    IpAddresses []DeviceIpAddressArgs
    A list of IP address types for the device (structure is documented below).
    IpxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    Locked bool
    Whether the device is locked
    NetworkType string

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

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

    • Public IPv4 at packet_device.name.network.0
    • IPv6 at packet_device.name.network.1
    • Private IPv4 at packet_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    OperatingSystem string
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    Plan string
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    Ports []DevicePortArgs
    Ports assigned to the device
    ProjectId string
    The ID of the project in which to create the device
    ProjectSshKeyIds []string
    RootPassword string
    Root password to the server (disabled after 24 hours)
    SshKeyIds []string
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    State string
    The status of the device
    Storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    Tags []string
    Tags attached to the device
    Updated string
    The timestamp for the last time the device was updated
    UserData string
    A string of the desired User Data for the device.
    WaitForReservationDeprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    accessPrivateIpv4 String
    The ipv4 private IP assigned to the device
    accessPublicIpv4 String
    The ipv4 maintenance IP assigned to the device
    accessPublicIpv6 String
    The ipv6 maintenance IP assigned to the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billingCycle String
    monthly or hourly
    created String
    The timestamp for when the device was created
    deployedFacility String
    The facility where the device is deployed.
    description String
    Description string for the device
    facilities List<String>
    List of facility codes with deployment preferences. Packet 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.
    forceDetachVolumes Boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId String
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    hostname String
    The device name
    ipAddresses List<DeviceIpAddress>
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl String
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    locked Boolean
    Whether the device is locked
    networkType String

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

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

    • Public IPv4 at packet_device.name.network.0
    • IPv6 at packet_device.name.network.1
    • Private IPv4 at packet_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    operatingSystem String
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan String
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ports List<DevicePort>
    Ports assigned to the device
    projectId String
    The ID of the project in which to create the device
    projectSshKeyIds List<String>
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sshKeyIds List<String>
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state String
    The status of the device
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags List<String>
    Tags attached to the device
    updated String
    The timestamp for the last time the device was updated
    userData String
    A string of the desired User Data for the device.
    waitForReservationDeprovision Boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    accessPrivateIpv4 string
    The ipv4 private IP assigned to the device
    accessPublicIpv4 string
    The ipv4 maintenance IP assigned to the device
    accessPublicIpv6 string
    The ipv6 maintenance IP assigned to the device
    alwaysPxe boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billingCycle BillingCycle
    monthly or hourly
    created string
    The timestamp for when the device was created
    deployedFacility string
    The facility where the device is deployed.
    description string
    Description string for the device
    facilities Facility[]
    List of facility codes with deployment preferences. Packet 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.
    forceDetachVolumes boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId string
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    hostname string
    The device name
    ipAddresses DeviceIpAddress[]
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl string
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    locked boolean
    Whether the device is locked
    networkType NetworkType

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

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

    • Public IPv4 at packet_device.name.network.0
    • IPv6 at packet_device.name.network.1
    • Private IPv4 at packet_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    operatingSystem OperatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan Plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ports DevicePort[]
    Ports assigned to the device
    projectId string
    The ID of the project in which to create the device
    projectSshKeyIds string[]
    rootPassword string
    Root password to the server (disabled after 24 hours)
    sshKeyIds string[]
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state string
    The status of the device
    storage string
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags string[]
    Tags attached to the device
    updated string
    The timestamp for the last time the device was updated
    userData string
    A string of the desired User Data for the device.
    waitForReservationDeprovision boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    access_private_ipv4 str
    The ipv4 private IP assigned to the device
    access_public_ipv4 str
    The ipv4 maintenance IP assigned to the device
    access_public_ipv6 str
    The ipv6 maintenance IP assigned to the device
    always_pxe bool
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billing_cycle str
    monthly or hourly
    created str
    The timestamp for when the device was created
    deployed_facility str
    The facility where the device is deployed.
    description str
    Description string for the device
    facilities Sequence[str]
    List of facility codes with deployment preferences. Packet 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.
    force_detach_volumes bool
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardware_reservation_id str
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    hostname str
    The device name
    ip_addresses Sequence[DeviceIpAddressArgs]
    A list of IP address types for the device (structure is documented below).
    ipxe_script_url str
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    locked bool
    Whether the device is locked
    network_type str

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

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

    • Public IPv4 at packet_device.name.network.0
    • IPv6 at packet_device.name.network.1
    • Private IPv4 at packet_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    operating_system str
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan str
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ports Sequence[DevicePortArgs]
    Ports assigned to the device
    project_id str
    The ID of the project in which to create the device
    project_ssh_key_ids Sequence[str]
    root_password str
    Root password to the server (disabled after 24 hours)
    ssh_key_ids Sequence[str]
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state str
    The status of the device
    storage str
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags Sequence[str]
    Tags attached to the device
    updated str
    The timestamp for the last time the device was updated
    user_data str
    A string of the desired User Data for the device.
    wait_for_reservation_deprovision bool
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
    accessPrivateIpv4 String
    The ipv4 private IP assigned to the device
    accessPublicIpv4 String
    The ipv4 maintenance IP assigned to the device
    accessPublicIpv6 String
    The ipv6 maintenance IP assigned to the device
    alwaysPxe Boolean
    If true, a device with OS custom_ipxe will continue to boot via iPXE on reboots.
    billingCycle
    monthly or hourly
    created String
    The timestamp for when the device was created
    deployedFacility String
    The facility where the device is deployed.
    description String
    Description string for the device
    facilities List<>
    List of facility codes with deployment preferences. Packet 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.
    forceDetachVolumes Boolean
    Delete device even if it has volumes attached. Only applies for destroy action.
    hardwareReservationId String
    The ID of hardware reservation which this device occupies

    • hostname- The hostname of the device
    hostname String
    The device name
    ipAddresses List<Property Map>
    A list of IP address types for the device (structure is documented below).
    ipxeScriptUrl String
    URL pointing to a hosted iPXE script. More information is in the Custom iPXE doc.
    locked Boolean
    Whether the device is locked
    networkType

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

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

    • Public IPv4 at packet_device.name.network.0
    • IPv6 at packet_device.name.network.1
    • Private IPv4 at packet_device.name.network.2 Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). The fields of the network attributes are:
    operatingSystem
    The operating system slug. To find the slug, or visit Operating Systems API docs, set your API auth token in the top of the page and see JSON from the API response.
    plan
    The device plan slug. To find the plan slug, visit Device plans API docs, set your auth token in the top of the page and see JSON from the API response.
    ports List<Property Map>
    Ports assigned to the device
    projectId String
    The ID of the project in which to create the device
    projectSshKeyIds List<String>
    rootPassword String
    Root password to the server (disabled after 24 hours)
    sshKeyIds List<String>
    List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
    state String
    The status of the device
    storage String
    JSON for custom partitioning. Only usable on reserved hardware. More information in in the Custom Partitioning and RAID doc.

    • Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
    tags List<String>
    Tags attached to the device
    updated String
    The timestamp for the last time the device was updated
    userData String
    A string of the desired User Data for the device.
    waitForReservationDeprovision Boolean
    Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).

    Supporting Types

    DeviceIpAddress, DeviceIpAddressArgs

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

    DeviceNetwork, DeviceNetworkArgs

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

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

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

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

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

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

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

    DevicePort, DevicePortArgs

    Bonded bool
    Whether this port is part of a bond in bonded network setup

    • project_id- The ID of the project the device belongs to
    Id string
    ID of the port
    Mac string
    MAC address assigned to the port
    Name string
    Name of the port (e.g. eth0, or bond0)
    Type string
    One of [private_ipv4, public_ipv4, public_ipv6]
    Bonded bool
    Whether this port is part of a bond in bonded network setup

    • project_id- The ID of the project the device belongs to
    Id string
    ID of the port
    Mac string
    MAC address assigned to the port
    Name string
    Name of the port (e.g. eth0, or bond0)
    Type string
    One of [private_ipv4, public_ipv4, public_ipv6]
    bonded Boolean
    Whether this port is part of a bond in bonded network setup

    • project_id- The ID of the project the device belongs to
    id String
    ID of the port
    mac String
    MAC address assigned to the port
    name String
    Name of the port (e.g. eth0, or bond0)
    type String
    One of [private_ipv4, public_ipv4, public_ipv6]
    bonded boolean
    Whether this port is part of a bond in bonded network setup

    • project_id- The ID of the project the device belongs to
    id string
    ID of the port
    mac string
    MAC address assigned to the port
    name string
    Name of the port (e.g. eth0, or bond0)
    type string
    One of [private_ipv4, public_ipv4, public_ipv6]
    bonded bool
    Whether this port is part of a bond in bonded network setup

    • project_id- The ID of the project the device belongs to
    id str
    ID of the port
    mac str
    MAC address assigned to the port
    name str
    Name of the port (e.g. eth0, or bond0)
    type str
    One of [private_ipv4, public_ipv4, public_ipv6]
    bonded Boolean
    Whether this port is part of a bond in bonded network setup

    • project_id- The ID of the project the device belongs to
    id String
    ID of the port
    mac String
    MAC address assigned to the port
    name String
    Name of the port (e.g. eth0, or bond0)
    type String
    One of [private_ipv4, public_ipv4, public_ipv6]

    Package Details

    Repository
    Packet pulumi/pulumi-packet
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the packet Terraform Provider.
    packet logo
    Packet v3.2.2 published on Thursday, Nov 12, 2020 by Pulumi