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

    new Device(name: string, args: DeviceArgs, opts?: CustomResourceOptions);
    @overload
    def Device(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               always_pxe: Optional[bool] = None,
               billing_cycle: 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,
               operating_system: Optional[str] = None,
               plan: Optional[str] = None,
               project_id: 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)
    @overload
    def Device(resource_name: str,
               args: DeviceArgs,
               opts: Optional[ResourceOptions] = 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.
    
    
    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.

    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