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

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,
        });
    }

}
Copy
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
	})
}
Copy

Coming soon!

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,
});
Copy
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"])
Copy

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,
        });
    }

}
Copy
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
	})
}
Copy

Coming soon!

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,
});
Copy
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"])
Copy

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,
                },
            },
        });
    }

}
Copy
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
	})
}
Copy

Coming soon!

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,
    }],
});
Copy
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,
    )])
Copy

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""
          ]
        }
      }
    }
  ]
}
",
        });
    }

}
Copy
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
	})
}
Copy

Coming soon!

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"
          ]
        }
      }
    }
  ]
}
`,
});
Copy
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"
          ]
        }
      }
    }
  ]
}
""")
Copy

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 This property is required. string
The unique name of the resource.
args This property is required. DeviceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. DeviceArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. DeviceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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 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,
});
Copy
example, err := packet.NewDevice(ctx, "deviceResource", &packet.DeviceArgs{
	Hostname:     pulumi.String("string"),
	BillingCycle: pulumi.String("string"),
	ProjectId:    pulumi.String("string"),
	Facilities: pulumi.StringArray{
		pulumi.String("string"),
	},
	Plan:            pulumi.String("string"),
	OperatingSystem: pulumi.String("string"),
	IpxeScriptUrl:   pulumi.String("string"),
	IpAddresses: packet.DeviceIpAddressArray{
		&packet.DeviceIpAddressArgs{
			Type: pulumi.String("string"),
			Cidr: pulumi.Int(0),
			ReservationIds: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	AlwaysPxe:             pulumi.Bool(false),
	HardwareReservationId: pulumi.String("string"),
	ForceDetachVolumes:    pulumi.Bool(false),
	Description:           pulumi.String("string"),
	ProjectSshKeyIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	Storage: pulumi.String("string"),
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	UserData:                      pulumi.String("string"),
	WaitForReservationDeprovision: pulumi.Bool(false),
})
Copy
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());
Copy
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=[{
        "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)
Copy
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,
});
Copy
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
Copy

Device Resource Properties

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

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Device resource accepts the following input properties:

BillingCycle This property is required. string
monthly or hourly
Facilities This property is required. 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 This property is required. string
The device name
OperatingSystem This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
monthly or hourly
Facilities This property is required. []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 This property is required. string
The device name
OperatingSystem This property is required. 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 This property is required. 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 This property is required. 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 This property is required. String
monthly or hourly
facilities This property is required. 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 This property is required. String
The device name
operatingSystem This property is required. 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 This property is required. 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 This property is required. 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 This property is required. BillingCycle
monthly or hourly
facilities This property is required. 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 This property is required. string
The device name
operatingSystem This property is required. 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 This property is required. 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 This property is required. 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 This property is required. str
monthly or hourly
facilities This property is required. 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 This property is required. str
The device name
operating_system This property is required. 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 This property is required. 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 This property is required. 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 This property is required.
monthly or hourly
facilities This property is required. 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 This property is required. String
The device name
operatingSystem This property is required.
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 This property is required.
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 This property is required. 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)
resources:  _:    type: packet:Device    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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.