packet

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2020 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Overview

nolint: lll

nolint: lll

Package packet exports types, functions, subpackages for provisioning packet resources.// A Pulumi package for creating and managing X cloud resources.

> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-packet) > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, > first check the [`pulumi/pulumi-packet` repo](https://github.com/pulumi/pulumi-packet/issues); however, if that doesn't turn up anything, > please consult the source [`terraform-providers/terraform-provider-packet` repo](https://github.com/terraform-providers/terraform-provider-packet/issues).

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

nolint: lll

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BgpSession added in v0.2.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/bgp_session.html.markdown.

func GetBgpSession added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v1.6.0

func (BgpSessionArgs) ElementType() reflect.Type

type BgpSessionState added in v0.2.0

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 added in v1.6.0

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"`
	NetworkType pulumi.StringPtrOutput `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"`
	// Size of allocated subnet, more
	// information is in the
	// [Custom Subnet Size](https://www.packet.com/developers/docs/servers/key-features/custom-subnet-size/) doc.
	PublicIpv4SubnetSize pulumi.IntOutput `pulumi:"publicIpv4SubnetSize"`
	// 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.
	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).

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/device.html.markdown.

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
	NetworkType   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
	// Size of allocated subnet, more
	// information is in the
	// [Custom Subnet Size](https://www.packet.com/developers/docs/servers/key-features/custom-subnet-size/) doc.
	PublicIpv4SubnetSize pulumi.IntPtrInput
	// 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.
	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 added in v1.6.0

func (DeviceArgs) ElementType() reflect.Type

type DeviceIpAddress added in v1.7.0

type DeviceIpAddress struct {
	// bit length of the network mask of the address
	Cidr           *int     `pulumi:"cidr"`
	ReservationIds []string `pulumi:"reservationIds"`
	// Type of the port (e.g. `NetworkPort` or `NetworkBondPort`)
	Type string `pulumi:"type"`
}

type DeviceIpAddressArgs added in v1.7.0

type DeviceIpAddressArgs struct {
	// bit length of the network mask of the address
	Cidr           pulumi.IntPtrInput      `pulumi:"cidr"`
	ReservationIds pulumi.StringArrayInput `pulumi:"reservationIds"`
	// Type of the port (e.g. `NetworkPort` or `NetworkBondPort`)
	Type pulumi.StringInput `pulumi:"type"`
}

func (DeviceIpAddressArgs) ElementType added in v1.7.0

func (DeviceIpAddressArgs) ElementType() reflect.Type

func (DeviceIpAddressArgs) ToDeviceIpAddressOutput added in v1.7.0

func (i DeviceIpAddressArgs) ToDeviceIpAddressOutput() DeviceIpAddressOutput

func (DeviceIpAddressArgs) ToDeviceIpAddressOutputWithContext added in v1.7.0

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

type DeviceIpAddressArray added in v1.7.0

type DeviceIpAddressArray []DeviceIpAddressInput

func (DeviceIpAddressArray) ElementType added in v1.7.0

func (DeviceIpAddressArray) ElementType() reflect.Type

func (DeviceIpAddressArray) ToDeviceIpAddressArrayOutput added in v1.7.0

func (i DeviceIpAddressArray) ToDeviceIpAddressArrayOutput() DeviceIpAddressArrayOutput

func (DeviceIpAddressArray) ToDeviceIpAddressArrayOutputWithContext added in v1.7.0

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

type DeviceIpAddressArrayInput added in v1.7.0

type DeviceIpAddressArrayInput interface {
	pulumi.Input

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

type DeviceIpAddressArrayOutput added in v1.7.0

type DeviceIpAddressArrayOutput struct{ *pulumi.OutputState }

func (DeviceIpAddressArrayOutput) ElementType added in v1.7.0

func (DeviceIpAddressArrayOutput) ElementType() reflect.Type

func (DeviceIpAddressArrayOutput) Index added in v1.7.0

func (DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutput added in v1.7.0

func (o DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutput() DeviceIpAddressArrayOutput

func (DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutputWithContext added in v1.7.0

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

type DeviceIpAddressInput added in v1.7.0

type DeviceIpAddressInput interface {
	pulumi.Input

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

type DeviceIpAddressOutput added in v1.7.0

type DeviceIpAddressOutput struct{ *pulumi.OutputState }

func (DeviceIpAddressOutput) Cidr added in v1.7.0

bit length of the network mask of the address

func (DeviceIpAddressOutput) ElementType added in v1.7.0

func (DeviceIpAddressOutput) ElementType() reflect.Type

func (DeviceIpAddressOutput) ReservationIds added in v1.7.0

func (o DeviceIpAddressOutput) ReservationIds() pulumi.StringArrayOutput

func (DeviceIpAddressOutput) ToDeviceIpAddressOutput added in v1.7.0

func (o DeviceIpAddressOutput) ToDeviceIpAddressOutput() DeviceIpAddressOutput

func (DeviceIpAddressOutput) ToDeviceIpAddressOutputWithContext added in v1.7.0

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

func (DeviceIpAddressOutput) Type added in v1.7.0

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

type DeviceNetwork added in v1.6.0

type DeviceNetwork 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 DeviceNetworkArgs added in v1.6.0

type DeviceNetworkArgs struct {
	// IPv4 or IPv6 address string
	Address pulumi.StringPtrInput `pulumi:"address"`
	// bit length of the network mask of the address
	Cidr pulumi.IntPtrInput `pulumi:"cidr"`
	// IP version - "4" or "6"
	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 added in v1.6.0

func (DeviceNetworkArgs) ElementType() reflect.Type

func (DeviceNetworkArgs) ToDeviceNetworkOutput added in v1.6.0

func (i DeviceNetworkArgs) ToDeviceNetworkOutput() DeviceNetworkOutput

func (DeviceNetworkArgs) ToDeviceNetworkOutputWithContext added in v1.6.0

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

type DeviceNetworkArray added in v1.6.0

type DeviceNetworkArray []DeviceNetworkInput

func (DeviceNetworkArray) ElementType added in v1.6.0

func (DeviceNetworkArray) ElementType() reflect.Type

func (DeviceNetworkArray) ToDeviceNetworkArrayOutput added in v1.6.0

func (i DeviceNetworkArray) ToDeviceNetworkArrayOutput() DeviceNetworkArrayOutput

func (DeviceNetworkArray) ToDeviceNetworkArrayOutputWithContext added in v1.6.0

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

type DeviceNetworkArrayInput added in v1.6.0

type DeviceNetworkArrayInput interface {
	pulumi.Input

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

type DeviceNetworkArrayOutput added in v1.6.0

type DeviceNetworkArrayOutput struct{ *pulumi.OutputState }

func (DeviceNetworkArrayOutput) ElementType added in v1.6.0

func (DeviceNetworkArrayOutput) ElementType() reflect.Type

func (DeviceNetworkArrayOutput) Index added in v1.6.0

func (DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutput added in v1.6.0

func (o DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutput() DeviceNetworkArrayOutput

func (DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutputWithContext added in v1.6.0

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

type DeviceNetworkInput added in v1.6.0

type DeviceNetworkInput interface {
	pulumi.Input

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

type DeviceNetworkOutput added in v1.6.0

type DeviceNetworkOutput struct{ *pulumi.OutputState }

func (DeviceNetworkOutput) Address added in v1.6.0

IPv4 or IPv6 address string

func (DeviceNetworkOutput) Cidr added in v1.6.0

bit length of the network mask of the address

func (DeviceNetworkOutput) ElementType added in v1.6.0

func (DeviceNetworkOutput) ElementType() reflect.Type

func (DeviceNetworkOutput) Family added in v1.6.0

IP version - "4" or "6"

func (DeviceNetworkOutput) Gateway added in v1.6.0

address of router

func (DeviceNetworkOutput) Public added in v1.6.0

whether the address is routable from the Internet

func (DeviceNetworkOutput) ToDeviceNetworkOutput added in v1.6.0

func (o DeviceNetworkOutput) ToDeviceNetworkOutput() DeviceNetworkOutput

func (DeviceNetworkOutput) ToDeviceNetworkOutputWithContext added in v1.6.0

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

type DevicePort added in v1.6.0

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"`
	// Type of the port (e.g. `NetworkPort` or `NetworkBondPort`)
	Type *string `pulumi:"type"`
}

type DevicePortArgs added in v1.6.0

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"`
	// Type of the port (e.g. `NetworkPort` or `NetworkBondPort`)
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (DevicePortArgs) ElementType added in v1.6.0

func (DevicePortArgs) ElementType() reflect.Type

func (DevicePortArgs) ToDevicePortOutput added in v1.6.0

func (i DevicePortArgs) ToDevicePortOutput() DevicePortOutput

func (DevicePortArgs) ToDevicePortOutputWithContext added in v1.6.0

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

type DevicePortArray added in v1.6.0

type DevicePortArray []DevicePortInput

func (DevicePortArray) ElementType added in v1.6.0

func (DevicePortArray) ElementType() reflect.Type

func (DevicePortArray) ToDevicePortArrayOutput added in v1.6.0

func (i DevicePortArray) ToDevicePortArrayOutput() DevicePortArrayOutput

func (DevicePortArray) ToDevicePortArrayOutputWithContext added in v1.6.0

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

type DevicePortArrayInput added in v1.6.0

type DevicePortArrayInput interface {
	pulumi.Input

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

type DevicePortArrayOutput added in v1.6.0

type DevicePortArrayOutput struct{ *pulumi.OutputState }

func (DevicePortArrayOutput) ElementType added in v1.6.0

func (DevicePortArrayOutput) ElementType() reflect.Type

func (DevicePortArrayOutput) Index added in v1.6.0

func (DevicePortArrayOutput) ToDevicePortArrayOutput added in v1.6.0

func (o DevicePortArrayOutput) ToDevicePortArrayOutput() DevicePortArrayOutput

func (DevicePortArrayOutput) ToDevicePortArrayOutputWithContext added in v1.6.0

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

type DevicePortInput added in v1.6.0

type DevicePortInput interface {
	pulumi.Input

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

type DevicePortOutput added in v1.6.0

type DevicePortOutput struct{ *pulumi.OutputState }

func (DevicePortOutput) Bonded added in v1.6.0

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 added in v1.6.0

func (DevicePortOutput) ElementType() reflect.Type

func (DevicePortOutput) Id added in v1.6.0

ID of the port

func (DevicePortOutput) Mac added in v1.6.0

MAC address assigned to the port

func (DevicePortOutput) Name added in v1.6.0

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

func (DevicePortOutput) ToDevicePortOutput added in v1.6.0

func (o DevicePortOutput) ToDevicePortOutput() DevicePortOutput

func (DevicePortOutput) ToDevicePortOutputWithContext added in v1.6.0

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

func (DevicePortOutput) Type added in v1.6.0

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

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
	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
	// Size of allocated subnet, more
	// information is in the
	// [Custom Subnet Size](https://www.packet.com/developers/docs/servers/key-features/custom-subnet-size/) doc.
	PublicIpv4SubnetSize pulumi.IntPtrInput
	// 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.
	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 added in v1.6.0

func (DeviceState) ElementType() reflect.Type

type GetDeviceNetwork added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (GetDeviceNetworkArgs) ElementType() reflect.Type

func (GetDeviceNetworkArgs) ToGetDeviceNetworkOutput added in v1.6.0

func (i GetDeviceNetworkArgs) ToGetDeviceNetworkOutput() GetDeviceNetworkOutput

func (GetDeviceNetworkArgs) ToGetDeviceNetworkOutputWithContext added in v1.6.0

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

type GetDeviceNetworkArray added in v1.6.0

type GetDeviceNetworkArray []GetDeviceNetworkInput

func (GetDeviceNetworkArray) ElementType added in v1.6.0

func (GetDeviceNetworkArray) ElementType() reflect.Type

func (GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutput added in v1.6.0

func (i GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutput() GetDeviceNetworkArrayOutput

func (GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutputWithContext added in v1.6.0

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

type GetDeviceNetworkArrayInput added in v1.6.0

type GetDeviceNetworkArrayInput interface {
	pulumi.Input

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

type GetDeviceNetworkArrayOutput added in v1.6.0

type GetDeviceNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetDeviceNetworkArrayOutput) ElementType added in v1.6.0

func (GetDeviceNetworkArrayOutput) Index added in v1.6.0

func (GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutput added in v1.6.0

func (o GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutput() GetDeviceNetworkArrayOutput

func (GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutputWithContext added in v1.6.0

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

type GetDeviceNetworkInput added in v1.6.0

type GetDeviceNetworkInput interface {
	pulumi.Input

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

type GetDeviceNetworkOutput added in v1.6.0

type GetDeviceNetworkOutput struct{ *pulumi.OutputState }

func (GetDeviceNetworkOutput) Address added in v1.6.0

IPv4 or IPv6 address string

func (GetDeviceNetworkOutput) Cidr added in v1.6.0

Bit length of the network mask of the address

func (GetDeviceNetworkOutput) ElementType added in v1.6.0

func (GetDeviceNetworkOutput) ElementType() reflect.Type

func (GetDeviceNetworkOutput) Family added in v1.6.0

IP version - "4" or "6"

func (GetDeviceNetworkOutput) Gateway added in v1.6.0

Address of router

func (GetDeviceNetworkOutput) Public added in v1.6.0

Whether the address is routable from the Internet

func (GetDeviceNetworkOutput) ToGetDeviceNetworkOutput added in v1.6.0

func (o GetDeviceNetworkOutput) ToGetDeviceNetworkOutput() GetDeviceNetworkOutput

func (GetDeviceNetworkOutput) ToGetDeviceNetworkOutputWithContext added in v1.6.0

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

type GetDevicePort added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (GetDevicePortArgs) ElementType() reflect.Type

func (GetDevicePortArgs) ToGetDevicePortOutput added in v1.6.0

func (i GetDevicePortArgs) ToGetDevicePortOutput() GetDevicePortOutput

func (GetDevicePortArgs) ToGetDevicePortOutputWithContext added in v1.6.0

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

type GetDevicePortArray added in v1.6.0

type GetDevicePortArray []GetDevicePortInput

func (GetDevicePortArray) ElementType added in v1.6.0

func (GetDevicePortArray) ElementType() reflect.Type

func (GetDevicePortArray) ToGetDevicePortArrayOutput added in v1.6.0

func (i GetDevicePortArray) ToGetDevicePortArrayOutput() GetDevicePortArrayOutput

func (GetDevicePortArray) ToGetDevicePortArrayOutputWithContext added in v1.6.0

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

type GetDevicePortArrayInput added in v1.6.0

type GetDevicePortArrayInput interface {
	pulumi.Input

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

type GetDevicePortArrayOutput added in v1.6.0

type GetDevicePortArrayOutput struct{ *pulumi.OutputState }

func (GetDevicePortArrayOutput) ElementType added in v1.6.0

func (GetDevicePortArrayOutput) ElementType() reflect.Type

func (GetDevicePortArrayOutput) Index added in v1.6.0

func (GetDevicePortArrayOutput) ToGetDevicePortArrayOutput added in v1.6.0

func (o GetDevicePortArrayOutput) ToGetDevicePortArrayOutput() GetDevicePortArrayOutput

func (GetDevicePortArrayOutput) ToGetDevicePortArrayOutputWithContext added in v1.6.0

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

type GetDevicePortInput added in v1.6.0

type GetDevicePortInput interface {
	pulumi.Input

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

type GetDevicePortOutput added in v1.6.0

type GetDevicePortOutput struct{ *pulumi.OutputState }

func (GetDevicePortOutput) Bonded added in v1.6.0

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

func (GetDevicePortOutput) ElementType added in v1.6.0

func (GetDevicePortOutput) ElementType() reflect.Type

func (GetDevicePortOutput) Id added in v1.6.0

ID of the port

func (GetDevicePortOutput) Mac added in v1.6.0

MAC address assigned to the port

func (GetDevicePortOutput) Name added in v1.6.0

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

func (GetDevicePortOutput) ToGetDevicePortOutput added in v1.6.0

func (o GetDevicePortOutput) ToGetDevicePortOutput() GetDevicePortOutput

func (GetDevicePortOutput) ToGetDevicePortOutputWithContext added in v1.6.0

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

func (GetDevicePortOutput) Type added in v1.6.0

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

type GetIpBlockRangesArgs added in v1.1.0

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 added in v1.1.0

type GetIpBlockRangesResult struct {
	Facility *string `pulumi:"facility"`
	// list of CIDR expressions for Global IPv4 blocks in the project
	GlobalIpv4s []string `pulumi:"globalIpv4s"`
	// id is 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 added in v1.6.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/d/ip_block_ranges.html.markdown.

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"`
	// id is 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 added in v1.6.0

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

Use this data source to get Packet Operating System image.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/d/operating_system.html.markdown.

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"`
	// id is 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 added in v1.6.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/d/precreated_ip_block.html.markdown.

type GetProjectBgpConfig added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (GetProjectBgpConfigArgs) ElementType() reflect.Type

func (GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutput added in v1.6.0

func (i GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutput() GetProjectBgpConfigOutput

func (GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutputWithContext added in v1.6.0

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

type GetProjectBgpConfigInput added in v1.6.0

type GetProjectBgpConfigInput interface {
	pulumi.Input

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

type GetProjectBgpConfigOutput added in v1.6.0

type GetProjectBgpConfigOutput struct{ *pulumi.OutputState }

func (GetProjectBgpConfigOutput) Asn added in v1.6.0

Autonomous System Numer for local BGP deployment

func (GetProjectBgpConfigOutput) DeploymentType added in v1.6.0

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 added in v1.6.0

func (GetProjectBgpConfigOutput) ElementType() reflect.Type

func (GetProjectBgpConfigOutput) MaxPrefix added in v1.6.0

The maximum number of route filters allowed per server

func (GetProjectBgpConfigOutput) Md5 added in v1.6.0

Password for BGP session in plaintext (not a checksum)

func (GetProjectBgpConfigOutput) Status added in v1.6.0

status of BGP configuration in the project

func (GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutput added in v1.6.0

func (o GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutput() GetProjectBgpConfigOutput

func (GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutputWithContext added in v1.6.0

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"`
	// id is 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 added in v1.6.0

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

Use this data source to get Packet Spot Market Price.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/d/spot_market_price.html.markdown.

type GetVolumeSnapshotPolicy added in v1.6.0

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

type GetVolumeSnapshotPolicyArgs added in v1.6.0

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

func (GetVolumeSnapshotPolicyArgs) ElementType added in v1.6.0

func (GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutput added in v1.6.0

func (i GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutput() GetVolumeSnapshotPolicyOutput

func (GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutputWithContext added in v1.6.0

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

type GetVolumeSnapshotPolicyArray added in v1.6.0

type GetVolumeSnapshotPolicyArray []GetVolumeSnapshotPolicyInput

func (GetVolumeSnapshotPolicyArray) ElementType added in v1.6.0

func (GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutput added in v1.6.0

func (i GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutput() GetVolumeSnapshotPolicyArrayOutput

func (GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutputWithContext added in v1.6.0

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

type GetVolumeSnapshotPolicyArrayInput added in v1.6.0

type GetVolumeSnapshotPolicyArrayInput interface {
	pulumi.Input

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

type GetVolumeSnapshotPolicyArrayOutput added in v1.6.0

type GetVolumeSnapshotPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetVolumeSnapshotPolicyArrayOutput) ElementType added in v1.6.0

func (GetVolumeSnapshotPolicyArrayOutput) Index added in v1.6.0

func (GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutput added in v1.6.0

func (o GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutput() GetVolumeSnapshotPolicyArrayOutput

func (GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutputWithContext added in v1.6.0

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

type GetVolumeSnapshotPolicyInput added in v1.6.0

type GetVolumeSnapshotPolicyInput interface {
	pulumi.Input

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

type GetVolumeSnapshotPolicyOutput added in v1.6.0

type GetVolumeSnapshotPolicyOutput struct{ *pulumi.OutputState }

func (GetVolumeSnapshotPolicyOutput) ElementType added in v1.6.0

func (GetVolumeSnapshotPolicyOutput) SnapshotCount added in v1.6.0

func (GetVolumeSnapshotPolicyOutput) SnapshotFrequency added in v1.6.0

func (o GetVolumeSnapshotPolicyOutput) SnapshotFrequency() pulumi.StringOutput

func (GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutput added in v1.6.0

func (o GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutput() GetVolumeSnapshotPolicyOutput

func (GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutputWithContext added in v1.6.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/ip_attachment.html.markdown.

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 added in v1.6.0

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 added in v1.6.0

func (IpAttachmentState) ElementType() reflect.Type

type LookupDeviceArgs added in v1.6.0

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 added in v1.6.0

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"`
	// id is 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"`
	PublicIpv4SubnetSize int             `pulumi:"publicIpv4SubnetSize"`
	// 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 added in v0.4.12

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).

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/d/device.html.markdown.

type LookupOrganizationArgs added in v1.6.0

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 added in v1.6.0

type LookupOrganizationResult struct {
	// Description string
	Description string `pulumi:"description"`
	// id is 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 added in v1.1.0

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

Provides a Packet organization datasource.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/d/organization.html.markdown.

type LookupProjectArgs added in v1.6.0

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 added in v1.6.0

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"`
	// id is 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 added in v1.1.0

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

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

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/d/project.html.markdown.

type LookupSpotMarketRequestArgs added in v1.6.0

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

A collection of arguments for invoking getSpotMarketRequest.

type LookupSpotMarketRequestResult added in v1.6.0

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

A collection of values returned by getSpotMarketRequest.

func LookupSpotMarketRequest added in v1.1.0

func LookupSpotMarketRequest(ctx *pulumi.Context, args *LookupSpotMarketRequestArgs, opts ...pulumi.InvokeOption) (*LookupSpotMarketRequestResult, error)

Provides a Packet spotMarketRequest datasource. The datasource will contain list of device IDs created by referenced Spot Market Request.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/d/spot_market_request.html.markdown.

type LookupVolumeArgs added in v1.6.0

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"`
	VolumeId  *string `pulumi:"volumeId"`
}

A collection of arguments for invoking getVolume.

type LookupVolumeResult added in v1.6.0

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"`
	// id is 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 added in v1.1.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/d/volume.html.markdown.

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/organization.html.markdown.

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 added in v1.6.0

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 added in v1.6.0

func (OrganizationState) ElementType() reflect.Type

type PortVlanAttachment added in v0.3.1

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/

## Attribute Referece

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

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/port_vlan_attachment.html.markdown.

func GetPortVlanAttachment added in v0.3.1

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 added in v0.3.1

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 added in v0.3.1

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 added in v1.6.0

func (PortVlanAttachmentArgs) ElementType() reflect.Type

type PortVlanAttachmentState added in v0.3.1

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 added in v1.6.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/project.html.markdown.

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 added in v1.6.0

func (ProjectArgs) ElementType() reflect.Type

type ProjectBgpConfig added in v1.6.0

type ProjectBgpConfig struct {
	Asn            int    `pulumi:"asn"`
	DeploymentType string `pulumi:"deploymentType"`
	// The maximum number of route filters allowed per server
	MaxPrefix *int    `pulumi:"maxPrefix"`
	Md5       *string `pulumi:"md5"`
	// status of BGP configuration in the project
	Status *string `pulumi:"status"`
}

type ProjectBgpConfigArgs added in v1.6.0

type ProjectBgpConfigArgs struct {
	Asn            pulumi.IntInput    `pulumi:"asn"`
	DeploymentType pulumi.StringInput `pulumi:"deploymentType"`
	// The maximum number of route filters allowed per server
	MaxPrefix pulumi.IntPtrInput    `pulumi:"maxPrefix"`
	Md5       pulumi.StringPtrInput `pulumi:"md5"`
	// status of BGP configuration in the project
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (ProjectBgpConfigArgs) ElementType added in v1.6.0

func (ProjectBgpConfigArgs) ElementType() reflect.Type

func (ProjectBgpConfigArgs) ToProjectBgpConfigOutput added in v1.6.0

func (i ProjectBgpConfigArgs) ToProjectBgpConfigOutput() ProjectBgpConfigOutput

func (ProjectBgpConfigArgs) ToProjectBgpConfigOutputWithContext added in v1.6.0

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

func (ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutput added in v1.6.0

func (i ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput

func (ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutputWithContext added in v1.6.0

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

type ProjectBgpConfigInput added in v1.6.0

type ProjectBgpConfigInput interface {
	pulumi.Input

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

type ProjectBgpConfigOutput added in v1.6.0

type ProjectBgpConfigOutput struct{ *pulumi.OutputState }

func (ProjectBgpConfigOutput) Asn added in v1.6.0

func (ProjectBgpConfigOutput) DeploymentType added in v1.6.0

func (o ProjectBgpConfigOutput) DeploymentType() pulumi.StringOutput

func (ProjectBgpConfigOutput) ElementType added in v1.6.0

func (ProjectBgpConfigOutput) ElementType() reflect.Type

func (ProjectBgpConfigOutput) MaxPrefix added in v1.6.0

The maximum number of route filters allowed per server

func (ProjectBgpConfigOutput) Md5 added in v1.6.0

func (ProjectBgpConfigOutput) Status added in v1.6.0

status of BGP configuration in the project

func (ProjectBgpConfigOutput) ToProjectBgpConfigOutput added in v1.6.0

func (o ProjectBgpConfigOutput) ToProjectBgpConfigOutput() ProjectBgpConfigOutput

func (ProjectBgpConfigOutput) ToProjectBgpConfigOutputWithContext added in v1.6.0

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

func (ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutput added in v1.6.0

func (o ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput

func (ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutputWithContext added in v1.6.0

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

type ProjectBgpConfigPtrInput added in v1.6.0

type ProjectBgpConfigPtrInput interface {
	pulumi.Input

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

func ProjectBgpConfigPtr added in v1.6.0

func ProjectBgpConfigPtr(v *ProjectBgpConfigArgs) ProjectBgpConfigPtrInput

type ProjectBgpConfigPtrOutput added in v1.6.0

type ProjectBgpConfigPtrOutput struct{ *pulumi.OutputState }

func (ProjectBgpConfigPtrOutput) Asn added in v1.6.0

func (ProjectBgpConfigPtrOutput) DeploymentType added in v1.6.0

func (o ProjectBgpConfigPtrOutput) DeploymentType() pulumi.StringOutput

func (ProjectBgpConfigPtrOutput) Elem added in v1.6.0

func (ProjectBgpConfigPtrOutput) ElementType added in v1.6.0

func (ProjectBgpConfigPtrOutput) ElementType() reflect.Type

func (ProjectBgpConfigPtrOutput) MaxPrefix added in v1.6.0

The maximum number of route filters allowed per server

func (ProjectBgpConfigPtrOutput) Md5 added in v1.6.0

func (ProjectBgpConfigPtrOutput) Status added in v1.6.0

status of BGP configuration in the project

func (ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutput added in v1.6.0

func (o ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput

func (ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutputWithContext added in v1.6.0

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

type ProjectSshKey added in v0.2.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/project_ssh_key.html.markdown.

func GetProjectSshKey added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v1.6.0

func (ProjectSshKeyArgs) ElementType() reflect.Type

type ProjectSshKeyState added in v0.2.0

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 added in v1.6.0

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 added in v1.6.0

func (ProjectState) ElementType() reflect.Type

type Provider added in v1.6.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/index.html.markdown.

func NewProvider added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/reserved_ip_block.html.markdown.

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 added in v1.6.0

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 added in v1.6.0

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 Packing documentaion](https://www.packet.com/developers/docs/getting-started/deployment-options/spot-market/).

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/spot_market_request.html.markdown.

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 added in v1.6.0

func (SpotMarketRequestArgs) ElementType() reflect.Type

type SpotMarketRequestInstanceParameters added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutput added in v1.6.0

func (i SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutput() SpotMarketRequestInstanceParametersOutput

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutputWithContext added in v1.6.0

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

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutput added in v1.6.0

func (i SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutputWithContext added in v1.6.0

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

type SpotMarketRequestInstanceParametersInput added in v1.6.0

type SpotMarketRequestInstanceParametersInput interface {
	pulumi.Input

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

type SpotMarketRequestInstanceParametersOutput added in v1.6.0

type SpotMarketRequestInstanceParametersOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestInstanceParametersOutput) AlwaysPxe added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) BillingCycle added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) Description added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) ElementType added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) Features added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) Hostname added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) Locked added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) OperatingSystem added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) Plan added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) ProjectSshKeys added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) TermintationTime added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutput added in v1.6.0

func (o SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutput() SpotMarketRequestInstanceParametersOutput

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutputWithContext added in v1.6.0

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

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutput added in v1.6.0

func (o SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutputWithContext added in v1.6.0

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

func (SpotMarketRequestInstanceParametersOutput) UserSshKeys added in v1.6.0

func (SpotMarketRequestInstanceParametersOutput) Userdata added in v1.6.0

type SpotMarketRequestInstanceParametersPtrInput added in v1.6.0

type SpotMarketRequestInstanceParametersPtrInput interface {
	pulumi.Input

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

type SpotMarketRequestInstanceParametersPtrOutput added in v1.6.0

type SpotMarketRequestInstanceParametersPtrOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestInstanceParametersPtrOutput) AlwaysPxe added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) BillingCycle added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) Description added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) Elem added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) ElementType added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) Features added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) Hostname added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) Locked added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) OperatingSystem added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) Plan added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) ProjectSshKeys added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) TermintationTime added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutput added in v1.6.0

func (o SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutputWithContext added in v1.6.0

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

func (SpotMarketRequestInstanceParametersPtrOutput) UserSshKeys added in v1.6.0

func (SpotMarketRequestInstanceParametersPtrOutput) Userdata added in v1.6.0

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 added in v1.6.0

func (SpotMarketRequestState) ElementType() reflect.Type

type SshKey added in v0.2.0

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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/ssh_key.html.markdown.

func GetSshKey added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v1.6.0

func (SshKeyArgs) ElementType() reflect.Type

type SshKeyState added in v0.2.0

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 added in v1.6.0

func (SshKeyState) ElementType() reflect.Type

type Vlan added in v0.2.0

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/

> This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/vlan.html.markdown.

func GetVlan added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v1.6.0

func (VlanArgs) ElementType() reflect.Type

type VlanState added in v0.2.0

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 added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

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 added in v1.6.0

func (VolumeAttachmentState) ElementType() reflect.Type

type VolumeAttachmentType added in v1.6.0

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

type VolumeAttachmentTypeArgs added in v1.6.0

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

func (VolumeAttachmentTypeArgs) ElementType added in v1.6.0

func (VolumeAttachmentTypeArgs) ElementType() reflect.Type

func (VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutput added in v1.6.0

func (i VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutput() VolumeAttachmentTypeOutput

func (VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutputWithContext added in v1.6.0

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

type VolumeAttachmentTypeArray added in v1.6.0

type VolumeAttachmentTypeArray []VolumeAttachmentTypeInput

func (VolumeAttachmentTypeArray) ElementType added in v1.6.0

func (VolumeAttachmentTypeArray) ElementType() reflect.Type

func (VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutput added in v1.6.0

func (i VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutput() VolumeAttachmentTypeArrayOutput

func (VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutputWithContext added in v1.6.0

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

type VolumeAttachmentTypeArrayInput added in v1.6.0

type VolumeAttachmentTypeArrayInput interface {
	pulumi.Input

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

type VolumeAttachmentTypeArrayOutput added in v1.6.0

type VolumeAttachmentTypeArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentTypeArrayOutput) ElementType added in v1.6.0

func (VolumeAttachmentTypeArrayOutput) Index added in v1.6.0

func (VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutput added in v1.6.0

func (o VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutput() VolumeAttachmentTypeArrayOutput

func (VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutputWithContext added in v1.6.0

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

type VolumeAttachmentTypeInput added in v1.6.0

type VolumeAttachmentTypeInput interface {
	pulumi.Input

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

type VolumeAttachmentTypeOutput added in v1.6.0

type VolumeAttachmentTypeOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentTypeOutput) ElementType added in v1.6.0

func (VolumeAttachmentTypeOutput) ElementType() reflect.Type

func (VolumeAttachmentTypeOutput) Href added in v1.6.0

func (VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutput added in v1.6.0

func (o VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutput() VolumeAttachmentTypeOutput

func (VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutputWithContext added in v1.6.0

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

type VolumeSnapshotPolicy added in v1.6.0

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

type VolumeSnapshotPolicyArgs added in v1.6.0

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

func (VolumeSnapshotPolicyArgs) ElementType added in v1.6.0

func (VolumeSnapshotPolicyArgs) ElementType() reflect.Type

func (VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutput added in v1.6.0

func (i VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutput() VolumeSnapshotPolicyOutput

func (VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutputWithContext added in v1.6.0

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

type VolumeSnapshotPolicyArray added in v1.6.0

type VolumeSnapshotPolicyArray []VolumeSnapshotPolicyInput

func (VolumeSnapshotPolicyArray) ElementType added in v1.6.0

func (VolumeSnapshotPolicyArray) ElementType() reflect.Type

func (VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutput added in v1.6.0

func (i VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutput() VolumeSnapshotPolicyArrayOutput

func (VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutputWithContext added in v1.6.0

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

type VolumeSnapshotPolicyArrayInput added in v1.6.0

type VolumeSnapshotPolicyArrayInput interface {
	pulumi.Input

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

type VolumeSnapshotPolicyArrayOutput added in v1.6.0

type VolumeSnapshotPolicyArrayOutput struct{ *pulumi.OutputState }

func (VolumeSnapshotPolicyArrayOutput) ElementType added in v1.6.0

func (VolumeSnapshotPolicyArrayOutput) Index added in v1.6.0

func (VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutput added in v1.6.0

func (o VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutput() VolumeSnapshotPolicyArrayOutput

func (VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutputWithContext added in v1.6.0

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

type VolumeSnapshotPolicyInput added in v1.6.0

type VolumeSnapshotPolicyInput interface {
	pulumi.Input

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

type VolumeSnapshotPolicyOutput added in v1.6.0

type VolumeSnapshotPolicyOutput struct{ *pulumi.OutputState }

func (VolumeSnapshotPolicyOutput) ElementType added in v1.6.0

func (VolumeSnapshotPolicyOutput) ElementType() reflect.Type

func (VolumeSnapshotPolicyOutput) SnapshotCount added in v1.6.0

func (o VolumeSnapshotPolicyOutput) SnapshotCount() pulumi.IntOutput

func (VolumeSnapshotPolicyOutput) SnapshotFrequency added in v1.6.0

func (o VolumeSnapshotPolicyOutput) SnapshotFrequency() pulumi.StringOutput

func (VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutput added in v1.6.0

func (o VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutput() VolumeSnapshotPolicyOutput

func (VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutputWithContext added in v1.6.0

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 added in v1.6.0

func (VolumeState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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