packet

package
v3.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2020 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

A Pulumi package for creating and managing Packet cloud resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BgpSession

type BgpSession struct {
	pulumi.CustomResourceState

	// `ipv4` or `ipv6`
	AddressFamily pulumi.StringOutput `pulumi:"addressFamily"`
	// Boolean flag to set the default route policy. False by default.
	DefaultRoute pulumi.BoolPtrOutput `pulumi:"defaultRoute"`
	// ID of device
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	Status   pulumi.StringOutput `pulumi:"status"`
}

Provides a resource to manage BGP sessions in Packet Host. Refer to [Packet BGP documentation](https://www.packet.com/developers/docs/network/advanced/local-and-global-bgp/) for more details.

You need to have BGP config enabled in your project.

BGP session must be linked to a device running [BIRD](https://bird.network.cz) or other BGP routing daemon which will control route advertisements via the session to Packet's upstream routers.

func GetBgpSession

func GetBgpSession(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BgpSessionState, opts ...pulumi.ResourceOption) (*BgpSession, error)

GetBgpSession gets an existing BgpSession resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBgpSession

func NewBgpSession(ctx *pulumi.Context,
	name string, args *BgpSessionArgs, opts ...pulumi.ResourceOption) (*BgpSession, error)

NewBgpSession registers a new resource with the given unique name, arguments, and options.

type BgpSessionArgs

type BgpSessionArgs struct {
	// `ipv4` or `ipv6`
	AddressFamily pulumi.StringInput
	// Boolean flag to set the default route policy. False by default.
	DefaultRoute pulumi.BoolPtrInput
	// ID of device
	DeviceId pulumi.StringInput
}

The set of arguments for constructing a BgpSession resource.

func (BgpSessionArgs) ElementType

func (BgpSessionArgs) ElementType() reflect.Type

type BgpSessionState

type BgpSessionState struct {
	// `ipv4` or `ipv6`
	AddressFamily pulumi.StringPtrInput
	// Boolean flag to set the default route policy. False by default.
	DefaultRoute pulumi.BoolPtrInput
	// ID of device
	DeviceId pulumi.StringPtrInput
	Status   pulumi.StringPtrInput
}

func (BgpSessionState) ElementType

func (BgpSessionState) ElementType() reflect.Type

type Device

type Device struct {
	pulumi.CustomResourceState

	// The ipv4 private IP assigned to the device
	AccessPrivateIpv4 pulumi.StringOutput `pulumi:"accessPrivateIpv4"`
	// The ipv4 maintenance IP assigned to the device
	AccessPublicIpv4 pulumi.StringOutput `pulumi:"accessPublicIpv4"`
	// The ipv6 maintenance IP assigned to the device
	AccessPublicIpv6 pulumi.StringOutput `pulumi:"accessPublicIpv6"`
	// If true, a device with OS `customIpxe` will
	// continue to boot via iPXE on reboots.
	AlwaysPxe pulumi.BoolPtrOutput `pulumi:"alwaysPxe"`
	// monthly or hourly
	BillingCycle pulumi.StringOutput `pulumi:"billingCycle"`
	// The timestamp for when the device was created
	Created pulumi.StringOutput `pulumi:"created"`
	// The facility where the device is deployed.
	DeployedFacility pulumi.StringOutput `pulumi:"deployedFacility"`
	// Description string for the device
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// 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](https://www.packet.com/developers/api/facilities), set your API auth token in the top of the page and see JSON from the API response.
	Facilities pulumi.StringArrayOutput `pulumi:"facilities"`
	// Delete device even if it has volumes attached. Only applies for destroy action.
	ForceDetachVolumes pulumi.BoolPtrOutput `pulumi:"forceDetachVolumes"`
	// The ID of hardware reservation which this device occupies
	// * `hostname`- The hostname of the device
	HardwareReservationId pulumi.StringOutput `pulumi:"hardwareReservationId"`
	// The device name
	Hostname pulumi.StringOutput `pulumi:"hostname"`
	// A list of IP address types for the device (structure is documented below).
	IpAddresses DeviceIpAddressArrayOutput `pulumi:"ipAddresses"`
	// URL pointing to a hosted iPXE script. More
	// information is in the
	// [Custom iPXE](https://www.packet.com/developers/docs/servers/operating-systems/custom-ipxe/)
	// doc.
	IpxeScriptUrl pulumi.StringPtrOutput `pulumi:"ipxeScriptUrl"`
	// Whether the device is locked
	Locked pulumi.BoolOutput `pulumi:"locked"`
	// Deprecated: You should handle Network Type with the new packet_device_network_type resource.
	NetworkType pulumi.StringOutput `pulumi:"networkType"`
	// 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:
	Networks DeviceNetworkArrayOutput `pulumi:"networks"`
	// The operating system slug. To find the slug, or visit [Operating Systems API docs](https://www.packet.com/developers/api/operatingsystems), set your API auth token in the top of the page and see JSON from the API response.
	OperatingSystem pulumi.StringOutput `pulumi:"operatingSystem"`
	// The device plan slug. To find the plan slug, visit [Device plans API docs](https://www.packet.com/developers/api/plans), set your auth token in the top of the page and see JSON from the API response.
	Plan pulumi.StringOutput `pulumi:"plan"`
	// Ports assigned to the device
	Ports DevicePortArrayOutput `pulumi:"ports"`
	// The ID of the project in which to create the device
	ProjectId        pulumi.StringOutput      `pulumi:"projectId"`
	ProjectSshKeyIds pulumi.StringArrayOutput `pulumi:"projectSshKeyIds"`
	// Root password to the server (disabled after 24 hours)
	RootPassword pulumi.StringOutput `pulumi:"rootPassword"`
	// List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
	SshKeyIds pulumi.StringArrayOutput `pulumi:"sshKeyIds"`
	// The status of the device
	State pulumi.StringOutput `pulumi:"state"`
	// JSON for custom partitioning. Only usable on reserved hardware. More information in in the [Custom Partitioning and RAID](https://www.packet.com/developers/docs/servers/key-features/cpr/) 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).
	Storage pulumi.StringPtrOutput `pulumi:"storage"`
	// Tags attached to the device
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The timestamp for the last time the device was updated
	Updated pulumi.StringOutput `pulumi:"updated"`
	// A string of the desired User Data for the device.
	UserData pulumi.StringPtrOutput `pulumi:"userData"`
	// 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).
	WaitForReservationDeprovision pulumi.BoolPtrOutput `pulumi:"waitForReservationDeprovision"`
}

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

> **Note:** All arguments including the `rootPassword` and `userData` will be stored in

the raw state as plain-text.

[Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).

## Example Usage

Create a device and add it to coolProject

```go 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
	})
}

```

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

```go 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
	})
}

```

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

```go 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
	})
}

```

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

```go 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
	})
}

```

func GetDevice

func GetDevice(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DeviceState, opts ...pulumi.ResourceOption) (*Device, error)

GetDevice gets an existing Device resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDevice

func NewDevice(ctx *pulumi.Context,
	name string, args *DeviceArgs, opts ...pulumi.ResourceOption) (*Device, error)

NewDevice registers a new resource with the given unique name, arguments, and options.

type DeviceArgs

type DeviceArgs struct {
	// If true, a device with OS `customIpxe` will
	// continue to boot via iPXE on reboots.
	AlwaysPxe pulumi.BoolPtrInput
	// monthly or hourly
	BillingCycle pulumi.StringInput
	// Description string for the device
	Description pulumi.StringPtrInput
	// 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](https://www.packet.com/developers/api/facilities), set your API auth token in the top of the page and see JSON from the API response.
	Facilities pulumi.StringArrayInput
	// Delete device even if it has volumes attached. Only applies for destroy action.
	ForceDetachVolumes pulumi.BoolPtrInput
	// The ID of hardware reservation which this device occupies
	// * `hostname`- The hostname of the device
	HardwareReservationId pulumi.StringPtrInput
	// The device name
	Hostname pulumi.StringInput
	// A list of IP address types for the device (structure is documented below).
	IpAddresses DeviceIpAddressArrayInput
	// URL pointing to a hosted iPXE script. More
	// information is in the
	// [Custom iPXE](https://www.packet.com/developers/docs/servers/operating-systems/custom-ipxe/)
	// doc.
	IpxeScriptUrl pulumi.StringPtrInput
	// The operating system slug. To find the slug, or visit [Operating Systems API docs](https://www.packet.com/developers/api/operatingsystems), set your API auth token in the top of the page and see JSON from the API response.
	OperatingSystem pulumi.StringInput
	// The device plan slug. To find the plan slug, visit [Device plans API docs](https://www.packet.com/developers/api/plans), set your auth token in the top of the page and see JSON from the API response.
	Plan pulumi.StringInput
	// The ID of the project in which to create the device
	ProjectId        pulumi.StringInput
	ProjectSshKeyIds pulumi.StringArrayInput
	// JSON for custom partitioning. Only usable on reserved hardware. More information in in the [Custom Partitioning and RAID](https://www.packet.com/developers/docs/servers/key-features/cpr/) 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).
	Storage pulumi.StringPtrInput
	// Tags attached to the device
	Tags pulumi.StringArrayInput
	// A string of the desired User Data for the device.
	UserData pulumi.StringPtrInput
	// 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).
	WaitForReservationDeprovision pulumi.BoolPtrInput
}

The set of arguments for constructing a Device resource.

func (DeviceArgs) ElementType

func (DeviceArgs) ElementType() reflect.Type

type DeviceIpAddress

type DeviceIpAddress struct {
	// CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
	Cidr           *int     `pulumi:"cidr"`
	ReservationIds []string `pulumi:"reservationIds"`
	// One of [`privateIpv4`, `publicIpv4`, `publicIpv6`]
	Type string `pulumi:"type"`
}

type DeviceIpAddressArgs

type DeviceIpAddressArgs struct {
	// CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
	Cidr           pulumi.IntPtrInput      `pulumi:"cidr"`
	ReservationIds pulumi.StringArrayInput `pulumi:"reservationIds"`
	// One of [`privateIpv4`, `publicIpv4`, `publicIpv6`]
	Type pulumi.StringInput `pulumi:"type"`
}

func (DeviceIpAddressArgs) ElementType

func (DeviceIpAddressArgs) ElementType() reflect.Type

func (DeviceIpAddressArgs) ToDeviceIpAddressOutput

func (i DeviceIpAddressArgs) ToDeviceIpAddressOutput() DeviceIpAddressOutput

func (DeviceIpAddressArgs) ToDeviceIpAddressOutputWithContext

func (i DeviceIpAddressArgs) ToDeviceIpAddressOutputWithContext(ctx context.Context) DeviceIpAddressOutput

type DeviceIpAddressArray

type DeviceIpAddressArray []DeviceIpAddressInput

func (DeviceIpAddressArray) ElementType

func (DeviceIpAddressArray) ElementType() reflect.Type

func (DeviceIpAddressArray) ToDeviceIpAddressArrayOutput

func (i DeviceIpAddressArray) ToDeviceIpAddressArrayOutput() DeviceIpAddressArrayOutput

func (DeviceIpAddressArray) ToDeviceIpAddressArrayOutputWithContext

func (i DeviceIpAddressArray) ToDeviceIpAddressArrayOutputWithContext(ctx context.Context) DeviceIpAddressArrayOutput

type DeviceIpAddressArrayInput

type DeviceIpAddressArrayInput interface {
	pulumi.Input

	ToDeviceIpAddressArrayOutput() DeviceIpAddressArrayOutput
	ToDeviceIpAddressArrayOutputWithContext(context.Context) DeviceIpAddressArrayOutput
}

DeviceIpAddressArrayInput is an input type that accepts DeviceIpAddressArray and DeviceIpAddressArrayOutput values. You can construct a concrete instance of `DeviceIpAddressArrayInput` via:

DeviceIpAddressArray{ DeviceIpAddressArgs{...} }

type DeviceIpAddressArrayOutput

type DeviceIpAddressArrayOutput struct{ *pulumi.OutputState }

func (DeviceIpAddressArrayOutput) ElementType

func (DeviceIpAddressArrayOutput) ElementType() reflect.Type

func (DeviceIpAddressArrayOutput) Index

func (DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutput

func (o DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutput() DeviceIpAddressArrayOutput

func (DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutputWithContext

func (o DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutputWithContext(ctx context.Context) DeviceIpAddressArrayOutput

type DeviceIpAddressInput

type DeviceIpAddressInput interface {
	pulumi.Input

	ToDeviceIpAddressOutput() DeviceIpAddressOutput
	ToDeviceIpAddressOutputWithContext(context.Context) DeviceIpAddressOutput
}

DeviceIpAddressInput is an input type that accepts DeviceIpAddressArgs and DeviceIpAddressOutput values. You can construct a concrete instance of `DeviceIpAddressInput` via:

DeviceIpAddressArgs{...}

type DeviceIpAddressOutput

type DeviceIpAddressOutput struct{ *pulumi.OutputState }

func (DeviceIpAddressOutput) Cidr

CIDR suffix for IP address block to be assigned, i.e. amount of addresses.

func (DeviceIpAddressOutput) ElementType

func (DeviceIpAddressOutput) ElementType() reflect.Type

func (DeviceIpAddressOutput) ReservationIds

func (o DeviceIpAddressOutput) ReservationIds() pulumi.StringArrayOutput

func (DeviceIpAddressOutput) ToDeviceIpAddressOutput

func (o DeviceIpAddressOutput) ToDeviceIpAddressOutput() DeviceIpAddressOutput

func (DeviceIpAddressOutput) ToDeviceIpAddressOutputWithContext

func (o DeviceIpAddressOutput) ToDeviceIpAddressOutputWithContext(ctx context.Context) DeviceIpAddressOutput

func (DeviceIpAddressOutput) Type

One of [`privateIpv4`, `publicIpv4`, `publicIpv6`]

type DeviceNetwork

type DeviceNetwork struct {
	// IPv4 or IPv6 address string
	Address *string `pulumi:"address"`
	// CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
	Cidr *int `pulumi:"cidr"`
	// IP version - "4" or "6"
	// * `networkType` Network type of a device, used in [Layer 2 networking](https://www.packet.com/developers/docs/network/advanced/layer-2/). Will be one of `layer3`, `hybrid`, `layer2-individual` and `layer2-bonded`.
	Family *int `pulumi:"family"`
	// address of router
	Gateway *string `pulumi:"gateway"`
	// whether the address is routable from the Internet
	Public *bool `pulumi:"public"`
}

type DeviceNetworkArgs

type DeviceNetworkArgs struct {
	// IPv4 or IPv6 address string
	Address pulumi.StringPtrInput `pulumi:"address"`
	// CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
	Cidr pulumi.IntPtrInput `pulumi:"cidr"`
	// IP version - "4" or "6"
	// * `networkType` Network type of a device, used in [Layer 2 networking](https://www.packet.com/developers/docs/network/advanced/layer-2/). Will be one of `layer3`, `hybrid`, `layer2-individual` and `layer2-bonded`.
	Family pulumi.IntPtrInput `pulumi:"family"`
	// address of router
	Gateway pulumi.StringPtrInput `pulumi:"gateway"`
	// whether the address is routable from the Internet
	Public pulumi.BoolPtrInput `pulumi:"public"`
}

func (DeviceNetworkArgs) ElementType

func (DeviceNetworkArgs) ElementType() reflect.Type

func (DeviceNetworkArgs) ToDeviceNetworkOutput

func (i DeviceNetworkArgs) ToDeviceNetworkOutput() DeviceNetworkOutput

func (DeviceNetworkArgs) ToDeviceNetworkOutputWithContext

func (i DeviceNetworkArgs) ToDeviceNetworkOutputWithContext(ctx context.Context) DeviceNetworkOutput

type DeviceNetworkArray

type DeviceNetworkArray []DeviceNetworkInput

func (DeviceNetworkArray) ElementType

func (DeviceNetworkArray) ElementType() reflect.Type

func (DeviceNetworkArray) ToDeviceNetworkArrayOutput

func (i DeviceNetworkArray) ToDeviceNetworkArrayOutput() DeviceNetworkArrayOutput

func (DeviceNetworkArray) ToDeviceNetworkArrayOutputWithContext

func (i DeviceNetworkArray) ToDeviceNetworkArrayOutputWithContext(ctx context.Context) DeviceNetworkArrayOutput

type DeviceNetworkArrayInput

type DeviceNetworkArrayInput interface {
	pulumi.Input

	ToDeviceNetworkArrayOutput() DeviceNetworkArrayOutput
	ToDeviceNetworkArrayOutputWithContext(context.Context) DeviceNetworkArrayOutput
}

DeviceNetworkArrayInput is an input type that accepts DeviceNetworkArray and DeviceNetworkArrayOutput values. You can construct a concrete instance of `DeviceNetworkArrayInput` via:

DeviceNetworkArray{ DeviceNetworkArgs{...} }

type DeviceNetworkArrayOutput

type DeviceNetworkArrayOutput struct{ *pulumi.OutputState }

func (DeviceNetworkArrayOutput) ElementType

func (DeviceNetworkArrayOutput) ElementType() reflect.Type

func (DeviceNetworkArrayOutput) Index

func (DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutput

func (o DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutput() DeviceNetworkArrayOutput

func (DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutputWithContext

func (o DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutputWithContext(ctx context.Context) DeviceNetworkArrayOutput

type DeviceNetworkInput

type DeviceNetworkInput interface {
	pulumi.Input

	ToDeviceNetworkOutput() DeviceNetworkOutput
	ToDeviceNetworkOutputWithContext(context.Context) DeviceNetworkOutput
}

DeviceNetworkInput is an input type that accepts DeviceNetworkArgs and DeviceNetworkOutput values. You can construct a concrete instance of `DeviceNetworkInput` via:

DeviceNetworkArgs{...}

type DeviceNetworkOutput

type DeviceNetworkOutput struct{ *pulumi.OutputState }

func (DeviceNetworkOutput) Address

IPv4 or IPv6 address string

func (DeviceNetworkOutput) Cidr

CIDR suffix for IP address block to be assigned, i.e. amount of addresses.

func (DeviceNetworkOutput) ElementType

func (DeviceNetworkOutput) ElementType() reflect.Type

func (DeviceNetworkOutput) Family

IP version - "4" or "6" * `networkType` Network type of a device, used in [Layer 2 networking](https://www.packet.com/developers/docs/network/advanced/layer-2/). Will be one of `layer3`, `hybrid`, `layer2-individual` and `layer2-bonded`.

func (DeviceNetworkOutput) Gateway

address of router

func (DeviceNetworkOutput) Public

whether the address is routable from the Internet

func (DeviceNetworkOutput) ToDeviceNetworkOutput

func (o DeviceNetworkOutput) ToDeviceNetworkOutput() DeviceNetworkOutput

func (DeviceNetworkOutput) ToDeviceNetworkOutputWithContext

func (o DeviceNetworkOutput) ToDeviceNetworkOutputWithContext(ctx context.Context) DeviceNetworkOutput

type DeviceNetworkType

type DeviceNetworkType struct {
	pulumi.CustomResourceState

	// The ID of the device on which the network type should be set.
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// Network type to set. Must be one of `layer3`, `hybrid`, `layer2-individual` and `layer2-bonded`.
	Type pulumi.StringOutput `pulumi:"type"`
}

func GetDeviceNetworkType

func GetDeviceNetworkType(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DeviceNetworkTypeState, opts ...pulumi.ResourceOption) (*DeviceNetworkType, error)

GetDeviceNetworkType gets an existing DeviceNetworkType resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDeviceNetworkType

func NewDeviceNetworkType(ctx *pulumi.Context,
	name string, args *DeviceNetworkTypeArgs, opts ...pulumi.ResourceOption) (*DeviceNetworkType, error)

NewDeviceNetworkType registers a new resource with the given unique name, arguments, and options.

type DeviceNetworkTypeArgs

type DeviceNetworkTypeArgs struct {
	// The ID of the device on which the network type should be set.
	DeviceId pulumi.StringInput
	// Network type to set. Must be one of `layer3`, `hybrid`, `layer2-individual` and `layer2-bonded`.
	Type pulumi.StringInput
}

The set of arguments for constructing a DeviceNetworkType resource.

func (DeviceNetworkTypeArgs) ElementType

func (DeviceNetworkTypeArgs) ElementType() reflect.Type

type DeviceNetworkTypeState

type DeviceNetworkTypeState struct {
	// The ID of the device on which the network type should be set.
	DeviceId pulumi.StringPtrInput
	// Network type to set. Must be one of `layer3`, `hybrid`, `layer2-individual` and `layer2-bonded`.
	Type pulumi.StringPtrInput
}

func (DeviceNetworkTypeState) ElementType

func (DeviceNetworkTypeState) ElementType() reflect.Type

type DevicePort

type DevicePort struct {
	// Whether this port is part of a bond in bonded network setup
	// * `projectId`- The ID of the project the device belongs to
	Bonded *bool `pulumi:"bonded"`
	// ID of the port
	Id *string `pulumi:"id"`
	// MAC address assigned to the port
	Mac *string `pulumi:"mac"`
	// Name of the port (e.g. `eth0`, or `bond0`)
	Name *string `pulumi:"name"`
	// One of [`privateIpv4`, `publicIpv4`, `publicIpv6`]
	Type *string `pulumi:"type"`
}

type DevicePortArgs

type DevicePortArgs struct {
	// Whether this port is part of a bond in bonded network setup
	// * `projectId`- The ID of the project the device belongs to
	Bonded pulumi.BoolPtrInput `pulumi:"bonded"`
	// ID of the port
	Id pulumi.StringPtrInput `pulumi:"id"`
	// MAC address assigned to the port
	Mac pulumi.StringPtrInput `pulumi:"mac"`
	// Name of the port (e.g. `eth0`, or `bond0`)
	Name pulumi.StringPtrInput `pulumi:"name"`
	// One of [`privateIpv4`, `publicIpv4`, `publicIpv6`]
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (DevicePortArgs) ElementType

func (DevicePortArgs) ElementType() reflect.Type

func (DevicePortArgs) ToDevicePortOutput

func (i DevicePortArgs) ToDevicePortOutput() DevicePortOutput

func (DevicePortArgs) ToDevicePortOutputWithContext

func (i DevicePortArgs) ToDevicePortOutputWithContext(ctx context.Context) DevicePortOutput

type DevicePortArray

type DevicePortArray []DevicePortInput

func (DevicePortArray) ElementType

func (DevicePortArray) ElementType() reflect.Type

func (DevicePortArray) ToDevicePortArrayOutput

func (i DevicePortArray) ToDevicePortArrayOutput() DevicePortArrayOutput

func (DevicePortArray) ToDevicePortArrayOutputWithContext

func (i DevicePortArray) ToDevicePortArrayOutputWithContext(ctx context.Context) DevicePortArrayOutput

type DevicePortArrayInput

type DevicePortArrayInput interface {
	pulumi.Input

	ToDevicePortArrayOutput() DevicePortArrayOutput
	ToDevicePortArrayOutputWithContext(context.Context) DevicePortArrayOutput
}

DevicePortArrayInput is an input type that accepts DevicePortArray and DevicePortArrayOutput values. You can construct a concrete instance of `DevicePortArrayInput` via:

DevicePortArray{ DevicePortArgs{...} }

type DevicePortArrayOutput

type DevicePortArrayOutput struct{ *pulumi.OutputState }

func (DevicePortArrayOutput) ElementType

func (DevicePortArrayOutput) ElementType() reflect.Type

func (DevicePortArrayOutput) Index

func (DevicePortArrayOutput) ToDevicePortArrayOutput

func (o DevicePortArrayOutput) ToDevicePortArrayOutput() DevicePortArrayOutput

func (DevicePortArrayOutput) ToDevicePortArrayOutputWithContext

func (o DevicePortArrayOutput) ToDevicePortArrayOutputWithContext(ctx context.Context) DevicePortArrayOutput

type DevicePortInput

type DevicePortInput interface {
	pulumi.Input

	ToDevicePortOutput() DevicePortOutput
	ToDevicePortOutputWithContext(context.Context) DevicePortOutput
}

DevicePortInput is an input type that accepts DevicePortArgs and DevicePortOutput values. You can construct a concrete instance of `DevicePortInput` via:

DevicePortArgs{...}

type DevicePortOutput

type DevicePortOutput struct{ *pulumi.OutputState }

func (DevicePortOutput) Bonded

Whether this port is part of a bond in bonded network setup * `projectId`- The ID of the project the device belongs to

func (DevicePortOutput) ElementType

func (DevicePortOutput) ElementType() reflect.Type

func (DevicePortOutput) Id

ID of the port

func (DevicePortOutput) Mac

MAC address assigned to the port

func (DevicePortOutput) Name

Name of the port (e.g. `eth0`, or `bond0`)

func (DevicePortOutput) ToDevicePortOutput

func (o DevicePortOutput) ToDevicePortOutput() DevicePortOutput

func (DevicePortOutput) ToDevicePortOutputWithContext

func (o DevicePortOutput) ToDevicePortOutputWithContext(ctx context.Context) DevicePortOutput

func (DevicePortOutput) Type

One of [`privateIpv4`, `publicIpv4`, `publicIpv6`]

type DeviceState

type DeviceState struct {
	// The ipv4 private IP assigned to the device
	AccessPrivateIpv4 pulumi.StringPtrInput
	// The ipv4 maintenance IP assigned to the device
	AccessPublicIpv4 pulumi.StringPtrInput
	// The ipv6 maintenance IP assigned to the device
	AccessPublicIpv6 pulumi.StringPtrInput
	// If true, a device with OS `customIpxe` will
	// continue to boot via iPXE on reboots.
	AlwaysPxe pulumi.BoolPtrInput
	// monthly or hourly
	BillingCycle pulumi.StringPtrInput
	// The timestamp for when the device was created
	Created pulumi.StringPtrInput
	// The facility where the device is deployed.
	DeployedFacility pulumi.StringPtrInput
	// Description string for the device
	Description pulumi.StringPtrInput
	// 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](https://www.packet.com/developers/api/facilities), set your API auth token in the top of the page and see JSON from the API response.
	Facilities pulumi.StringArrayInput
	// Delete device even if it has volumes attached. Only applies for destroy action.
	ForceDetachVolumes pulumi.BoolPtrInput
	// The ID of hardware reservation which this device occupies
	// * `hostname`- The hostname of the device
	HardwareReservationId pulumi.StringPtrInput
	// The device name
	Hostname pulumi.StringPtrInput
	// A list of IP address types for the device (structure is documented below).
	IpAddresses DeviceIpAddressArrayInput
	// URL pointing to a hosted iPXE script. More
	// information is in the
	// [Custom iPXE](https://www.packet.com/developers/docs/servers/operating-systems/custom-ipxe/)
	// doc.
	IpxeScriptUrl pulumi.StringPtrInput
	// Whether the device is locked
	Locked pulumi.BoolPtrInput
	// Deprecated: You should handle Network Type with the new packet_device_network_type resource.
	NetworkType pulumi.StringPtrInput
	// 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:
	Networks DeviceNetworkArrayInput
	// The operating system slug. To find the slug, or visit [Operating Systems API docs](https://www.packet.com/developers/api/operatingsystems), set your API auth token in the top of the page and see JSON from the API response.
	OperatingSystem pulumi.StringPtrInput
	// The device plan slug. To find the plan slug, visit [Device plans API docs](https://www.packet.com/developers/api/plans), set your auth token in the top of the page and see JSON from the API response.
	Plan pulumi.StringPtrInput
	// Ports assigned to the device
	Ports DevicePortArrayInput
	// The ID of the project in which to create the device
	ProjectId        pulumi.StringPtrInput
	ProjectSshKeyIds pulumi.StringArrayInput
	// Root password to the server (disabled after 24 hours)
	RootPassword pulumi.StringPtrInput
	// List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
	SshKeyIds pulumi.StringArrayInput
	// The status of the device
	State pulumi.StringPtrInput
	// JSON for custom partitioning. Only usable on reserved hardware. More information in in the [Custom Partitioning and RAID](https://www.packet.com/developers/docs/servers/key-features/cpr/) 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).
	Storage pulumi.StringPtrInput
	// Tags attached to the device
	Tags pulumi.StringArrayInput
	// The timestamp for the last time the device was updated
	Updated pulumi.StringPtrInput
	// A string of the desired User Data for the device.
	UserData pulumi.StringPtrInput
	// 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).
	WaitForReservationDeprovision pulumi.BoolPtrInput
}

func (DeviceState) ElementType

func (DeviceState) ElementType() reflect.Type

type GetDeviceBgpNeighborsArgs

type GetDeviceBgpNeighborsArgs struct {
	// UUID of BGP-enabled device whose neighbors to list
	DeviceId string `pulumi:"deviceId"`
}

A collection of arguments for invoking getDeviceBgpNeighbors.

type GetDeviceBgpNeighborsBgpNeighbor

type GetDeviceBgpNeighborsBgpNeighbor struct {
	// IP address version, 4 or 6
	AddressFamily int `pulumi:"addressFamily"`
	// Local autonomous system number
	CustomerAs int `pulumi:"customerAs"`
	// Local used peer IP address
	CustomerIp string `pulumi:"customerIp"`
	// Whether BGP session is password enabled
	Md5Enabled bool `pulumi:"md5Enabled"`
	// BGP session password in plaintext (not a checksum)
	Md5Password string `pulumi:"md5Password"`
	// Whether the neighbor is in EBGP multihop session
	Multihop bool `pulumi:"multihop"`
	// Peer AS number (different than customerAs for EBGP)
	PeerAs int `pulumi:"peerAs"`
	// Array of IP addresses of this neighbor's peers
	PeerIps []string `pulumi:"peerIps"`
	// Array of incoming routes. Each route has attributes:
	RoutesIns []GetDeviceBgpNeighborsBgpNeighborRoutesIn `pulumi:"routesIns"`
	// Array of outgoing routes in the same format
	RoutesOuts []GetDeviceBgpNeighborsBgpNeighborRoutesOut `pulumi:"routesOuts"`
}

type GetDeviceBgpNeighborsBgpNeighborArgs

type GetDeviceBgpNeighborsBgpNeighborArgs struct {
	// IP address version, 4 or 6
	AddressFamily pulumi.IntInput `pulumi:"addressFamily"`
	// Local autonomous system number
	CustomerAs pulumi.IntInput `pulumi:"customerAs"`
	// Local used peer IP address
	CustomerIp pulumi.StringInput `pulumi:"customerIp"`
	// Whether BGP session is password enabled
	Md5Enabled pulumi.BoolInput `pulumi:"md5Enabled"`
	// BGP session password in plaintext (not a checksum)
	Md5Password pulumi.StringInput `pulumi:"md5Password"`
	// Whether the neighbor is in EBGP multihop session
	Multihop pulumi.BoolInput `pulumi:"multihop"`
	// Peer AS number (different than customerAs for EBGP)
	PeerAs pulumi.IntInput `pulumi:"peerAs"`
	// Array of IP addresses of this neighbor's peers
	PeerIps pulumi.StringArrayInput `pulumi:"peerIps"`
	// Array of incoming routes. Each route has attributes:
	RoutesIns GetDeviceBgpNeighborsBgpNeighborRoutesInArrayInput `pulumi:"routesIns"`
	// Array of outgoing routes in the same format
	RoutesOuts GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayInput `pulumi:"routesOuts"`
}

func (GetDeviceBgpNeighborsBgpNeighborArgs) ElementType

func (GetDeviceBgpNeighborsBgpNeighborArgs) ToGetDeviceBgpNeighborsBgpNeighborOutput

func (i GetDeviceBgpNeighborsBgpNeighborArgs) ToGetDeviceBgpNeighborsBgpNeighborOutput() GetDeviceBgpNeighborsBgpNeighborOutput

func (GetDeviceBgpNeighborsBgpNeighborArgs) ToGetDeviceBgpNeighborsBgpNeighborOutputWithContext

func (i GetDeviceBgpNeighborsBgpNeighborArgs) ToGetDeviceBgpNeighborsBgpNeighborOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborOutput

type GetDeviceBgpNeighborsBgpNeighborArray

type GetDeviceBgpNeighborsBgpNeighborArray []GetDeviceBgpNeighborsBgpNeighborInput

func (GetDeviceBgpNeighborsBgpNeighborArray) ElementType

func (GetDeviceBgpNeighborsBgpNeighborArray) ToGetDeviceBgpNeighborsBgpNeighborArrayOutput

func (i GetDeviceBgpNeighborsBgpNeighborArray) ToGetDeviceBgpNeighborsBgpNeighborArrayOutput() GetDeviceBgpNeighborsBgpNeighborArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborArray) ToGetDeviceBgpNeighborsBgpNeighborArrayOutputWithContext

func (i GetDeviceBgpNeighborsBgpNeighborArray) ToGetDeviceBgpNeighborsBgpNeighborArrayOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborArrayOutput

type GetDeviceBgpNeighborsBgpNeighborArrayInput

type GetDeviceBgpNeighborsBgpNeighborArrayInput interface {
	pulumi.Input

	ToGetDeviceBgpNeighborsBgpNeighborArrayOutput() GetDeviceBgpNeighborsBgpNeighborArrayOutput
	ToGetDeviceBgpNeighborsBgpNeighborArrayOutputWithContext(context.Context) GetDeviceBgpNeighborsBgpNeighborArrayOutput
}

GetDeviceBgpNeighborsBgpNeighborArrayInput is an input type that accepts GetDeviceBgpNeighborsBgpNeighborArray and GetDeviceBgpNeighborsBgpNeighborArrayOutput values. You can construct a concrete instance of `GetDeviceBgpNeighborsBgpNeighborArrayInput` via:

GetDeviceBgpNeighborsBgpNeighborArray{ GetDeviceBgpNeighborsBgpNeighborArgs{...} }

type GetDeviceBgpNeighborsBgpNeighborArrayOutput

type GetDeviceBgpNeighborsBgpNeighborArrayOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborArrayOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborArrayOutput) Index

func (GetDeviceBgpNeighborsBgpNeighborArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborArrayOutput

func (o GetDeviceBgpNeighborsBgpNeighborArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborArrayOutput() GetDeviceBgpNeighborsBgpNeighborArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborArrayOutputWithContext

func (o GetDeviceBgpNeighborsBgpNeighborArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborArrayOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborArrayOutput

type GetDeviceBgpNeighborsBgpNeighborInput

type GetDeviceBgpNeighborsBgpNeighborInput interface {
	pulumi.Input

	ToGetDeviceBgpNeighborsBgpNeighborOutput() GetDeviceBgpNeighborsBgpNeighborOutput
	ToGetDeviceBgpNeighborsBgpNeighborOutputWithContext(context.Context) GetDeviceBgpNeighborsBgpNeighborOutput
}

GetDeviceBgpNeighborsBgpNeighborInput is an input type that accepts GetDeviceBgpNeighborsBgpNeighborArgs and GetDeviceBgpNeighborsBgpNeighborOutput values. You can construct a concrete instance of `GetDeviceBgpNeighborsBgpNeighborInput` via:

GetDeviceBgpNeighborsBgpNeighborArgs{...}

type GetDeviceBgpNeighborsBgpNeighborOutput

type GetDeviceBgpNeighborsBgpNeighborOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborOutput) AddressFamily

IP address version, 4 or 6

func (GetDeviceBgpNeighborsBgpNeighborOutput) CustomerAs

Local autonomous system number

func (GetDeviceBgpNeighborsBgpNeighborOutput) CustomerIp

Local used peer IP address

func (GetDeviceBgpNeighborsBgpNeighborOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborOutput) Md5Enabled

Whether BGP session is password enabled

func (GetDeviceBgpNeighborsBgpNeighborOutput) Md5Password

BGP session password in plaintext (not a checksum)

func (GetDeviceBgpNeighborsBgpNeighborOutput) Multihop

Whether the neighbor is in EBGP multihop session

func (GetDeviceBgpNeighborsBgpNeighborOutput) PeerAs

Peer AS number (different than customerAs for EBGP)

func (GetDeviceBgpNeighborsBgpNeighborOutput) PeerIps

Array of IP addresses of this neighbor's peers

func (GetDeviceBgpNeighborsBgpNeighborOutput) RoutesIns

Array of incoming routes. Each route has attributes:

func (GetDeviceBgpNeighborsBgpNeighborOutput) RoutesOuts

Array of outgoing routes in the same format

func (GetDeviceBgpNeighborsBgpNeighborOutput) ToGetDeviceBgpNeighborsBgpNeighborOutput

func (o GetDeviceBgpNeighborsBgpNeighborOutput) ToGetDeviceBgpNeighborsBgpNeighborOutput() GetDeviceBgpNeighborsBgpNeighborOutput

func (GetDeviceBgpNeighborsBgpNeighborOutput) ToGetDeviceBgpNeighborsBgpNeighborOutputWithContext

func (o GetDeviceBgpNeighborsBgpNeighborOutput) ToGetDeviceBgpNeighborsBgpNeighborOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesIn

type GetDeviceBgpNeighborsBgpNeighborRoutesIn struct {
	// (bool) Whether the route is exact
	Exact bool `pulumi:"exact"`
	// CIDR expression of route (ip/mask)
	Route string `pulumi:"route"`
}

type GetDeviceBgpNeighborsBgpNeighborRoutesInArgs

type GetDeviceBgpNeighborsBgpNeighborRoutesInArgs struct {
	// (bool) Whether the route is exact
	Exact pulumi.BoolInput `pulumi:"exact"`
	// CIDR expression of route (ip/mask)
	Route pulumi.StringInput `pulumi:"route"`
}

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArgs) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutput

func (i GetDeviceBgpNeighborsBgpNeighborRoutesInArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutputWithContext

func (i GetDeviceBgpNeighborsBgpNeighborRoutesInArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesInOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesInArray

type GetDeviceBgpNeighborsBgpNeighborRoutesInArray []GetDeviceBgpNeighborsBgpNeighborRoutesInInput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArray) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

func (i GetDeviceBgpNeighborsBgpNeighborRoutesInArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutputWithContext

func (i GetDeviceBgpNeighborsBgpNeighborRoutesInArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesInArrayInput

type GetDeviceBgpNeighborsBgpNeighborRoutesInArrayInput interface {
	pulumi.Input

	ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput
	ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutputWithContext(context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput
}

GetDeviceBgpNeighborsBgpNeighborRoutesInArrayInput is an input type that accepts GetDeviceBgpNeighborsBgpNeighborRoutesInArray and GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput values. You can construct a concrete instance of `GetDeviceBgpNeighborsBgpNeighborRoutesInArrayInput` via:

GetDeviceBgpNeighborsBgpNeighborRoutesInArray{ GetDeviceBgpNeighborsBgpNeighborRoutesInArgs{...} }

type GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) Index

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

func (o GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutputWithContext

func (o GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesInInput

type GetDeviceBgpNeighborsBgpNeighborRoutesInInput interface {
	pulumi.Input

	ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInOutput
	ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutputWithContext(context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesInOutput
}

GetDeviceBgpNeighborsBgpNeighborRoutesInInput is an input type that accepts GetDeviceBgpNeighborsBgpNeighborRoutesInArgs and GetDeviceBgpNeighborsBgpNeighborRoutesInOutput values. You can construct a concrete instance of `GetDeviceBgpNeighborsBgpNeighborRoutesInInput` via:

GetDeviceBgpNeighborsBgpNeighborRoutesInArgs{...}

type GetDeviceBgpNeighborsBgpNeighborRoutesInOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesInOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) Exact

(bool) Whether the route is exact

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) Route

CIDR expression of route (ip/mask)

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutput

func (o GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutputWithContext

func (o GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesInOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesOut

type GetDeviceBgpNeighborsBgpNeighborRoutesOut struct {
	// (bool) Whether the route is exact
	Exact bool `pulumi:"exact"`
	// CIDR expression of route (ip/mask)
	Route string `pulumi:"route"`
}

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs struct {
	// (bool) Whether the route is exact
	Exact pulumi.BoolInput `pulumi:"exact"`
	// CIDR expression of route (ip/mask)
	Route pulumi.StringInput `pulumi:"route"`
}

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

func (i GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutput() GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutputWithContext

func (i GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArray

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArray []GetDeviceBgpNeighborsBgpNeighborRoutesOutInput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArray) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

func (i GetDeviceBgpNeighborsBgpNeighborRoutesOutArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput() GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutputWithContext

func (i GetDeviceBgpNeighborsBgpNeighborRoutesOutArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayInput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayInput interface {
	pulumi.Input

	ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput() GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput
	ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutputWithContext(context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput
}

GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayInput is an input type that accepts GetDeviceBgpNeighborsBgpNeighborRoutesOutArray and GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput values. You can construct a concrete instance of `GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayInput` via:

GetDeviceBgpNeighborsBgpNeighborRoutesOutArray{ GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs{...} }

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput) Index

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutputWithContext

func (o GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutInput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutInput interface {
	pulumi.Input

	ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutput() GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput
	ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutputWithContext(context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput
}

GetDeviceBgpNeighborsBgpNeighborRoutesOutInput is an input type that accepts GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs and GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput values. You can construct a concrete instance of `GetDeviceBgpNeighborsBgpNeighborRoutesOutInput` via:

GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs{...}

type GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) Exact

(bool) Whether the route is exact

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) Route

CIDR expression of route (ip/mask)

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

func (o GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutput() GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutputWithContext

func (o GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

type GetDeviceBgpNeighborsResult

type GetDeviceBgpNeighborsResult struct {
	// array of BGP neighbor records with attributes:
	BgpNeighbors []GetDeviceBgpNeighborsBgpNeighbor `pulumi:"bgpNeighbors"`
	DeviceId     string                             `pulumi:"deviceId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

A collection of values returned by getDeviceBgpNeighbors.

func GetDeviceBgpNeighbors

func GetDeviceBgpNeighbors(ctx *pulumi.Context, args *GetDeviceBgpNeighborsArgs, opts ...pulumi.InvokeOption) (*GetDeviceBgpNeighborsResult, error)

Use this datasource to retrieve list of BGP neighbors of a device in the Packet host.

To have any BGP neighbors listed, the device must be in BGP-enabled project and have a BGP session assigned.

To learn more about using BGP in Packet, see the BgpSession resource documentation.

## Example Usage

```go 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 {
		test, err := packet.GetDeviceBgpNeighbors(ctx, &packet.GetDeviceBgpNeighborsArgs{
			DeviceId: "4c641195-25e5-4c3c-b2b7-4cd7a42c7b40",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bgpNeighborsListing", test.BgpNeighbors)
		return nil
	})
}

```

type GetDeviceNetwork

type GetDeviceNetwork struct {
	// IPv4 or IPv6 address string
	Address string `pulumi:"address"`
	// Bit length of the network mask of the address
	Cidr int `pulumi:"cidr"`
	// IP version - "4" or "6"
	Family int `pulumi:"family"`
	// Address of router
	Gateway string `pulumi:"gateway"`
	// Whether the address is routable from the Internet
	Public bool `pulumi:"public"`
}

type GetDeviceNetworkArgs

type GetDeviceNetworkArgs struct {
	// IPv4 or IPv6 address string
	Address pulumi.StringInput `pulumi:"address"`
	// Bit length of the network mask of the address
	Cidr pulumi.IntInput `pulumi:"cidr"`
	// IP version - "4" or "6"
	Family pulumi.IntInput `pulumi:"family"`
	// Address of router
	Gateway pulumi.StringInput `pulumi:"gateway"`
	// Whether the address is routable from the Internet
	Public pulumi.BoolInput `pulumi:"public"`
}

func (GetDeviceNetworkArgs) ElementType

func (GetDeviceNetworkArgs) ElementType() reflect.Type

func (GetDeviceNetworkArgs) ToGetDeviceNetworkOutput

func (i GetDeviceNetworkArgs) ToGetDeviceNetworkOutput() GetDeviceNetworkOutput

func (GetDeviceNetworkArgs) ToGetDeviceNetworkOutputWithContext

func (i GetDeviceNetworkArgs) ToGetDeviceNetworkOutputWithContext(ctx context.Context) GetDeviceNetworkOutput

type GetDeviceNetworkArray

type GetDeviceNetworkArray []GetDeviceNetworkInput

func (GetDeviceNetworkArray) ElementType

func (GetDeviceNetworkArray) ElementType() reflect.Type

func (GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutput

func (i GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutput() GetDeviceNetworkArrayOutput

func (GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutputWithContext

func (i GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutputWithContext(ctx context.Context) GetDeviceNetworkArrayOutput

type GetDeviceNetworkArrayInput

type GetDeviceNetworkArrayInput interface {
	pulumi.Input

	ToGetDeviceNetworkArrayOutput() GetDeviceNetworkArrayOutput
	ToGetDeviceNetworkArrayOutputWithContext(context.Context) GetDeviceNetworkArrayOutput
}

GetDeviceNetworkArrayInput is an input type that accepts GetDeviceNetworkArray and GetDeviceNetworkArrayOutput values. You can construct a concrete instance of `GetDeviceNetworkArrayInput` via:

GetDeviceNetworkArray{ GetDeviceNetworkArgs{...} }

type GetDeviceNetworkArrayOutput

type GetDeviceNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetDeviceNetworkArrayOutput) ElementType

func (GetDeviceNetworkArrayOutput) Index

func (GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutput

func (o GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutput() GetDeviceNetworkArrayOutput

func (GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutputWithContext

func (o GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutputWithContext(ctx context.Context) GetDeviceNetworkArrayOutput

type GetDeviceNetworkInput

type GetDeviceNetworkInput interface {
	pulumi.Input

	ToGetDeviceNetworkOutput() GetDeviceNetworkOutput
	ToGetDeviceNetworkOutputWithContext(context.Context) GetDeviceNetworkOutput
}

GetDeviceNetworkInput is an input type that accepts GetDeviceNetworkArgs and GetDeviceNetworkOutput values. You can construct a concrete instance of `GetDeviceNetworkInput` via:

GetDeviceNetworkArgs{...}

type GetDeviceNetworkOutput

type GetDeviceNetworkOutput struct{ *pulumi.OutputState }

func (GetDeviceNetworkOutput) Address

IPv4 or IPv6 address string

func (GetDeviceNetworkOutput) Cidr

Bit length of the network mask of the address

func (GetDeviceNetworkOutput) ElementType

func (GetDeviceNetworkOutput) ElementType() reflect.Type

func (GetDeviceNetworkOutput) Family

IP version - "4" or "6"

func (GetDeviceNetworkOutput) Gateway

Address of router

func (GetDeviceNetworkOutput) Public

Whether the address is routable from the Internet

func (GetDeviceNetworkOutput) ToGetDeviceNetworkOutput

func (o GetDeviceNetworkOutput) ToGetDeviceNetworkOutput() GetDeviceNetworkOutput

func (GetDeviceNetworkOutput) ToGetDeviceNetworkOutputWithContext

func (o GetDeviceNetworkOutput) ToGetDeviceNetworkOutputWithContext(ctx context.Context) GetDeviceNetworkOutput

type GetDevicePort

type GetDevicePort struct {
	// Whether this port is part of a bond in bonded network setup
	Bonded bool `pulumi:"bonded"`
	// ID of the port
	Id string `pulumi:"id"`
	// MAC address assigned to the port
	Mac string `pulumi:"mac"`
	// Name of the port (e.g. `eth0`, or `bond0`)
	Name string `pulumi:"name"`
	// Type of the port (e.g. `NetworkPort` or `NetworkBondPort`)
	Type string `pulumi:"type"`
}

type GetDevicePortArgs

type GetDevicePortArgs struct {
	// Whether this port is part of a bond in bonded network setup
	Bonded pulumi.BoolInput `pulumi:"bonded"`
	// ID of the port
	Id pulumi.StringInput `pulumi:"id"`
	// MAC address assigned to the port
	Mac pulumi.StringInput `pulumi:"mac"`
	// Name of the port (e.g. `eth0`, or `bond0`)
	Name pulumi.StringInput `pulumi:"name"`
	// Type of the port (e.g. `NetworkPort` or `NetworkBondPort`)
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetDevicePortArgs) ElementType

func (GetDevicePortArgs) ElementType() reflect.Type

func (GetDevicePortArgs) ToGetDevicePortOutput

func (i GetDevicePortArgs) ToGetDevicePortOutput() GetDevicePortOutput

func (GetDevicePortArgs) ToGetDevicePortOutputWithContext

func (i GetDevicePortArgs) ToGetDevicePortOutputWithContext(ctx context.Context) GetDevicePortOutput

type GetDevicePortArray

type GetDevicePortArray []GetDevicePortInput

func (GetDevicePortArray) ElementType

func (GetDevicePortArray) ElementType() reflect.Type

func (GetDevicePortArray) ToGetDevicePortArrayOutput

func (i GetDevicePortArray) ToGetDevicePortArrayOutput() GetDevicePortArrayOutput

func (GetDevicePortArray) ToGetDevicePortArrayOutputWithContext

func (i GetDevicePortArray) ToGetDevicePortArrayOutputWithContext(ctx context.Context) GetDevicePortArrayOutput

type GetDevicePortArrayInput

type GetDevicePortArrayInput interface {
	pulumi.Input

	ToGetDevicePortArrayOutput() GetDevicePortArrayOutput
	ToGetDevicePortArrayOutputWithContext(context.Context) GetDevicePortArrayOutput
}

GetDevicePortArrayInput is an input type that accepts GetDevicePortArray and GetDevicePortArrayOutput values. You can construct a concrete instance of `GetDevicePortArrayInput` via:

GetDevicePortArray{ GetDevicePortArgs{...} }

type GetDevicePortArrayOutput

type GetDevicePortArrayOutput struct{ *pulumi.OutputState }

func (GetDevicePortArrayOutput) ElementType

func (GetDevicePortArrayOutput) ElementType() reflect.Type

func (GetDevicePortArrayOutput) Index

func (GetDevicePortArrayOutput) ToGetDevicePortArrayOutput

func (o GetDevicePortArrayOutput) ToGetDevicePortArrayOutput() GetDevicePortArrayOutput

func (GetDevicePortArrayOutput) ToGetDevicePortArrayOutputWithContext

func (o GetDevicePortArrayOutput) ToGetDevicePortArrayOutputWithContext(ctx context.Context) GetDevicePortArrayOutput

type GetDevicePortInput

type GetDevicePortInput interface {
	pulumi.Input

	ToGetDevicePortOutput() GetDevicePortOutput
	ToGetDevicePortOutputWithContext(context.Context) GetDevicePortOutput
}

GetDevicePortInput is an input type that accepts GetDevicePortArgs and GetDevicePortOutput values. You can construct a concrete instance of `GetDevicePortInput` via:

GetDevicePortArgs{...}

type GetDevicePortOutput

type GetDevicePortOutput struct{ *pulumi.OutputState }

func (GetDevicePortOutput) Bonded

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

func (GetDevicePortOutput) ElementType

func (GetDevicePortOutput) ElementType() reflect.Type

func (GetDevicePortOutput) Id

ID of the port

func (GetDevicePortOutput) Mac

MAC address assigned to the port

func (GetDevicePortOutput) Name

Name of the port (e.g. `eth0`, or `bond0`)

func (GetDevicePortOutput) ToGetDevicePortOutput

func (o GetDevicePortOutput) ToGetDevicePortOutput() GetDevicePortOutput

func (GetDevicePortOutput) ToGetDevicePortOutputWithContext

func (o GetDevicePortOutput) ToGetDevicePortOutputWithContext(ctx context.Context) GetDevicePortOutput

func (GetDevicePortOutput) Type

Type of the port (e.g. `NetworkPort` or `NetworkBondPort`)

type GetIpBlockRangesArgs

type GetIpBlockRangesArgs struct {
	// Facility code filtering the IP blocks. Global IPv4 blcoks will be listed anyway. If you omit this, all the block from the project will be listed.
	Facility *string `pulumi:"facility"`
	// ID of the project from which to list the blocks.
	ProjectId string `pulumi:"projectId"`
}

A collection of arguments for invoking getIpBlockRanges.

type GetIpBlockRangesResult

type GetIpBlockRangesResult struct {
	Facility *string `pulumi:"facility"`
	// list of CIDR expressions for Global IPv4 blocks in the project
	GlobalIpv4s []string `pulumi:"globalIpv4s"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// list of CIDR expressions for IPv6 blocks in the project
	Ipv6s []string `pulumi:"ipv6s"`
	// list of CIDR expressions for Private IPv4 blocks in the project
	PrivateIpv4s []string `pulumi:"privateIpv4s"`
	ProjectId    string   `pulumi:"projectId"`
	// list of CIDR expressions for Public IPv4 blocks in the project
	PublicIpv4s []string `pulumi:"publicIpv4s"`
}

A collection of values returned by getIpBlockRanges.

func GetIpBlockRanges

func GetIpBlockRanges(ctx *pulumi.Context, args *GetIpBlockRangesArgs, opts ...pulumi.InvokeOption) (*GetIpBlockRangesResult, error)

Use this datasource to get CIDR expressions for allocated IP blocks of all the types in a project, optionally filtered by facility.

There are four types of IP blocks in Packet: global IPv4, public IPv4, private IPv4 and IPv6. Both global and public IPv4 are routable from the Internet. Public IPv4 block is allocated in a facility, and addresses from it can only be assigned to devices in that facility. Addresses from Global IPv4 block can be assigned to a device in any facility.

The datasource has 4 list attributes: `globalIpv4`, `publicIpv4`, `privateIpv4` and `ipv6`, each listing CIDR notation (`<network>/<mask>`) of respective blocks from the project.

## Example Usage

```go 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 {
		projectId := "<UUID_of_your_project>"
		test, err := packet.GetIpBlockRanges(ctx, &packet.GetIpBlockRangesArgs{
			ProjectId: projectId,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("out", test)
		return nil
	})
}

```

type GetOperatingSystemArgs

type GetOperatingSystemArgs struct {
	// Name of the OS distribution.
	Distro *string `pulumi:"distro"`
	// Name or part of the name of the distribution. Case insensitive.
	Name *string `pulumi:"name"`
	// Plan name.
	ProvisionableOn *string `pulumi:"provisionableOn"`
	// Version of the distribution
	Version *string `pulumi:"version"`
}

A collection of arguments for invoking getOperatingSystem.

type GetOperatingSystemResult

type GetOperatingSystemResult struct {
	Distro *string `pulumi:"distro"`
	// The provider-assigned unique ID for this managed resource.
	Id              string  `pulumi:"id"`
	Name            *string `pulumi:"name"`
	ProvisionableOn *string `pulumi:"provisionableOn"`
	// Operating system slug (same as `id`)
	Slug    string  `pulumi:"slug"`
	Version *string `pulumi:"version"`
}

A collection of values returned by getOperatingSystem.

func GetOperatingSystem

func GetOperatingSystem(ctx *pulumi.Context, args *GetOperatingSystemArgs, opts ...pulumi.InvokeOption) (*GetOperatingSystemResult, error)

Use this data source to get Packet Operating System image.

## Example Usage

```go 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 {
		opt0 := "Container Linux"
		opt1 := "coreos"
		opt2 := "alpha"
		opt3 := "c1.small.x86"
		example, err := packet.GetOperatingSystem(ctx, &packet.GetOperatingSystemArgs{
			Name:            &opt0,
			Distro:          &opt1,
			Version:         &opt2,
			ProvisionableOn: &opt3,
		}, nil)
		if err != nil {
			return err
		}
		_, err = packet.NewDevice(ctx, "server", &packet.DeviceArgs{
			Hostname: pulumi.String("tf.coreos2"),
			Plan:     pulumi.String("c1.small.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("ewr1"),
			},
			OperatingSystem: pulumi.String(example.Id),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetPrecreatedIpBlockArgs

type GetPrecreatedIpBlockArgs struct {
	// 4 or 6, depending on which block you are looking for.
	AddressFamily int `pulumi:"addressFamily"`
	// Facility of the searched block. (Optional) Only allowed for non-global blocks.
	Facility *string `pulumi:"facility"`
	// Whether to look for global block. Default is false for backward compatibility.
	Global *bool `pulumi:"global"`
	// ID of the project where the searched block should be.
	ProjectId string `pulumi:"projectId"`
	// Whether to look for public or private block.
	Public bool `pulumi:"public"`
}

A collection of arguments for invoking getPrecreatedIpBlock.

type GetPrecreatedIpBlockResult

type GetPrecreatedIpBlockResult struct {
	Address       string `pulumi:"address"`
	AddressFamily int    `pulumi:"addressFamily"`
	Cidr          int    `pulumi:"cidr"`
	// CIDR notation of the looked up block.
	CidrNotation string  `pulumi:"cidrNotation"`
	Facility     *string `pulumi:"facility"`
	Gateway      string  `pulumi:"gateway"`
	Global       *bool   `pulumi:"global"`
	// The provider-assigned unique ID for this managed resource.
	Id         string `pulumi:"id"`
	Manageable bool   `pulumi:"manageable"`
	Management bool   `pulumi:"management"`
	Netmask    string `pulumi:"netmask"`
	Network    string `pulumi:"network"`
	ProjectId  string `pulumi:"projectId"`
	Public     bool   `pulumi:"public"`
	Quantity   int    `pulumi:"quantity"`
}

A collection of values returned by getPrecreatedIpBlock.

func GetPrecreatedIpBlock

func GetPrecreatedIpBlock(ctx *pulumi.Context, args *GetPrecreatedIpBlockArgs, opts ...pulumi.InvokeOption) (*GetPrecreatedIpBlockResult, error)

Use this data source to get CIDR expression for precreated IPv6 and IPv4 blocks in Packet. You can then use the cidrsubnet TF builtin function to derive subnets.

type GetProjectBgpConfig

type GetProjectBgpConfig struct {
	// Autonomous System Numer for local BGP deployment
	Asn int `pulumi:"asn"`
	// `private` or `public`, the `private` is likely to be usable immediately, the `public` will need to be review by Packet engineers
	DeploymentType string `pulumi:"deploymentType"`
	// The maximum number of route filters allowed per server
	MaxPrefix int `pulumi:"maxPrefix"`
	// Password for BGP session in plaintext (not a checksum)
	Md5 *string `pulumi:"md5"`
	// status of BGP configuration in the project
	Status string `pulumi:"status"`
}

type GetProjectBgpConfigArgs

type GetProjectBgpConfigArgs struct {
	// Autonomous System Numer for local BGP deployment
	Asn pulumi.IntInput `pulumi:"asn"`
	// `private` or `public`, the `private` is likely to be usable immediately, the `public` will need to be review by Packet engineers
	DeploymentType pulumi.StringInput `pulumi:"deploymentType"`
	// The maximum number of route filters allowed per server
	MaxPrefix pulumi.IntInput `pulumi:"maxPrefix"`
	// Password for BGP session in plaintext (not a checksum)
	Md5 pulumi.StringPtrInput `pulumi:"md5"`
	// status of BGP configuration in the project
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetProjectBgpConfigArgs) ElementType

func (GetProjectBgpConfigArgs) ElementType() reflect.Type

func (GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutput

func (i GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutput() GetProjectBgpConfigOutput

func (GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutputWithContext

func (i GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutputWithContext(ctx context.Context) GetProjectBgpConfigOutput

type GetProjectBgpConfigInput

type GetProjectBgpConfigInput interface {
	pulumi.Input

	ToGetProjectBgpConfigOutput() GetProjectBgpConfigOutput
	ToGetProjectBgpConfigOutputWithContext(context.Context) GetProjectBgpConfigOutput
}

GetProjectBgpConfigInput is an input type that accepts GetProjectBgpConfigArgs and GetProjectBgpConfigOutput values. You can construct a concrete instance of `GetProjectBgpConfigInput` via:

GetProjectBgpConfigArgs{...}

type GetProjectBgpConfigOutput

type GetProjectBgpConfigOutput struct{ *pulumi.OutputState }

func (GetProjectBgpConfigOutput) Asn

Autonomous System Numer for local BGP deployment

func (GetProjectBgpConfigOutput) DeploymentType

func (o GetProjectBgpConfigOutput) DeploymentType() pulumi.StringOutput

`private` or `public`, the `private` is likely to be usable immediately, the `public` will need to be review by Packet engineers

func (GetProjectBgpConfigOutput) ElementType

func (GetProjectBgpConfigOutput) ElementType() reflect.Type

func (GetProjectBgpConfigOutput) MaxPrefix

The maximum number of route filters allowed per server

func (GetProjectBgpConfigOutput) Md5

Password for BGP session in plaintext (not a checksum)

func (GetProjectBgpConfigOutput) Status

status of BGP configuration in the project

func (GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutput

func (o GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutput() GetProjectBgpConfigOutput

func (GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutputWithContext

func (o GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutputWithContext(ctx context.Context) GetProjectBgpConfigOutput

type GetSpotMarketPriceArgs

type GetSpotMarketPriceArgs struct {
	// Name of the facility.
	Facility string `pulumi:"facility"`
	// Name of the plan.
	Plan string `pulumi:"plan"`
}

A collection of arguments for invoking getSpotMarketPrice.

type GetSpotMarketPriceResult

type GetSpotMarketPriceResult struct {
	Facility string `pulumi:"facility"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Plan string `pulumi:"plan"`
	// Current spot market price for given plan in given facility.
	Price float64 `pulumi:"price"`
}

A collection of values returned by getSpotMarketPrice.

func GetSpotMarketPrice

func GetSpotMarketPrice(ctx *pulumi.Context, args *GetSpotMarketPriceArgs, opts ...pulumi.InvokeOption) (*GetSpotMarketPriceResult, error)

Use this data source to get Packet Spot Market Price.

## Example Usage

```go 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.GetSpotMarketPrice(ctx, &packet.GetSpotMarketPriceArgs{
			Facility: "ewr1",
			Plan:     "c1.small.x86",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetVolumeSnapshotPolicy

type GetVolumeSnapshotPolicy struct {
	SnapshotCount     int    `pulumi:"snapshotCount"`
	SnapshotFrequency string `pulumi:"snapshotFrequency"`
}

type GetVolumeSnapshotPolicyArgs

type GetVolumeSnapshotPolicyArgs struct {
	SnapshotCount     pulumi.IntInput    `pulumi:"snapshotCount"`
	SnapshotFrequency pulumi.StringInput `pulumi:"snapshotFrequency"`
}

func (GetVolumeSnapshotPolicyArgs) ElementType

func (GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutput

func (i GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutput() GetVolumeSnapshotPolicyOutput

func (GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutputWithContext

func (i GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutputWithContext(ctx context.Context) GetVolumeSnapshotPolicyOutput

type GetVolumeSnapshotPolicyArray

type GetVolumeSnapshotPolicyArray []GetVolumeSnapshotPolicyInput

func (GetVolumeSnapshotPolicyArray) ElementType

func (GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutput

func (i GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutput() GetVolumeSnapshotPolicyArrayOutput

func (GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutputWithContext

func (i GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutputWithContext(ctx context.Context) GetVolumeSnapshotPolicyArrayOutput

type GetVolumeSnapshotPolicyArrayInput

type GetVolumeSnapshotPolicyArrayInput interface {
	pulumi.Input

	ToGetVolumeSnapshotPolicyArrayOutput() GetVolumeSnapshotPolicyArrayOutput
	ToGetVolumeSnapshotPolicyArrayOutputWithContext(context.Context) GetVolumeSnapshotPolicyArrayOutput
}

GetVolumeSnapshotPolicyArrayInput is an input type that accepts GetVolumeSnapshotPolicyArray and GetVolumeSnapshotPolicyArrayOutput values. You can construct a concrete instance of `GetVolumeSnapshotPolicyArrayInput` via:

GetVolumeSnapshotPolicyArray{ GetVolumeSnapshotPolicyArgs{...} }

type GetVolumeSnapshotPolicyArrayOutput

type GetVolumeSnapshotPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetVolumeSnapshotPolicyArrayOutput) ElementType

func (GetVolumeSnapshotPolicyArrayOutput) Index

func (GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutput

func (o GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutput() GetVolumeSnapshotPolicyArrayOutput

func (GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutputWithContext

func (o GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutputWithContext(ctx context.Context) GetVolumeSnapshotPolicyArrayOutput

type GetVolumeSnapshotPolicyInput

type GetVolumeSnapshotPolicyInput interface {
	pulumi.Input

	ToGetVolumeSnapshotPolicyOutput() GetVolumeSnapshotPolicyOutput
	ToGetVolumeSnapshotPolicyOutputWithContext(context.Context) GetVolumeSnapshotPolicyOutput
}

GetVolumeSnapshotPolicyInput is an input type that accepts GetVolumeSnapshotPolicyArgs and GetVolumeSnapshotPolicyOutput values. You can construct a concrete instance of `GetVolumeSnapshotPolicyInput` via:

GetVolumeSnapshotPolicyArgs{...}

type GetVolumeSnapshotPolicyOutput

type GetVolumeSnapshotPolicyOutput struct{ *pulumi.OutputState }

func (GetVolumeSnapshotPolicyOutput) ElementType

func (GetVolumeSnapshotPolicyOutput) SnapshotCount

func (GetVolumeSnapshotPolicyOutput) SnapshotFrequency

func (o GetVolumeSnapshotPolicyOutput) SnapshotFrequency() pulumi.StringOutput

func (GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutput

func (o GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutput() GetVolumeSnapshotPolicyOutput

func (GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutputWithContext

func (o GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutputWithContext(ctx context.Context) GetVolumeSnapshotPolicyOutput

type IpAttachment

type IpAttachment struct {
	pulumi.CustomResourceState

	Address pulumi.StringOutput `pulumi:"address"`
	// Address family as integer (4 or 6)
	AddressFamily pulumi.IntOutput `pulumi:"addressFamily"`
	// length of CIDR prefix of the subnet as integer
	Cidr pulumi.IntOutput `pulumi:"cidr"`
	// CIDR notation of subnet from block reserved in the same
	// project and facility as the device
	CidrNotation pulumi.StringOutput `pulumi:"cidrNotation"`
	// ID of device to which to assign the subnet
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// IP address of gateway for the subnet
	Gateway    pulumi.StringOutput `pulumi:"gateway"`
	Global     pulumi.BoolOutput   `pulumi:"global"`
	Manageable pulumi.BoolOutput   `pulumi:"manageable"`
	Management pulumi.BoolOutput   `pulumi:"management"`
	// Subnet mask in decimal notation, e.g. "255.255.255.0"
	Netmask pulumi.StringOutput `pulumi:"netmask"`
	// Subnet network address
	Network pulumi.StringOutput `pulumi:"network"`
	// boolean flag whether subnet is reachable from the Internet
	Public pulumi.BoolOutput `pulumi:"public"`
}

Provides a resource to attach elastic IP subnets to devices.

To attach an IP subnet from a reserved block to a provisioned device, you must derive a subnet CIDR belonging to one of your reserved blocks in the same project and facility as the target device.

For example, you have reserved IPv4 address block 147.229.10.152/30, you can choose to assign either the whole block as one subnet to a device; or 2 subnets with CIDRs 147.229.10.152/31' and 147.229.10.154/31; or 4 subnets with mask prefix length 32. More about the elastic IP subnets is [here](https://www.packet.com/developers/docs/network/basic/elastic-ips/).

Device and reserved block must be in the same facility.

func GetIpAttachment

func GetIpAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IpAttachmentState, opts ...pulumi.ResourceOption) (*IpAttachment, error)

GetIpAttachment gets an existing IpAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIpAttachment

func NewIpAttachment(ctx *pulumi.Context,
	name string, args *IpAttachmentArgs, opts ...pulumi.ResourceOption) (*IpAttachment, error)

NewIpAttachment registers a new resource with the given unique name, arguments, and options.

type IpAttachmentArgs

type IpAttachmentArgs struct {
	// CIDR notation of subnet from block reserved in the same
	// project and facility as the device
	CidrNotation pulumi.StringInput
	// ID of device to which to assign the subnet
	DeviceId pulumi.StringInput
}

The set of arguments for constructing a IpAttachment resource.

func (IpAttachmentArgs) ElementType

func (IpAttachmentArgs) ElementType() reflect.Type

type IpAttachmentState

type IpAttachmentState struct {
	Address pulumi.StringPtrInput
	// Address family as integer (4 or 6)
	AddressFamily pulumi.IntPtrInput
	// length of CIDR prefix of the subnet as integer
	Cidr pulumi.IntPtrInput
	// CIDR notation of subnet from block reserved in the same
	// project and facility as the device
	CidrNotation pulumi.StringPtrInput
	// ID of device to which to assign the subnet
	DeviceId pulumi.StringPtrInput
	// IP address of gateway for the subnet
	Gateway    pulumi.StringPtrInput
	Global     pulumi.BoolPtrInput
	Manageable pulumi.BoolPtrInput
	Management pulumi.BoolPtrInput
	// Subnet mask in decimal notation, e.g. "255.255.255.0"
	Netmask pulumi.StringPtrInput
	// Subnet network address
	Network pulumi.StringPtrInput
	// boolean flag whether subnet is reachable from the Internet
	Public pulumi.BoolPtrInput
}

func (IpAttachmentState) ElementType

func (IpAttachmentState) ElementType() reflect.Type

type LookupDeviceArgs

type LookupDeviceArgs struct {
	// Device ID
	DeviceId *string `pulumi:"deviceId"`
	// The device name
	Hostname *string `pulumi:"hostname"`
	// The id of the project in which the devices exists
	ProjectId *string `pulumi:"projectId"`
}

A collection of arguments for invoking getDevice.

type LookupDeviceResult

type LookupDeviceResult struct {
	// The ipv4 private IP assigned to the device
	AccessPrivateIpv4 string `pulumi:"accessPrivateIpv4"`
	// The ipv4 management IP assigned to the device
	AccessPublicIpv4 string `pulumi:"accessPublicIpv4"`
	// The ipv6 management IP assigned to the device
	AccessPublicIpv6 string `pulumi:"accessPublicIpv6"`
	AlwaysPxe        bool   `pulumi:"alwaysPxe"`
	// The billing cycle of the device (monthly or hourly)
	BillingCycle string `pulumi:"billingCycle"`
	// Description string for the device
	Description string `pulumi:"description"`
	DeviceId    string `pulumi:"deviceId"`
	// The facility where the device is deployed.
	Facility string `pulumi:"facility"`
	// The id of hardware reservation which this device occupies
	HardwareReservationId string `pulumi:"hardwareReservationId"`
	Hostname              string `pulumi:"hostname"`
	// The provider-assigned unique ID for this managed resource.
	Id            string `pulumi:"id"`
	IpxeScriptUrl string `pulumi:"ipxeScriptUrl"`
	// L2 network type of the device, one of "layer3", "layer2-bonded", "layer2-individual", "hybrid"
	NetworkType string `pulumi:"networkType"`
	// 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:
	Networks []GetDeviceNetwork `pulumi:"networks"`
	// The operating system running on the device
	OperatingSystem string `pulumi:"operatingSystem"`
	// The hardware config of the device
	Plan string `pulumi:"plan"`
	// Ports assigned to the device
	Ports     []GetDevicePort `pulumi:"ports"`
	ProjectId string          `pulumi:"projectId"`
	// Root password to the server (if still available)
	RootPassword string `pulumi:"rootPassword"`
	// List of IDs of SSH keys deployed in the device, can be both user or project SSH keys
	SshKeyIds []string `pulumi:"sshKeyIds"`
	// The state of the device
	State   string `pulumi:"state"`
	Storage string `pulumi:"storage"`
	// Tags attached to the device
	Tags []string `pulumi:"tags"`
}

A collection of values returned by getDevice.

func LookupDevice

func LookupDevice(ctx *pulumi.Context, args *LookupDeviceArgs, opts ...pulumi.InvokeOption) (*LookupDeviceResult, error)

Provides a Packet device datasource.

> **Note:** All arguments including the `rootPassword` and `userData` will be stored in

the raw state as plain-text.

[Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).

type LookupOrganizationArgs

type LookupOrganizationArgs struct {
	// The organization name
	Name *string `pulumi:"name"`
	// The UUID of the organization resource
	OrganizationId *string `pulumi:"organizationId"`
}

A collection of arguments for invoking getOrganization.

type LookupOrganizationResult

type LookupOrganizationResult struct {
	// Description string
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Logo URL
	Name           string `pulumi:"name"`
	OrganizationId string `pulumi:"organizationId"`
	// UUIDs of project resources which belong to this organization
	ProjectIds []string `pulumi:"projectIds"`
	// Twitter handle
	Twitter string `pulumi:"twitter"`
	// Website link
	Website string `pulumi:"website"`
}

A collection of values returned by getOrganization.

func LookupOrganization

func LookupOrganization(ctx *pulumi.Context, args *LookupOrganizationArgs, opts ...pulumi.InvokeOption) (*LookupOrganizationResult, error)

Provides a Packet organization datasource.

type LookupProjectArgs

type LookupProjectArgs struct {
	// The name which is used to look up the project
	Name *string `pulumi:"name"`
	// The UUID by which to look up the project
	ProjectId *string `pulumi:"projectId"`
}

A collection of arguments for invoking getProject.

type LookupProjectResult

type LookupProjectResult struct {
	// Whether Backend Transfer is enabled for this project
	BackendTransfer bool `pulumi:"backendTransfer"`
	// Optional BGP settings. Refer to [Packet guide for BGP](https://www.packet.com/developers/docs/network/advanced/local-and-global-bgp/).
	BgpConfig GetProjectBgpConfig `pulumi:"bgpConfig"`
	// The timestamp for when the project was created
	Created string `pulumi:"created"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// The UUID of this project's parent organization
	OrganizationId string `pulumi:"organizationId"`
	// The UUID of payment method for this project
	PaymentMethodId string `pulumi:"paymentMethodId"`
	ProjectId       string `pulumi:"projectId"`
	// The timestamp for the last time the project was updated
	Updated string `pulumi:"updated"`
	// List of UUIDs of user accounts which beling to this project
	UserIds []string `pulumi:"userIds"`
}

A collection of values returned by getProject.

func LookupProject

func LookupProject(ctx *pulumi.Context, args *LookupProjectArgs, opts ...pulumi.InvokeOption) (*LookupProjectResult, error)

Use this datasource to retrieve attributes of the Project API resource.

## Example Usage

```go 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 {
		opt0 := "Terraform Fun"
		tfProject1, err := packet.LookupProject(ctx, &packet.LookupProjectArgs{
			Name: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("usersOfTerraformFun", tfProject1.UserIds)
		return nil
	})
}

```

type LookupSpotMarketRequestArgs

type LookupSpotMarketRequestArgs struct {
	// The id of the Spot Market Request
	RequestId string `pulumi:"requestId"`
}

A collection of arguments for invoking getSpotMarketRequest.

type LookupSpotMarketRequestResult

type LookupSpotMarketRequestResult struct {
	// List of IDs of devices spawned by the referenced Spot Market Request
	DeviceIds []string `pulumi:"deviceIds"`
	// The provider-assigned unique ID for this managed resource.
	Id        string `pulumi:"id"`
	RequestId string `pulumi:"requestId"`
}

A collection of values returned by getSpotMarketRequest.

type LookupVolumeArgs

type LookupVolumeArgs struct {
	// Name of volume for lookup
	Name *string `pulumi:"name"`
	// The ID the parent Packet project (for lookup by name)
	ProjectId *string `pulumi:"projectId"`
	// ID of volume for lookup
	VolumeId *string `pulumi:"volumeId"`
}

A collection of arguments for invoking getVolume.

type LookupVolumeResult

type LookupVolumeResult struct {
	// The billing cycle, defaults to hourly
	BillingCycle string `pulumi:"billingCycle"`
	Created      string `pulumi:"created"`
	Description  string `pulumi:"description"`
	// UUIDs of devices to which this volume is attached
	DeviceIds []string `pulumi:"deviceIds"`
	// The facility slug the volume resides in
	Facility string `pulumi:"facility"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Whether the volume is locked or not
	Locked bool `pulumi:"locked"`
	// The name of the volume
	// * ` projectId  ` - The project id the volume is in
	Name string `pulumi:"name"`
	// Performance plan the volume is on
	Plan      string `pulumi:"plan"`
	ProjectId string `pulumi:"projectId"`
	// The size in GB of the volume
	Size             int                       `pulumi:"size"`
	SnapshotPolicies []GetVolumeSnapshotPolicy `pulumi:"snapshotPolicies"`
	// The state of the volume
	State    string `pulumi:"state"`
	Updated  string `pulumi:"updated"`
	VolumeId string `pulumi:"volumeId"`
}

A collection of values returned by getVolume.

func LookupVolume

func LookupVolume(ctx *pulumi.Context, args *LookupVolumeArgs, opts ...pulumi.InvokeOption) (*LookupVolumeResult, error)

Provides a Packet Block Storage Volume datasource to allow you to read existing volumes.

## Example Usage

```go 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 {
		opt0 := "terraform-volume-1"
		opt1 := local.Project_id
		volume1, err := packet.LookupVolume(ctx, &packet.LookupVolumeArgs{
			Name:      &opt0,
			ProjectId: &opt1,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("volumeSize", volume1.Size)
		return nil
	})
}

```

type Organization

type Organization struct {
	pulumi.CustomResourceState

	Created pulumi.StringOutput `pulumi:"created"`
	// Description string.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	Logo pulumi.StringPtrOutput `pulumi:"logo"`
	// The name of the Organization.
	Name pulumi.StringOutput `pulumi:"name"`
	// Twitter handle.
	Twitter pulumi.StringPtrOutput `pulumi:"twitter"`
	Updated pulumi.StringOutput    `pulumi:"updated"`
	// Website link.
	Website pulumi.StringPtrOutput `pulumi:"website"`
}

Provides a resource to manage organization resource in Packet.

## Example Usage

```go 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.NewOrganization(ctx, "tfOrganization1", &packet.OrganizationArgs{
			Description: pulumi.String("quux"),
			Name:        pulumi.String("foobar"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetOrganization

func GetOrganization(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationState, opts ...pulumi.ResourceOption) (*Organization, error)

GetOrganization gets an existing Organization resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewOrganization

func NewOrganization(ctx *pulumi.Context,
	name string, args *OrganizationArgs, opts ...pulumi.ResourceOption) (*Organization, error)

NewOrganization registers a new resource with the given unique name, arguments, and options.

type OrganizationArgs

type OrganizationArgs struct {
	// Description string.
	Description pulumi.StringPtrInput
	Logo pulumi.StringPtrInput
	// The name of the Organization.
	Name pulumi.StringInput
	// Twitter handle.
	Twitter pulumi.StringPtrInput
	// Website link.
	Website pulumi.StringPtrInput
}

The set of arguments for constructing a Organization resource.

func (OrganizationArgs) ElementType

func (OrganizationArgs) ElementType() reflect.Type

type OrganizationState

type OrganizationState struct {
	Created pulumi.StringPtrInput
	// Description string.
	Description pulumi.StringPtrInput
	Logo pulumi.StringPtrInput
	// The name of the Organization.
	Name pulumi.StringPtrInput
	// Twitter handle.
	Twitter pulumi.StringPtrInput
	Updated pulumi.StringPtrInput
	// Website link.
	Website pulumi.StringPtrInput
}

func (OrganizationState) ElementType

func (OrganizationState) ElementType() reflect.Type

type PortVlanAttachment

type PortVlanAttachment struct {
	pulumi.CustomResourceState

	// ID of device to be assigned to the VLAN
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// Add port back to the bond when this resource is removed. Default is false.
	ForceBond pulumi.BoolPtrOutput `pulumi:"forceBond"`
	// Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use `dependsOn` pointing to another packet_port_vlan_attachment, just like in the layer2-individual example above.
	Native pulumi.BoolPtrOutput `pulumi:"native"`
	PortId pulumi.StringOutput  `pulumi:"portId"`
	// Name of network port to be assigned to the VLAN
	PortName pulumi.StringOutput `pulumi:"portName"`
	VlanId   pulumi.StringOutput `pulumi:"vlanId"`
	// VXLAN Network Identifier, integer
	VlanVnid pulumi.IntOutput `pulumi:"vlanVnid"`
}

Provides a resource to attach device ports to VLANs.

Device and VLAN must be in the same facility.

If you need this resource to add the port back to bond on removal, set `forceBond = true`.

To learn more about Layer 2 networking in Packet, refer to

* https://www.packet.com/resources/guides/layer-2-configurations/ * https://www.packet.com/developers/docs/network/advanced/layer-2/

## Example Usage

```go 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 {
		testVlan, err := packet.NewVlan(ctx, "testVlan", &packet.VlanArgs{
			Description: pulumi.String("VLAN in New Jersey"),
			Facility:    pulumi.String("ewr1"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		testDevice, err := packet.NewDevice(ctx, "testDevice", &packet.DeviceArgs{
			Hostname: pulumi.String("test"),
			Plan:     pulumi.String("m1.xlarge.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("ewr1"),
			},
			OperatingSystem: pulumi.String("ubuntu_16_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		testDeviceNetworkType, err := packet.NewDeviceNetworkType(ctx, "testDeviceNetworkType", &packet.DeviceNetworkTypeArgs{
			DeviceId: testDevice.ID(),
			Type:     pulumi.String("hybrid"),
		})
		if err != nil {
			return err
		}
		_, err = packet.NewPortVlanAttachment(ctx, "testPortVlanAttachment", &packet.PortVlanAttachmentArgs{
			DeviceId: testDeviceNetworkType.ID(),
			PortName: pulumi.String("eth1"),
			VlanVnid: testVlan.Vxlan,
		})
		if err != nil {
			return err
		}
		_, err = packet.NewDevice(ctx, "testIndex_deviceDevice", &packet.DeviceArgs{
			Hostname: pulumi.String("test"),
			Plan:     pulumi.String("m1.xlarge.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("ewr1"),
			},
			OperatingSystem: pulumi.String("ubuntu_16_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		_, err = packet.NewDeviceNetworkType(ctx, "testIndex_deviceNetworkTypeDeviceNetworkType", &packet.DeviceNetworkTypeArgs{
			DeviceId: testDevice.ID(),
			Type:     pulumi.String("layer2-individual"),
		})
		if err != nil {
			return err
		}
		test1Vlan, err := packet.NewVlan(ctx, "test1Vlan", &packet.VlanArgs{
			Description: pulumi.String("VLAN in New Jersey"),
			Facility:    pulumi.String("ewr1"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		test2Vlan, err := packet.NewVlan(ctx, "test2Vlan", &packet.VlanArgs{
			Description: pulumi.String("VLAN in New Jersey"),
			Facility:    pulumi.String("ewr1"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		_, err = packet.NewPortVlanAttachment(ctx, "test1PortVlanAttachment", &packet.PortVlanAttachmentArgs{
			DeviceId: testDeviceNetworkType.ID(),
			VlanVnid: test1Vlan.Vxlan,
			PortName: pulumi.String("eth1"),
		})
		if err != nil {
			return err
		}
		_, err = packet.NewPortVlanAttachment(ctx, "test2PortVlanAttachment", &packet.PortVlanAttachmentArgs{
			DeviceId: testDeviceNetworkType.ID(),
			VlanVnid: test2Vlan.Vxlan,
			PortName: pulumi.String("eth1"),
			Native:   pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			"packet_port_vlan_attachment.test1",
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attribute Referece

* `id` - UUID of device port used in the assignment * `vlanId` - UUID of VLAN API resource * `portId` - UUID of device port

func GetPortVlanAttachment

func GetPortVlanAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PortVlanAttachmentState, opts ...pulumi.ResourceOption) (*PortVlanAttachment, error)

GetPortVlanAttachment gets an existing PortVlanAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPortVlanAttachment

func NewPortVlanAttachment(ctx *pulumi.Context,
	name string, args *PortVlanAttachmentArgs, opts ...pulumi.ResourceOption) (*PortVlanAttachment, error)

NewPortVlanAttachment registers a new resource with the given unique name, arguments, and options.

type PortVlanAttachmentArgs

type PortVlanAttachmentArgs struct {
	// ID of device to be assigned to the VLAN
	DeviceId pulumi.StringInput
	// Add port back to the bond when this resource is removed. Default is false.
	ForceBond pulumi.BoolPtrInput
	// Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use `dependsOn` pointing to another packet_port_vlan_attachment, just like in the layer2-individual example above.
	Native pulumi.BoolPtrInput
	// Name of network port to be assigned to the VLAN
	PortName pulumi.StringInput
	// VXLAN Network Identifier, integer
	VlanVnid pulumi.IntInput
}

The set of arguments for constructing a PortVlanAttachment resource.

func (PortVlanAttachmentArgs) ElementType

func (PortVlanAttachmentArgs) ElementType() reflect.Type

type PortVlanAttachmentState

type PortVlanAttachmentState struct {
	// ID of device to be assigned to the VLAN
	DeviceId pulumi.StringPtrInput
	// Add port back to the bond when this resource is removed. Default is false.
	ForceBond pulumi.BoolPtrInput
	// Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use `dependsOn` pointing to another packet_port_vlan_attachment, just like in the layer2-individual example above.
	Native pulumi.BoolPtrInput
	PortId pulumi.StringPtrInput
	// Name of network port to be assigned to the VLAN
	PortName pulumi.StringPtrInput
	VlanId   pulumi.StringPtrInput
	// VXLAN Network Identifier, integer
	VlanVnid pulumi.IntPtrInput
}

func (PortVlanAttachmentState) ElementType

func (PortVlanAttachmentState) ElementType() reflect.Type

type Project

type Project struct {
	pulumi.CustomResourceState

	// Enable or disable [Backend Transfer](https://www.packet.com/developers/docs/network/basic/backend-transfer/), default is false
	BackendTransfer pulumi.BoolPtrOutput `pulumi:"backendTransfer"`
	// Optional BGP settings. Refer to [Packet guide for BGP](https://www.packet.com/developers/docs/network/advanced/local-and-global-bgp/).
	BgpConfig ProjectBgpConfigPtrOutput `pulumi:"bgpConfig"`
	// The timestamp for when the project was created
	Created pulumi.StringOutput `pulumi:"created"`
	// The name of the project
	Name pulumi.StringOutput `pulumi:"name"`
	// The UUID of organization under which you want to create the project. If you leave it out, the project will be create under your the default organization of your account.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with `organizationId`, or default).
	PaymentMethodId pulumi.StringOutput `pulumi:"paymentMethodId"`
	// The timestamp for the last time the project was updated
	Updated pulumi.StringOutput `pulumi:"updated"`
}

Provides a Packet project resource to allow you manage devices in your projects.

## Example Usage

```go 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.NewProject(ctx, "tfProject1", &packet.ProjectArgs{
			Name: pulumi.String("Terraform Fun"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

Example with BGP config

```go 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.NewProject(ctx, "tfProject1", &packet.ProjectArgs{
			BgpConfig: &packet.ProjectBgpConfigArgs{
				Asn:            pulumi.Int(65000),
				DeploymentType: pulumi.String("local"),
				Md5:            pulumi.String("C179c28c41a85b"),
			},
			Name: pulumi.String("tftest"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetProject

func GetProject(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProjectState, opts ...pulumi.ResourceOption) (*Project, error)

GetProject gets an existing Project resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProject

func NewProject(ctx *pulumi.Context,
	name string, args *ProjectArgs, opts ...pulumi.ResourceOption) (*Project, error)

NewProject registers a new resource with the given unique name, arguments, and options.

type ProjectArgs

type ProjectArgs struct {
	// Enable or disable [Backend Transfer](https://www.packet.com/developers/docs/network/basic/backend-transfer/), default is false
	BackendTransfer pulumi.BoolPtrInput
	// Optional BGP settings. Refer to [Packet guide for BGP](https://www.packet.com/developers/docs/network/advanced/local-and-global-bgp/).
	BgpConfig ProjectBgpConfigPtrInput
	// The name of the project
	Name pulumi.StringInput
	// The UUID of organization under which you want to create the project. If you leave it out, the project will be create under your the default organization of your account.
	OrganizationId pulumi.StringPtrInput
	// The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with `organizationId`, or default).
	PaymentMethodId pulumi.StringPtrInput
}

The set of arguments for constructing a Project resource.

func (ProjectArgs) ElementType

func (ProjectArgs) ElementType() reflect.Type

type ProjectBgpConfig

type ProjectBgpConfig struct {
	// Autonomous System Number for local BGP deployment
	Asn int `pulumi:"asn"`
	// `private` or `public`, the `private` is likely to be usable immediately, the `public` will need to be review by Packet engineers
	DeploymentType string `pulumi:"deploymentType"`
	// The maximum number of route filters allowed per server
	MaxPrefix *int `pulumi:"maxPrefix"`
	// Password for BGP session in plaintext (not a checksum)
	Md5 *string `pulumi:"md5"`
	// status of BGP configuration in the project
	Status *string `pulumi:"status"`
}

type ProjectBgpConfigArgs

type ProjectBgpConfigArgs struct {
	// Autonomous System Number for local BGP deployment
	Asn pulumi.IntInput `pulumi:"asn"`
	// `private` or `public`, the `private` is likely to be usable immediately, the `public` will need to be review by Packet engineers
	DeploymentType pulumi.StringInput `pulumi:"deploymentType"`
	// The maximum number of route filters allowed per server
	MaxPrefix pulumi.IntPtrInput `pulumi:"maxPrefix"`
	// Password for BGP session in plaintext (not a checksum)
	Md5 pulumi.StringPtrInput `pulumi:"md5"`
	// status of BGP configuration in the project
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (ProjectBgpConfigArgs) ElementType

func (ProjectBgpConfigArgs) ElementType() reflect.Type

func (ProjectBgpConfigArgs) ToProjectBgpConfigOutput

func (i ProjectBgpConfigArgs) ToProjectBgpConfigOutput() ProjectBgpConfigOutput

func (ProjectBgpConfigArgs) ToProjectBgpConfigOutputWithContext

func (i ProjectBgpConfigArgs) ToProjectBgpConfigOutputWithContext(ctx context.Context) ProjectBgpConfigOutput

func (ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutput

func (i ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput

func (ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutputWithContext

func (i ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutputWithContext(ctx context.Context) ProjectBgpConfigPtrOutput

type ProjectBgpConfigInput

type ProjectBgpConfigInput interface {
	pulumi.Input

	ToProjectBgpConfigOutput() ProjectBgpConfigOutput
	ToProjectBgpConfigOutputWithContext(context.Context) ProjectBgpConfigOutput
}

ProjectBgpConfigInput is an input type that accepts ProjectBgpConfigArgs and ProjectBgpConfigOutput values. You can construct a concrete instance of `ProjectBgpConfigInput` via:

ProjectBgpConfigArgs{...}

type ProjectBgpConfigOutput

type ProjectBgpConfigOutput struct{ *pulumi.OutputState }

func (ProjectBgpConfigOutput) Asn

Autonomous System Number for local BGP deployment

func (ProjectBgpConfigOutput) DeploymentType

func (o ProjectBgpConfigOutput) DeploymentType() pulumi.StringOutput

`private` or `public`, the `private` is likely to be usable immediately, the `public` will need to be review by Packet engineers

func (ProjectBgpConfigOutput) ElementType

func (ProjectBgpConfigOutput) ElementType() reflect.Type

func (ProjectBgpConfigOutput) MaxPrefix

The maximum number of route filters allowed per server

func (ProjectBgpConfigOutput) Md5

Password for BGP session in plaintext (not a checksum)

func (ProjectBgpConfigOutput) Status

status of BGP configuration in the project

func (ProjectBgpConfigOutput) ToProjectBgpConfigOutput

func (o ProjectBgpConfigOutput) ToProjectBgpConfigOutput() ProjectBgpConfigOutput

func (ProjectBgpConfigOutput) ToProjectBgpConfigOutputWithContext

func (o ProjectBgpConfigOutput) ToProjectBgpConfigOutputWithContext(ctx context.Context) ProjectBgpConfigOutput

func (ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutput

func (o ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput

func (ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutputWithContext

func (o ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutputWithContext(ctx context.Context) ProjectBgpConfigPtrOutput

type ProjectBgpConfigPtrInput

type ProjectBgpConfigPtrInput interface {
	pulumi.Input

	ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput
	ToProjectBgpConfigPtrOutputWithContext(context.Context) ProjectBgpConfigPtrOutput
}

ProjectBgpConfigPtrInput is an input type that accepts ProjectBgpConfigArgs, ProjectBgpConfigPtr and ProjectBgpConfigPtrOutput values. You can construct a concrete instance of `ProjectBgpConfigPtrInput` via:

        ProjectBgpConfigArgs{...}

or:

        nil

type ProjectBgpConfigPtrOutput

type ProjectBgpConfigPtrOutput struct{ *pulumi.OutputState }

func (ProjectBgpConfigPtrOutput) Asn

Autonomous System Number for local BGP deployment

func (ProjectBgpConfigPtrOutput) DeploymentType

`private` or `public`, the `private` is likely to be usable immediately, the `public` will need to be review by Packet engineers

func (ProjectBgpConfigPtrOutput) Elem

func (ProjectBgpConfigPtrOutput) ElementType

func (ProjectBgpConfigPtrOutput) ElementType() reflect.Type

func (ProjectBgpConfigPtrOutput) MaxPrefix

The maximum number of route filters allowed per server

func (ProjectBgpConfigPtrOutput) Md5

Password for BGP session in plaintext (not a checksum)

func (ProjectBgpConfigPtrOutput) Status

status of BGP configuration in the project

func (ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutput

func (o ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput

func (ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutputWithContext

func (o ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutputWithContext(ctx context.Context) ProjectBgpConfigPtrOutput

type ProjectSshKey

type ProjectSshKey struct {
	pulumi.CustomResourceState

	// The timestamp for when the SSH key was created
	Created pulumi.StringOutput `pulumi:"created"`
	// The fingerprint of the SSH key
	Fingerprint pulumi.StringOutput `pulumi:"fingerprint"`
	// The name of the SSH key for identification
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of parent project (same as project_id)
	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
	// The ID of parent project
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The public key. If this is a file, it can be read using the file interpolation function
	PublicKey pulumi.StringOutput `pulumi:"publicKey"`
	// The timestamp for the last time the SSH key was updated
	Updated pulumi.StringOutput `pulumi:"updated"`
}

Provides a Packet project SSH key resource to manage project-specific SSH keys. Project SSH keys will only be populated onto servers that belong to that project, in contrast to User SSH Keys.

## Example Usage

```go 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 {
		projectId := "<UUID_of_your_project>"
		testProjectSshKey, err := packet.NewProjectSshKey(ctx, "testProjectSshKey", &packet.ProjectSshKeyArgs{
			Name:      pulumi.String("test"),
			PublicKey: pulumi.String("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDM/unxJeFqxsTJcu6mhqsMHSaVlpu+Jj/P+44zrm6X/MAoHSX3X9oLgujEjjZ74yLfdfe0bJrbL2YgJzNaEkIQQ1VPMHB5EhTKUBGnzlPP0hHTnxsjAm9qDHgUPgvgFDQSAMzdJRJ0Cexo16Ph9VxCoLh3dxiE7s2gaM2FdVg7P8aSxKypsxAhYV3D0AwqzoOyT6WWhBoQ0xZ85XevOTnJCpImSemEGs6nVGEsWcEc1d1YvdxFjAK4SdsKUMkj4Dsy/leKsdi/DEAf356vbMT1UHsXXvy5TlHu/Pa6qF53v32Enz+nhKy7/8W2Yt2yWx8HnQcT2rug9lvCXagJO6oauqRTO77C4QZn13ZLMZgLT66S/tNh2EX0gi6vmIs5dth8uF+K6nxIyKJXbcA4ASg7F1OJrHKFZdTc5v1cPeq6PcbqGgc+8SrPYQmzvQqLoMBuxyos2hUkYOmw3aeWJj9nFa8Wu5WaN89mUeOqSkU4S5cgUzWUOmKey56B/j/s1sVys9rMhZapVs0wL4L9GBBM48N5jAQZnnpo85A8KsZq5ME22bTLqnxsDXqDYZvS7PSI6Dxi7eleOFE/NYYDkrgDLHTQri8ucDMVeVWHgoMY2bPXdn7KKy5jW5jKsf8EPARXg77A4gRYmgKrcwIKqJEUPqyxJBe0CPoGTqgXPRsUiQ== tomk@hp2"),
			ProjectId: pulumi.String(projectId),
		})
		if err != nil {
			return err
		}
		_, err = packet.NewDevice(ctx, "testDevice", &packet.DeviceArgs{
			Hostname: pulumi.String("test"),
			Plan:     pulumi.String("baremetal_0"),
			Facilities: pulumi.StringArray{
				pulumi.String("ewr1"),
			},
			OperatingSystem: pulumi.String("ubuntu_16_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectSshKeyIds: pulumi.StringArray{
				testProjectSshKey.ID(),
			},
			ProjectId: pulumi.String(projectId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetProjectSshKey

func GetProjectSshKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProjectSshKeyState, opts ...pulumi.ResourceOption) (*ProjectSshKey, error)

GetProjectSshKey gets an existing ProjectSshKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProjectSshKey

func NewProjectSshKey(ctx *pulumi.Context,
	name string, args *ProjectSshKeyArgs, opts ...pulumi.ResourceOption) (*ProjectSshKey, error)

NewProjectSshKey registers a new resource with the given unique name, arguments, and options.

type ProjectSshKeyArgs

type ProjectSshKeyArgs struct {
	// The name of the SSH key for identification
	Name pulumi.StringInput
	// The ID of parent project
	ProjectId pulumi.StringInput
	// The public key. If this is a file, it can be read using the file interpolation function
	PublicKey pulumi.StringInput
}

The set of arguments for constructing a ProjectSshKey resource.

func (ProjectSshKeyArgs) ElementType

func (ProjectSshKeyArgs) ElementType() reflect.Type

type ProjectSshKeyState

type ProjectSshKeyState struct {
	// The timestamp for when the SSH key was created
	Created pulumi.StringPtrInput
	// The fingerprint of the SSH key
	Fingerprint pulumi.StringPtrInput
	// The name of the SSH key for identification
	Name pulumi.StringPtrInput
	// The ID of parent project (same as project_id)
	OwnerId pulumi.StringPtrInput
	// The ID of parent project
	ProjectId pulumi.StringPtrInput
	// The public key. If this is a file, it can be read using the file interpolation function
	PublicKey pulumi.StringPtrInput
	// The timestamp for the last time the SSH key was updated
	Updated pulumi.StringPtrInput
}

func (ProjectSshKeyState) ElementType

func (ProjectSshKeyState) ElementType() reflect.Type

type ProjectState

type ProjectState struct {
	// Enable or disable [Backend Transfer](https://www.packet.com/developers/docs/network/basic/backend-transfer/), default is false
	BackendTransfer pulumi.BoolPtrInput
	// Optional BGP settings. Refer to [Packet guide for BGP](https://www.packet.com/developers/docs/network/advanced/local-and-global-bgp/).
	BgpConfig ProjectBgpConfigPtrInput
	// The timestamp for when the project was created
	Created pulumi.StringPtrInput
	// The name of the project
	Name pulumi.StringPtrInput
	// The UUID of organization under which you want to create the project. If you leave it out, the project will be create under your the default organization of your account.
	OrganizationId pulumi.StringPtrInput
	// The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with `organizationId`, or default).
	PaymentMethodId pulumi.StringPtrInput
	// The timestamp for the last time the project was updated
	Updated pulumi.StringPtrInput
}

func (ProjectState) ElementType

func (ProjectState) ElementType() reflect.Type

type Provider

type Provider struct {
	pulumi.ProviderResourceState
}

The provider type for the packet package. By default, resources use package-wide configuration settings, however an explicit `Provider` instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.

func NewProvider

func NewProvider(ctx *pulumi.Context,
	name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error)

NewProvider registers a new resource with the given unique name, arguments, and options.

type ProviderArgs

type ProviderArgs struct {
	// The API auth key for API operations.
	AuthToken pulumi.StringPtrInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type ReservedIpBlock

type ReservedIpBlock struct {
	pulumi.CustomResourceState

	Address pulumi.StringOutput `pulumi:"address"`
	// Address family as integer (4 or 6)
	AddressFamily pulumi.IntOutput `pulumi:"addressFamily"`
	// length of CIDR prefix of the block as integer
	Cidr pulumi.IntOutput `pulumi:"cidr"`
	// Address and mask in CIDR notation, e.g. "147.229.15.30/31"
	CidrNotation pulumi.StringOutput `pulumi:"cidrNotation"`
	// Arbitrary description
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
	Facility pulumi.StringPtrOutput `pulumi:"facility"`
	Gateway  pulumi.StringOutput    `pulumi:"gateway"`
	// boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
	Global     pulumi.BoolOutput `pulumi:"global"`
	Manageable pulumi.BoolOutput `pulumi:"manageable"`
	Management pulumi.BoolOutput `pulumi:"management"`
	// Mask in decimal notation, e.g. "255.255.255.0"
	Netmask pulumi.StringOutput `pulumi:"netmask"`
	// Network IP address portion of the block specification
	Network pulumi.StringOutput `pulumi:"network"`
	// The packet project ID where to allocate the address block
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// boolean flag whether addresses from a block are public
	Public pulumi.BoolOutput `pulumi:"public"`
	// The number of allocated /32 addresses, a power of 2
	Quantity pulumi.IntOutput `pulumi:"quantity"`
	// Either "globalIpv4" or "publicIpv4", defaults to "publicIpv4" for backward compatibility
	Type pulumi.StringPtrOutput `pulumi:"type"`
}

Provides a resource to create and manage blocks of reserved IP addresses in a project.

When a user provisions first device in a facility, Packet API automatically allocates IPv6/56 and private IPv4/25 blocks. The new device then gets IPv6 and private IPv4 addresses from those block. It also gets a public IPv4/31 address. Every new device in the project and facility will automatically get IPv6 and private IPv4 addresses from these pre-allocated blocks. The IPv6 and private IPv4 blocks can't be created, only imported. With this resource, it's possible to create either public IPv4 blocks or global IPv4 blocks.

Public blocks are allocated in a facility. Addresses from public blocks can only be assigned to devices in the facility. Public blocks can have mask from /24 (256 addresses) to /32 (1 address). If you create public block with this resource, you must fill the facility argmument.

Addresses from global blocks can be assigned in any facility. Global blocks can have mask from /30 (4 addresses), to /32 (1 address). If you create global block with this resource, you must specify type = "globalIpv4" and you must omit the facility argument.

Once IP block is allocated or imported, an address from it can be assigned to device with the `IpAttachment` resource.

func GetReservedIpBlock

func GetReservedIpBlock(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ReservedIpBlockState, opts ...pulumi.ResourceOption) (*ReservedIpBlock, error)

GetReservedIpBlock gets an existing ReservedIpBlock resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewReservedIpBlock

func NewReservedIpBlock(ctx *pulumi.Context,
	name string, args *ReservedIpBlockArgs, opts ...pulumi.ResourceOption) (*ReservedIpBlock, error)

NewReservedIpBlock registers a new resource with the given unique name, arguments, and options.

type ReservedIpBlockArgs

type ReservedIpBlockArgs struct {
	// Arbitrary description
	Description pulumi.StringPtrInput
	// Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
	Facility pulumi.StringPtrInput
	// The packet project ID where to allocate the address block
	ProjectId pulumi.StringInput
	// The number of allocated /32 addresses, a power of 2
	Quantity pulumi.IntInput
	// Either "globalIpv4" or "publicIpv4", defaults to "publicIpv4" for backward compatibility
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a ReservedIpBlock resource.

func (ReservedIpBlockArgs) ElementType

func (ReservedIpBlockArgs) ElementType() reflect.Type

type ReservedIpBlockState

type ReservedIpBlockState struct {
	Address pulumi.StringPtrInput
	// Address family as integer (4 or 6)
	AddressFamily pulumi.IntPtrInput
	// length of CIDR prefix of the block as integer
	Cidr pulumi.IntPtrInput
	// Address and mask in CIDR notation, e.g. "147.229.15.30/31"
	CidrNotation pulumi.StringPtrInput
	// Arbitrary description
	Description pulumi.StringPtrInput
	// Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4
	Facility pulumi.StringPtrInput
	Gateway  pulumi.StringPtrInput
	// boolean flag whether addresses from a block are global (i.e. can be assigned in any facility)
	Global     pulumi.BoolPtrInput
	Manageable pulumi.BoolPtrInput
	Management pulumi.BoolPtrInput
	// Mask in decimal notation, e.g. "255.255.255.0"
	Netmask pulumi.StringPtrInput
	// Network IP address portion of the block specification
	Network pulumi.StringPtrInput
	// The packet project ID where to allocate the address block
	ProjectId pulumi.StringPtrInput
	// boolean flag whether addresses from a block are public
	Public pulumi.BoolPtrInput
	// The number of allocated /32 addresses, a power of 2
	Quantity pulumi.IntPtrInput
	// Either "globalIpv4" or "publicIpv4", defaults to "publicIpv4" for backward compatibility
	Type pulumi.StringPtrInput
}

func (ReservedIpBlockState) ElementType

func (ReservedIpBlockState) ElementType() reflect.Type

type SpotMarketRequest

type SpotMarketRequest struct {
	pulumi.CustomResourceState

	// Maximum number devices to be created
	DevicesMax pulumi.IntOutput `pulumi:"devicesMax"`
	// Miniumum number devices to be created
	DevicesMin pulumi.IntOutput `pulumi:"devicesMin"`
	// Facility IDs where devices should be created
	Facilities pulumi.StringArrayOutput `pulumi:"facilities"`
	// Device parameters. See device resource for details
	InstanceParameters SpotMarketRequestInstanceParametersOutput `pulumi:"instanceParameters"`
	// Maximum price user is willing to pay per hour per device
	MaxBidPrice pulumi.Float64Output `pulumi:"maxBidPrice"`
	// Project ID
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
	WaitForDevices pulumi.BoolPtrOutput `pulumi:"waitForDevices"`
}

Provides a Packet Spot Market Request resource to allow you to manage spot market requests on your account. For more detail on Spot Market, see [this article in Packet documentaion](https://www.packet.com/developers/docs/getting-started/deployment-options/spot-market/).

## Example Usage

```go 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.NewSpotMarketRequest(ctx, "req", &packet.SpotMarketRequestArgs{
			ProjectId:   pulumi.Any(local.Project_id),
			MaxBidPrice: pulumi.Float64(0.03),
			Facilities: pulumi.StringArray{
				pulumi.String("ewr1"),
			},
			DevicesMin: pulumi.Int(1),
			DevicesMax: pulumi.Int(1),
			InstanceParameters: &packet.SpotMarketRequestInstanceParametersArgs{
				Hostname:        pulumi.String("testspot"),
				BillingCycle:    pulumi.String("hourly"),
				OperatingSystem: pulumi.String("coreos_stable"),
				Plan:            pulumi.String("t1.small.x86"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetSpotMarketRequest

func GetSpotMarketRequest(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SpotMarketRequestState, opts ...pulumi.ResourceOption) (*SpotMarketRequest, error)

GetSpotMarketRequest gets an existing SpotMarketRequest resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSpotMarketRequest

func NewSpotMarketRequest(ctx *pulumi.Context,
	name string, args *SpotMarketRequestArgs, opts ...pulumi.ResourceOption) (*SpotMarketRequest, error)

NewSpotMarketRequest registers a new resource with the given unique name, arguments, and options.

type SpotMarketRequestArgs

type SpotMarketRequestArgs struct {
	// Maximum number devices to be created
	DevicesMax pulumi.IntInput
	// Miniumum number devices to be created
	DevicesMin pulumi.IntInput
	// Facility IDs where devices should be created
	Facilities pulumi.StringArrayInput
	// Device parameters. See device resource for details
	InstanceParameters SpotMarketRequestInstanceParametersInput
	// Maximum price user is willing to pay per hour per device
	MaxBidPrice pulumi.Float64Input
	// Project ID
	ProjectId pulumi.StringInput
	// On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
	WaitForDevices pulumi.BoolPtrInput
}

The set of arguments for constructing a SpotMarketRequest resource.

func (SpotMarketRequestArgs) ElementType

func (SpotMarketRequestArgs) ElementType() reflect.Type

type SpotMarketRequestInstanceParameters

type SpotMarketRequestInstanceParameters struct {
	AlwaysPxe        *string  `pulumi:"alwaysPxe"`
	BillingCycle     string   `pulumi:"billingCycle"`
	Description      *string  `pulumi:"description"`
	Features         []string `pulumi:"features"`
	Hostname         string   `pulumi:"hostname"`
	Locked           *string  `pulumi:"locked"`
	OperatingSystem  string   `pulumi:"operatingSystem"`
	Plan             string   `pulumi:"plan"`
	ProjectSshKeys   []string `pulumi:"projectSshKeys"`
	TermintationTime *string  `pulumi:"termintationTime"`
	UserSshKeys      []string `pulumi:"userSshKeys"`
	Userdata         *string  `pulumi:"userdata"`
}

type SpotMarketRequestInstanceParametersArgs

type SpotMarketRequestInstanceParametersArgs struct {
	AlwaysPxe        pulumi.StringPtrInput   `pulumi:"alwaysPxe"`
	BillingCycle     pulumi.StringInput      `pulumi:"billingCycle"`
	Description      pulumi.StringPtrInput   `pulumi:"description"`
	Features         pulumi.StringArrayInput `pulumi:"features"`
	Hostname         pulumi.StringInput      `pulumi:"hostname"`
	Locked           pulumi.StringPtrInput   `pulumi:"locked"`
	OperatingSystem  pulumi.StringInput      `pulumi:"operatingSystem"`
	Plan             pulumi.StringInput      `pulumi:"plan"`
	ProjectSshKeys   pulumi.StringArrayInput `pulumi:"projectSshKeys"`
	TermintationTime pulumi.StringPtrInput   `pulumi:"termintationTime"`
	UserSshKeys      pulumi.StringArrayInput `pulumi:"userSshKeys"`
	Userdata         pulumi.StringPtrInput   `pulumi:"userdata"`
}

func (SpotMarketRequestInstanceParametersArgs) ElementType

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutput

func (i SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutput() SpotMarketRequestInstanceParametersOutput

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutputWithContext

func (i SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutputWithContext(ctx context.Context) SpotMarketRequestInstanceParametersOutput

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutput

func (i SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutputWithContext

func (i SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutputWithContext(ctx context.Context) SpotMarketRequestInstanceParametersPtrOutput

type SpotMarketRequestInstanceParametersInput

type SpotMarketRequestInstanceParametersInput interface {
	pulumi.Input

	ToSpotMarketRequestInstanceParametersOutput() SpotMarketRequestInstanceParametersOutput
	ToSpotMarketRequestInstanceParametersOutputWithContext(context.Context) SpotMarketRequestInstanceParametersOutput
}

SpotMarketRequestInstanceParametersInput is an input type that accepts SpotMarketRequestInstanceParametersArgs and SpotMarketRequestInstanceParametersOutput values. You can construct a concrete instance of `SpotMarketRequestInstanceParametersInput` via:

SpotMarketRequestInstanceParametersArgs{...}

type SpotMarketRequestInstanceParametersOutput

type SpotMarketRequestInstanceParametersOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestInstanceParametersOutput) AlwaysPxe

func (SpotMarketRequestInstanceParametersOutput) BillingCycle

func (SpotMarketRequestInstanceParametersOutput) Description

func (SpotMarketRequestInstanceParametersOutput) ElementType

func (SpotMarketRequestInstanceParametersOutput) Features

func (SpotMarketRequestInstanceParametersOutput) Hostname

func (SpotMarketRequestInstanceParametersOutput) Locked

func (SpotMarketRequestInstanceParametersOutput) OperatingSystem

func (SpotMarketRequestInstanceParametersOutput) Plan

func (SpotMarketRequestInstanceParametersOutput) ProjectSshKeys

func (SpotMarketRequestInstanceParametersOutput) TermintationTime

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutput

func (o SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutput() SpotMarketRequestInstanceParametersOutput

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutputWithContext

func (o SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutputWithContext(ctx context.Context) SpotMarketRequestInstanceParametersOutput

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutput

func (o SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutputWithContext

func (o SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutputWithContext(ctx context.Context) SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersOutput) UserSshKeys

func (SpotMarketRequestInstanceParametersOutput) Userdata

type SpotMarketRequestInstanceParametersPtrInput

type SpotMarketRequestInstanceParametersPtrInput interface {
	pulumi.Input

	ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput
	ToSpotMarketRequestInstanceParametersPtrOutputWithContext(context.Context) SpotMarketRequestInstanceParametersPtrOutput
}

SpotMarketRequestInstanceParametersPtrInput is an input type that accepts SpotMarketRequestInstanceParametersArgs, SpotMarketRequestInstanceParametersPtr and SpotMarketRequestInstanceParametersPtrOutput values. You can construct a concrete instance of `SpotMarketRequestInstanceParametersPtrInput` via:

        SpotMarketRequestInstanceParametersArgs{...}

or:

        nil

type SpotMarketRequestInstanceParametersPtrOutput

type SpotMarketRequestInstanceParametersPtrOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestInstanceParametersPtrOutput) AlwaysPxe

func (SpotMarketRequestInstanceParametersPtrOutput) BillingCycle

func (SpotMarketRequestInstanceParametersPtrOutput) Description

func (SpotMarketRequestInstanceParametersPtrOutput) Elem

func (SpotMarketRequestInstanceParametersPtrOutput) ElementType

func (SpotMarketRequestInstanceParametersPtrOutput) Features

func (SpotMarketRequestInstanceParametersPtrOutput) Hostname

func (SpotMarketRequestInstanceParametersPtrOutput) Locked

func (SpotMarketRequestInstanceParametersPtrOutput) OperatingSystem

func (SpotMarketRequestInstanceParametersPtrOutput) Plan

func (SpotMarketRequestInstanceParametersPtrOutput) ProjectSshKeys

func (SpotMarketRequestInstanceParametersPtrOutput) TermintationTime

func (SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutput

func (o SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutputWithContext

func (o SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutputWithContext(ctx context.Context) SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersPtrOutput) UserSshKeys

func (SpotMarketRequestInstanceParametersPtrOutput) Userdata

type SpotMarketRequestState

type SpotMarketRequestState struct {
	// Maximum number devices to be created
	DevicesMax pulumi.IntPtrInput
	// Miniumum number devices to be created
	DevicesMin pulumi.IntPtrInput
	// Facility IDs where devices should be created
	Facilities pulumi.StringArrayInput
	// Device parameters. See device resource for details
	InstanceParameters SpotMarketRequestInstanceParametersPtrInput
	// Maximum price user is willing to pay per hour per device
	MaxBidPrice pulumi.Float64PtrInput
	// Project ID
	ProjectId pulumi.StringPtrInput
	// On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
	WaitForDevices pulumi.BoolPtrInput
}

func (SpotMarketRequestState) ElementType

func (SpotMarketRequestState) ElementType() reflect.Type

type SshKey

type SshKey struct {
	pulumi.CustomResourceState

	// The timestamp for when the SSH key was created
	Created pulumi.StringOutput `pulumi:"created"`
	// The fingerprint of the SSH key
	Fingerprint pulumi.StringOutput `pulumi:"fingerprint"`
	// The name of the SSH key for identification
	Name pulumi.StringOutput `pulumi:"name"`
	// The UUID of the Packet API User who owns this key
	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
	// The public key. If this is a file, it
	// can be read using the file interpolation function
	PublicKey pulumi.StringOutput `pulumi:"publicKey"`
	// The timestamp for the last time the SSH key was updated
	Updated pulumi.StringOutput `pulumi:"updated"`
}

Provides a resource to manage User SSH keys on your Packet user account. If you create a new device in a project, all the keys of the project's collaborators will be injected to the device.

The link between User SSH key and device is implicit. If you want to make sure that a key will be copied to a device, you must ensure that the device resource `dependsOn` the key resource.

func GetSshKey

func GetSshKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SshKeyState, opts ...pulumi.ResourceOption) (*SshKey, error)

GetSshKey gets an existing SshKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSshKey

func NewSshKey(ctx *pulumi.Context,
	name string, args *SshKeyArgs, opts ...pulumi.ResourceOption) (*SshKey, error)

NewSshKey registers a new resource with the given unique name, arguments, and options.

type SshKeyArgs

type SshKeyArgs struct {
	// The name of the SSH key for identification
	Name pulumi.StringInput
	// The public key. If this is a file, it
	// can be read using the file interpolation function
	PublicKey pulumi.StringInput
}

The set of arguments for constructing a SshKey resource.

func (SshKeyArgs) ElementType

func (SshKeyArgs) ElementType() reflect.Type

type SshKeyState

type SshKeyState struct {
	// The timestamp for when the SSH key was created
	Created pulumi.StringPtrInput
	// The fingerprint of the SSH key
	Fingerprint pulumi.StringPtrInput
	// The name of the SSH key for identification
	Name pulumi.StringPtrInput
	// The UUID of the Packet API User who owns this key
	OwnerId pulumi.StringPtrInput
	// The public key. If this is a file, it
	// can be read using the file interpolation function
	PublicKey pulumi.StringPtrInput
	// The timestamp for the last time the SSH key was updated
	Updated pulumi.StringPtrInput
}

func (SshKeyState) ElementType

func (SshKeyState) ElementType() reflect.Type

type Vlan

type Vlan struct {
	pulumi.CustomResourceState

	// Description string
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Facility where to create the VLAN
	Facility pulumi.StringOutput `pulumi:"facility"`
	// ID of parent project
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// VXLAN segment ID
	Vxlan pulumi.IntOutput `pulumi:"vxlan"`
}

Provides a resource to allow users to manage Virtual Networks in their projects.

To learn more about Layer 2 networking in Packet, refer to * https://www.packet.com/resources/guides/layer-2-configurations/ * https://www.packet.com/developers/docs/network/advanced/layer-2/

## Example Usage

```go 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.NewVlan(ctx, "vlan1", &packet.VlanArgs{
			Description: pulumi.String("VLAN in New Jersey"),
			Facility:    pulumi.String("ewr1"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetVlan

func GetVlan(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VlanState, opts ...pulumi.ResourceOption) (*Vlan, error)

GetVlan gets an existing Vlan resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVlan

func NewVlan(ctx *pulumi.Context,
	name string, args *VlanArgs, opts ...pulumi.ResourceOption) (*Vlan, error)

NewVlan registers a new resource with the given unique name, arguments, and options.

type VlanArgs

type VlanArgs struct {
	// Description string
	Description pulumi.StringPtrInput
	// Facility where to create the VLAN
	Facility pulumi.StringInput
	// ID of parent project
	ProjectId pulumi.StringInput
}

The set of arguments for constructing a Vlan resource.

func (VlanArgs) ElementType

func (VlanArgs) ElementType() reflect.Type

type VlanState

type VlanState struct {
	// Description string
	Description pulumi.StringPtrInput
	// Facility where to create the VLAN
	Facility pulumi.StringPtrInput
	// ID of parent project
	ProjectId pulumi.StringPtrInput
	// VXLAN segment ID
	Vxlan pulumi.IntPtrInput
}

func (VlanState) ElementType

func (VlanState) ElementType() reflect.Type

type Volume

type Volume struct {
	pulumi.CustomResourceState

	// A list of attachments, each with it's own `href` attribute
	Attachments VolumeAttachmentTypeArrayOutput `pulumi:"attachments"`
	// The billing cycle, defaults to "hourly"
	BillingCycle pulumi.StringOutput `pulumi:"billingCycle"`
	// The timestamp for when the volume was created
	Created pulumi.StringOutput `pulumi:"created"`
	// Optional description for the volume
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The facility to create the volume in
	Facility pulumi.StringOutput `pulumi:"facility"`
	// Lock or unlock the volume
	Locked pulumi.BoolPtrOutput `pulumi:"locked"`
	// The name of the volume
	Name pulumi.StringOutput `pulumi:"name"`
	// The service plan slug of the volume
	Plan pulumi.StringOutput `pulumi:"plan"`
	// The packet project ID to deploy the volume in
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The size in GB to make the volume
	Size pulumi.IntOutput `pulumi:"size"`
	// Optional list of snapshot policies
	SnapshotPolicies VolumeSnapshotPolicyArrayOutput `pulumi:"snapshotPolicies"`
	// The state of the volume
	State pulumi.StringOutput `pulumi:"state"`
	// The timestamp for the last time the volume was updated
	Updated pulumi.StringOutput `pulumi:"updated"`
}

func GetVolume

func GetVolume(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeState, opts ...pulumi.ResourceOption) (*Volume, error)

GetVolume gets an existing Volume resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolume

func NewVolume(ctx *pulumi.Context,
	name string, args *VolumeArgs, opts ...pulumi.ResourceOption) (*Volume, error)

NewVolume registers a new resource with the given unique name, arguments, and options.

type VolumeArgs

type VolumeArgs struct {
	// The billing cycle, defaults to "hourly"
	BillingCycle pulumi.StringPtrInput
	// Optional description for the volume
	Description pulumi.StringPtrInput
	// The facility to create the volume in
	Facility pulumi.StringInput
	// Lock or unlock the volume
	Locked pulumi.BoolPtrInput
	// The service plan slug of the volume
	Plan pulumi.StringInput
	// The packet project ID to deploy the volume in
	ProjectId pulumi.StringInput
	// The size in GB to make the volume
	Size pulumi.IntInput
	// Optional list of snapshot policies
	SnapshotPolicies VolumeSnapshotPolicyArrayInput
}

The set of arguments for constructing a Volume resource.

func (VolumeArgs) ElementType

func (VolumeArgs) ElementType() reflect.Type

type VolumeAttachment

type VolumeAttachment struct {
	pulumi.CustomResourceState

	// The ID of the device to which the volume should be attached
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// The ID of the volume to attach
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
}

func GetVolumeAttachment

func GetVolumeAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeAttachmentState, opts ...pulumi.ResourceOption) (*VolumeAttachment, error)

GetVolumeAttachment gets an existing VolumeAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolumeAttachment

func NewVolumeAttachment(ctx *pulumi.Context,
	name string, args *VolumeAttachmentArgs, opts ...pulumi.ResourceOption) (*VolumeAttachment, error)

NewVolumeAttachment registers a new resource with the given unique name, arguments, and options.

type VolumeAttachmentArgs

type VolumeAttachmentArgs struct {
	// The ID of the device to which the volume should be attached
	DeviceId pulumi.StringInput
	// The ID of the volume to attach
	VolumeId pulumi.StringInput
}

The set of arguments for constructing a VolumeAttachment resource.

func (VolumeAttachmentArgs) ElementType

func (VolumeAttachmentArgs) ElementType() reflect.Type

type VolumeAttachmentState

type VolumeAttachmentState struct {
	// The ID of the device to which the volume should be attached
	DeviceId pulumi.StringPtrInput
	// The ID of the volume to attach
	VolumeId pulumi.StringPtrInput
}

func (VolumeAttachmentState) ElementType

func (VolumeAttachmentState) ElementType() reflect.Type

type VolumeAttachmentType

type VolumeAttachmentType struct {
	Href *string `pulumi:"href"`
}

type VolumeAttachmentTypeArgs

type VolumeAttachmentTypeArgs struct {
	Href pulumi.StringPtrInput `pulumi:"href"`
}

func (VolumeAttachmentTypeArgs) ElementType

func (VolumeAttachmentTypeArgs) ElementType() reflect.Type

func (VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutput

func (i VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutput() VolumeAttachmentTypeOutput

func (VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutputWithContext

func (i VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutputWithContext(ctx context.Context) VolumeAttachmentTypeOutput

type VolumeAttachmentTypeArray

type VolumeAttachmentTypeArray []VolumeAttachmentTypeInput

func (VolumeAttachmentTypeArray) ElementType

func (VolumeAttachmentTypeArray) ElementType() reflect.Type

func (VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutput

func (i VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutput() VolumeAttachmentTypeArrayOutput

func (VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutputWithContext

func (i VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutputWithContext(ctx context.Context) VolumeAttachmentTypeArrayOutput

type VolumeAttachmentTypeArrayInput

type VolumeAttachmentTypeArrayInput interface {
	pulumi.Input

	ToVolumeAttachmentTypeArrayOutput() VolumeAttachmentTypeArrayOutput
	ToVolumeAttachmentTypeArrayOutputWithContext(context.Context) VolumeAttachmentTypeArrayOutput
}

VolumeAttachmentTypeArrayInput is an input type that accepts VolumeAttachmentTypeArray and VolumeAttachmentTypeArrayOutput values. You can construct a concrete instance of `VolumeAttachmentTypeArrayInput` via:

VolumeAttachmentTypeArray{ VolumeAttachmentTypeArgs{...} }

type VolumeAttachmentTypeArrayOutput

type VolumeAttachmentTypeArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentTypeArrayOutput) ElementType

func (VolumeAttachmentTypeArrayOutput) Index

func (VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutput

func (o VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutput() VolumeAttachmentTypeArrayOutput

func (VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutputWithContext

func (o VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutputWithContext(ctx context.Context) VolumeAttachmentTypeArrayOutput

type VolumeAttachmentTypeInput

type VolumeAttachmentTypeInput interface {
	pulumi.Input

	ToVolumeAttachmentTypeOutput() VolumeAttachmentTypeOutput
	ToVolumeAttachmentTypeOutputWithContext(context.Context) VolumeAttachmentTypeOutput
}

VolumeAttachmentTypeInput is an input type that accepts VolumeAttachmentTypeArgs and VolumeAttachmentTypeOutput values. You can construct a concrete instance of `VolumeAttachmentTypeInput` via:

VolumeAttachmentTypeArgs{...}

type VolumeAttachmentTypeOutput

type VolumeAttachmentTypeOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentTypeOutput) ElementType

func (VolumeAttachmentTypeOutput) ElementType() reflect.Type

func (VolumeAttachmentTypeOutput) Href

func (VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutput

func (o VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutput() VolumeAttachmentTypeOutput

func (VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutputWithContext

func (o VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutputWithContext(ctx context.Context) VolumeAttachmentTypeOutput

type VolumeSnapshotPolicy

type VolumeSnapshotPolicy struct {
	SnapshotCount     int    `pulumi:"snapshotCount"`
	SnapshotFrequency string `pulumi:"snapshotFrequency"`
}

type VolumeSnapshotPolicyArgs

type VolumeSnapshotPolicyArgs struct {
	SnapshotCount     pulumi.IntInput    `pulumi:"snapshotCount"`
	SnapshotFrequency pulumi.StringInput `pulumi:"snapshotFrequency"`
}

func (VolumeSnapshotPolicyArgs) ElementType

func (VolumeSnapshotPolicyArgs) ElementType() reflect.Type

func (VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutput

func (i VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutput() VolumeSnapshotPolicyOutput

func (VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutputWithContext

func (i VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutputWithContext(ctx context.Context) VolumeSnapshotPolicyOutput

type VolumeSnapshotPolicyArray

type VolumeSnapshotPolicyArray []VolumeSnapshotPolicyInput

func (VolumeSnapshotPolicyArray) ElementType

func (VolumeSnapshotPolicyArray) ElementType() reflect.Type

func (VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutput

func (i VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutput() VolumeSnapshotPolicyArrayOutput

func (VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutputWithContext

func (i VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutputWithContext(ctx context.Context) VolumeSnapshotPolicyArrayOutput

type VolumeSnapshotPolicyArrayInput

type VolumeSnapshotPolicyArrayInput interface {
	pulumi.Input

	ToVolumeSnapshotPolicyArrayOutput() VolumeSnapshotPolicyArrayOutput
	ToVolumeSnapshotPolicyArrayOutputWithContext(context.Context) VolumeSnapshotPolicyArrayOutput
}

VolumeSnapshotPolicyArrayInput is an input type that accepts VolumeSnapshotPolicyArray and VolumeSnapshotPolicyArrayOutput values. You can construct a concrete instance of `VolumeSnapshotPolicyArrayInput` via:

VolumeSnapshotPolicyArray{ VolumeSnapshotPolicyArgs{...} }

type VolumeSnapshotPolicyArrayOutput

type VolumeSnapshotPolicyArrayOutput struct{ *pulumi.OutputState }

func (VolumeSnapshotPolicyArrayOutput) ElementType

func (VolumeSnapshotPolicyArrayOutput) Index

func (VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutput

func (o VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutput() VolumeSnapshotPolicyArrayOutput

func (VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutputWithContext

func (o VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutputWithContext(ctx context.Context) VolumeSnapshotPolicyArrayOutput

type VolumeSnapshotPolicyInput

type VolumeSnapshotPolicyInput interface {
	pulumi.Input

	ToVolumeSnapshotPolicyOutput() VolumeSnapshotPolicyOutput
	ToVolumeSnapshotPolicyOutputWithContext(context.Context) VolumeSnapshotPolicyOutput
}

VolumeSnapshotPolicyInput is an input type that accepts VolumeSnapshotPolicyArgs and VolumeSnapshotPolicyOutput values. You can construct a concrete instance of `VolumeSnapshotPolicyInput` via:

VolumeSnapshotPolicyArgs{...}

type VolumeSnapshotPolicyOutput

type VolumeSnapshotPolicyOutput struct{ *pulumi.OutputState }

func (VolumeSnapshotPolicyOutput) ElementType

func (VolumeSnapshotPolicyOutput) ElementType() reflect.Type

func (VolumeSnapshotPolicyOutput) SnapshotCount

func (o VolumeSnapshotPolicyOutput) SnapshotCount() pulumi.IntOutput

func (VolumeSnapshotPolicyOutput) SnapshotFrequency

func (o VolumeSnapshotPolicyOutput) SnapshotFrequency() pulumi.StringOutput

func (VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutput

func (o VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutput() VolumeSnapshotPolicyOutput

func (VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutputWithContext

func (o VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutputWithContext(ctx context.Context) VolumeSnapshotPolicyOutput

type VolumeState

type VolumeState struct {
	// A list of attachments, each with it's own `href` attribute
	Attachments VolumeAttachmentTypeArrayInput
	// The billing cycle, defaults to "hourly"
	BillingCycle pulumi.StringPtrInput
	// The timestamp for when the volume was created
	Created pulumi.StringPtrInput
	// Optional description for the volume
	Description pulumi.StringPtrInput
	// The facility to create the volume in
	Facility pulumi.StringPtrInput
	// Lock or unlock the volume
	Locked pulumi.BoolPtrInput
	// The name of the volume
	Name pulumi.StringPtrInput
	// The service plan slug of the volume
	Plan pulumi.StringPtrInput
	// The packet project ID to deploy the volume in
	ProjectId pulumi.StringPtrInput
	// The size in GB to make the volume
	Size pulumi.IntPtrInput
	// Optional list of snapshot policies
	SnapshotPolicies VolumeSnapshotPolicyArrayInput
	// The state of the volume
	State pulumi.StringPtrInput
	// The timestamp for the last time the volume was updated
	Updated pulumi.StringPtrInput
}

func (VolumeState) ElementType

func (VolumeState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL