equinix

package
v3.2.1 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

A Pulumi package for creating and managing equinix-metal cloud resources.

Index

Constants

View Source
const (
	BillingCycleHourly  = BillingCycle("hourly")
	BillingCycleMonthly = BillingCycle("monthly")
)
View Source
const (
	FacilityEWR1 = Facility("ewr1")
	FacilitySJC1 = Facility("sjc1")
	FacilityDFW1 = Facility("dfw1")
	FacilityDFW2 = Facility("dfw2")
	FacilityAMS1 = Facility("ams1")
	FacilityNRT1 = Facility("nrt1")
	FacilitySEA1 = Facility("sea1")
	FacilityLAX1 = Facility("lax1")
	FacilityORD1 = Facility("ord1")
	FacilityATL1 = Facility("atl1")
	FacilityIAD1 = Facility("iad1")
	FacilitySIN1 = Facility("sin1")
	FacilityHKG1 = Facility("hkg1")
	FacilitySYD1 = Facility("syd1")
	FacilityMRS1 = Facility("mrs1")
	FacilityYYZ1 = Facility("yyz1")
	FacilityFRA2 = Facility("fra2")
	FacilityAM6  = Facility("am6")
	FacilityDC13 = Facility("dc13")
	FacilityCH3  = Facility("ch3")
	FacilityDA3  = Facility("da3")
	FacilityDA11 = Facility("da11")
	FacilityLA4  = Facility("la4")
	FacilityNY5  = Facility("ny5")
	FacilitySG1  = Facility("sg1")
	FacilitySV15 = Facility("sv15")
)
View Source
const (
	IpBlockTypeGlobalIPv4 = IpBlockType("global_ipv4")
	IpBlockTypePublicIPv4 = IpBlockType("public_ipv4")
)
View Source
const (
	NetworkTypeLayer3           = NetworkType("layer3")
	NetworkTypeLayer2Individual = NetworkType("layer2-individual")
	NetworkTypeLayer2Bonded     = NetworkType("layer2-bonded")
	NetworkTypeHybrid           = NetworkType("hybrid")
)
View Source
const (
	OperatingSystemAlpine3          = OperatingSystem("alpine_3")
	OperatingSystemCentOS6          = OperatingSystem("centos_6")
	OperatingSystemCentOS7          = OperatingSystem("centos_7")
	OperatingSystemCentOS8          = OperatingSystem("centos_8")
	OperatingSystemCoreOSAlpha      = OperatingSystem("coreos_alpha")
	OperatingSystemCoreOSBeta       = OperatingSystem("coreos_beta")
	OperatingSystemCoreOSStable     = OperatingSystem("coreos_stable")
	OperatingSystemCustomIPXE       = OperatingSystem("custom_ipxe")
	OperatingSystemDebian8          = OperatingSystem("debian_8")
	OperatingSystemDebian9          = OperatingSystem("debian_9")
	OperatingSystemDebian10         = OperatingSystem("debian_10")
	OperatingSystemFlatcarAlpha     = OperatingSystem("flatcar_alpha")
	OperatingSystemFlatcarBeta      = OperatingSystem("flatcar_beta")
	OperatingSystemFlatcarEdge      = OperatingSystem("flatcar_edge")
	OperatingSystemFlatcarStable    = OperatingSystem("flatcar_stable")
	OperatingSystem_FreeBSD10_4     = OperatingSystem("freebsd_10_4")
	OperatingSystem_FreeBSD11_1     = OperatingSystem("freebsd_11_1")
	OperatingSystem_FreeBSD11_2     = OperatingSystem("freebsd_11_2")
	OperatingSystemFreeBSD12Testing = OperatingSystem("freebsd_12_testing")
	OperatingSystem_NixOS18_03      = OperatingSystem("nixos_18_03")
	OperatingSystem_NixOS19_03      = OperatingSystem("nixos_19_03")
	OperatingSystem_OpenSUSE42_3    = OperatingSystem("opensuse_42_3")
	OperatingSystemRancherOS        = OperatingSystem("rancher")
	OperatingSystemRHEL7            = OperatingSystem("rhel_7")
	OperatingSystemRHEL8            = OperatingSystem("rhel_8")
	OperatingSystemScientificLinux6 = OperatingSystem("scientific_6")
	OperatingSystemSLES12SP3        = OperatingSystem("suse_sles12_sp3")
	OperatingSystemUbuntu1404       = OperatingSystem("ubuntu_14_04")
	OperatingSystemUbuntu1604       = OperatingSystem("ubuntu_16_04")
	OperatingSystemUbuntu1710       = OperatingSystem("ubuntu_17_10")
	OperatingSystemUbuntu1804       = OperatingSystem("ubuntu_18_04")
	OperatingSystemUbuntu2004       = OperatingSystem("ubuntu_20_04")
	OperatingSystemUbuntu2010       = OperatingSystem("ubuntu_20_10")
	OperatingSystem_VMWareEsxi6_5   = OperatingSystem("vmware_esxi_6_5")
	OperatingSystem_VMWareEsxi6_7   = OperatingSystem("vmware_esxi_6_7")
	OperatingSystem_VMWareEsxi7_0   = OperatingSystem("vmware_esxi_7_0")
	OperatingSystemWindows2012R2    = OperatingSystem("windows_2012_r2")
	OperatingSystemWindows2016      = OperatingSystem("windows_2016")
	OperatingSystemWindows2019      = OperatingSystem("windows_2019")
)
View Source
const (
	PlanC2LargeARM  = Plan("c2.large.arm")
	PlanC2MediumX86 = Plan("c2.medium.x86")
	PlanC1SmallX86  = Plan("baremetal_1")
	PlanC1LargeARM  = Plan("baremetal_2a")
	PlanC1XLargeX86 = Plan("baremetal_3")
	PlanX2XLargeX86 = Plan("x2.xlarge.x86")
	PlanX1SmallX86  = Plan("baremetal_1e")
	PlanG2LargeX86  = Plan("g2.large.x86")
	PlanM2XLargeX86 = Plan("m2.xlarge.x86")
	PlanM1XLargeX86 = Plan("baremetal_2")
	PlanT1SmallX86  = Plan("baremetal_0")
	PlanS1LargeX86  = Plan("baremetal_s")
	PlanC3SmallX86  = Plan("c3.small.x86")
	PlanC3MediumX86 = Plan("c3.medium.x86")
	PlanF3MediumX86 = Plan("f3.medium.x86")
	PlanF3LargeX86  = Plan("f3.large.x86")
	PlanM3LargeX86  = Plan("m3.large.x86")
	PlanS3XLargeX86 = Plan("s3.xlarge.x86")
	PlanN2XLargeX86 = Plan("n2.xlarge.x86")
)

Variables

This section is empty.

Functions

func PkgVersion

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package.

Types

type BgpSession

type BgpSession struct {
	pulumi.CustomResourceState

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

Provides a resource to manage BGP sessions in Equinix Metal Host. Refer to [Equinix Metal BGP documentation](https://metal.equinix.com/developers/docs/networking/local-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 Equinix Metal's upstream routers.

func GetBgpSession

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

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

func NewBgpSession

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

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

func (*BgpSession) ElementType

func (*BgpSession) ElementType() reflect.Type

func (*BgpSession) ToBgpSessionOutput

func (i *BgpSession) ToBgpSessionOutput() BgpSessionOutput

func (*BgpSession) ToBgpSessionOutputWithContext

func (i *BgpSession) ToBgpSessionOutputWithContext(ctx context.Context) BgpSessionOutput

func (*BgpSession) ToBgpSessionPtrOutput

func (i *BgpSession) ToBgpSessionPtrOutput() BgpSessionPtrOutput

func (*BgpSession) ToBgpSessionPtrOutputWithContext

func (i *BgpSession) ToBgpSessionPtrOutputWithContext(ctx context.Context) BgpSessionPtrOutput

type BgpSessionArgs

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

The set of arguments for constructing a BgpSession resource.

func (BgpSessionArgs) ElementType

func (BgpSessionArgs) ElementType() reflect.Type

type BgpSessionArray

type BgpSessionArray []BgpSessionInput

func (BgpSessionArray) ElementType

func (BgpSessionArray) ElementType() reflect.Type

func (BgpSessionArray) ToBgpSessionArrayOutput

func (i BgpSessionArray) ToBgpSessionArrayOutput() BgpSessionArrayOutput

func (BgpSessionArray) ToBgpSessionArrayOutputWithContext

func (i BgpSessionArray) ToBgpSessionArrayOutputWithContext(ctx context.Context) BgpSessionArrayOutput

type BgpSessionArrayInput

type BgpSessionArrayInput interface {
	pulumi.Input

	ToBgpSessionArrayOutput() BgpSessionArrayOutput
	ToBgpSessionArrayOutputWithContext(context.Context) BgpSessionArrayOutput
}

BgpSessionArrayInput is an input type that accepts BgpSessionArray and BgpSessionArrayOutput values. You can construct a concrete instance of `BgpSessionArrayInput` via:

BgpSessionArray{ BgpSessionArgs{...} }

type BgpSessionArrayOutput

type BgpSessionArrayOutput struct{ *pulumi.OutputState }

func (BgpSessionArrayOutput) ElementType

func (BgpSessionArrayOutput) ElementType() reflect.Type

func (BgpSessionArrayOutput) Index

func (BgpSessionArrayOutput) ToBgpSessionArrayOutput

func (o BgpSessionArrayOutput) ToBgpSessionArrayOutput() BgpSessionArrayOutput

func (BgpSessionArrayOutput) ToBgpSessionArrayOutputWithContext

func (o BgpSessionArrayOutput) ToBgpSessionArrayOutputWithContext(ctx context.Context) BgpSessionArrayOutput

type BgpSessionInput

type BgpSessionInput interface {
	pulumi.Input

	ToBgpSessionOutput() BgpSessionOutput
	ToBgpSessionOutputWithContext(ctx context.Context) BgpSessionOutput
}

type BgpSessionMap

type BgpSessionMap map[string]BgpSessionInput

func (BgpSessionMap) ElementType

func (BgpSessionMap) ElementType() reflect.Type

func (BgpSessionMap) ToBgpSessionMapOutput

func (i BgpSessionMap) ToBgpSessionMapOutput() BgpSessionMapOutput

func (BgpSessionMap) ToBgpSessionMapOutputWithContext

func (i BgpSessionMap) ToBgpSessionMapOutputWithContext(ctx context.Context) BgpSessionMapOutput

type BgpSessionMapInput

type BgpSessionMapInput interface {
	pulumi.Input

	ToBgpSessionMapOutput() BgpSessionMapOutput
	ToBgpSessionMapOutputWithContext(context.Context) BgpSessionMapOutput
}

BgpSessionMapInput is an input type that accepts BgpSessionMap and BgpSessionMapOutput values. You can construct a concrete instance of `BgpSessionMapInput` via:

BgpSessionMap{ "key": BgpSessionArgs{...} }

type BgpSessionMapOutput

type BgpSessionMapOutput struct{ *pulumi.OutputState }

func (BgpSessionMapOutput) ElementType

func (BgpSessionMapOutput) ElementType() reflect.Type

func (BgpSessionMapOutput) MapIndex

func (BgpSessionMapOutput) ToBgpSessionMapOutput

func (o BgpSessionMapOutput) ToBgpSessionMapOutput() BgpSessionMapOutput

func (BgpSessionMapOutput) ToBgpSessionMapOutputWithContext

func (o BgpSessionMapOutput) ToBgpSessionMapOutputWithContext(ctx context.Context) BgpSessionMapOutput

type BgpSessionOutput

type BgpSessionOutput struct{ *pulumi.OutputState }

func (BgpSessionOutput) ElementType

func (BgpSessionOutput) ElementType() reflect.Type

func (BgpSessionOutput) ToBgpSessionOutput

func (o BgpSessionOutput) ToBgpSessionOutput() BgpSessionOutput

func (BgpSessionOutput) ToBgpSessionOutputWithContext

func (o BgpSessionOutput) ToBgpSessionOutputWithContext(ctx context.Context) BgpSessionOutput

func (BgpSessionOutput) ToBgpSessionPtrOutput

func (o BgpSessionOutput) ToBgpSessionPtrOutput() BgpSessionPtrOutput

func (BgpSessionOutput) ToBgpSessionPtrOutputWithContext

func (o BgpSessionOutput) ToBgpSessionPtrOutputWithContext(ctx context.Context) BgpSessionPtrOutput

type BgpSessionPtrInput

type BgpSessionPtrInput interface {
	pulumi.Input

	ToBgpSessionPtrOutput() BgpSessionPtrOutput
	ToBgpSessionPtrOutputWithContext(ctx context.Context) BgpSessionPtrOutput
}

type BgpSessionPtrOutput

type BgpSessionPtrOutput struct{ *pulumi.OutputState }

func (BgpSessionPtrOutput) Elem added in v3.2.0

func (BgpSessionPtrOutput) ElementType

func (BgpSessionPtrOutput) ElementType() reflect.Type

func (BgpSessionPtrOutput) ToBgpSessionPtrOutput

func (o BgpSessionPtrOutput) ToBgpSessionPtrOutput() BgpSessionPtrOutput

func (BgpSessionPtrOutput) ToBgpSessionPtrOutputWithContext

func (o BgpSessionPtrOutput) ToBgpSessionPtrOutputWithContext(ctx context.Context) BgpSessionPtrOutput

type BgpSessionState

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

func (BgpSessionState) ElementType

func (BgpSessionState) ElementType() reflect.Type

type BillingCycle

type BillingCycle string

func (BillingCycle) ElementType

func (BillingCycle) ElementType() reflect.Type

func (BillingCycle) ToBillingCycleOutput added in v3.2.0

func (e BillingCycle) ToBillingCycleOutput() BillingCycleOutput

func (BillingCycle) ToBillingCycleOutputWithContext added in v3.2.0

func (e BillingCycle) ToBillingCycleOutputWithContext(ctx context.Context) BillingCycleOutput

func (BillingCycle) ToBillingCyclePtrOutput added in v3.2.0

func (e BillingCycle) ToBillingCyclePtrOutput() BillingCyclePtrOutput

func (BillingCycle) ToBillingCyclePtrOutputWithContext added in v3.2.0

func (e BillingCycle) ToBillingCyclePtrOutputWithContext(ctx context.Context) BillingCyclePtrOutput

func (BillingCycle) ToStringOutput

func (e BillingCycle) ToStringOutput() pulumi.StringOutput

func (BillingCycle) ToStringOutputWithContext

func (e BillingCycle) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (BillingCycle) ToStringPtrOutput

func (e BillingCycle) ToStringPtrOutput() pulumi.StringPtrOutput

func (BillingCycle) ToStringPtrOutputWithContext

func (e BillingCycle) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type BillingCycleInput added in v3.2.0

type BillingCycleInput interface {
	pulumi.Input

	ToBillingCycleOutput() BillingCycleOutput
	ToBillingCycleOutputWithContext(context.Context) BillingCycleOutput
}

BillingCycleInput is an input type that accepts BillingCycleArgs and BillingCycleOutput values. You can construct a concrete instance of `BillingCycleInput` via:

BillingCycleArgs{...}

type BillingCycleOutput added in v3.2.0

type BillingCycleOutput struct{ *pulumi.OutputState }

func (BillingCycleOutput) ElementType added in v3.2.0

func (BillingCycleOutput) ElementType() reflect.Type

func (BillingCycleOutput) ToBillingCycleOutput added in v3.2.0

func (o BillingCycleOutput) ToBillingCycleOutput() BillingCycleOutput

func (BillingCycleOutput) ToBillingCycleOutputWithContext added in v3.2.0

func (o BillingCycleOutput) ToBillingCycleOutputWithContext(ctx context.Context) BillingCycleOutput

func (BillingCycleOutput) ToBillingCyclePtrOutput added in v3.2.0

func (o BillingCycleOutput) ToBillingCyclePtrOutput() BillingCyclePtrOutput

func (BillingCycleOutput) ToBillingCyclePtrOutputWithContext added in v3.2.0

func (o BillingCycleOutput) ToBillingCyclePtrOutputWithContext(ctx context.Context) BillingCyclePtrOutput

func (BillingCycleOutput) ToStringOutput added in v3.2.0

func (o BillingCycleOutput) ToStringOutput() pulumi.StringOutput

func (BillingCycleOutput) ToStringOutputWithContext added in v3.2.0

func (o BillingCycleOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (BillingCycleOutput) ToStringPtrOutput added in v3.2.0

func (o BillingCycleOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (BillingCycleOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o BillingCycleOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type BillingCyclePtrInput added in v3.2.0

type BillingCyclePtrInput interface {
	pulumi.Input

	ToBillingCyclePtrOutput() BillingCyclePtrOutput
	ToBillingCyclePtrOutputWithContext(context.Context) BillingCyclePtrOutput
}

func BillingCyclePtr added in v3.2.0

func BillingCyclePtr(v string) BillingCyclePtrInput

type BillingCyclePtrOutput added in v3.2.0

type BillingCyclePtrOutput struct{ *pulumi.OutputState }

func (BillingCyclePtrOutput) Elem added in v3.2.0

func (BillingCyclePtrOutput) ElementType added in v3.2.0

func (BillingCyclePtrOutput) ElementType() reflect.Type

func (BillingCyclePtrOutput) ToBillingCyclePtrOutput added in v3.2.0

func (o BillingCyclePtrOutput) ToBillingCyclePtrOutput() BillingCyclePtrOutput

func (BillingCyclePtrOutput) ToBillingCyclePtrOutputWithContext added in v3.2.0

func (o BillingCyclePtrOutput) ToBillingCyclePtrOutputWithContext(ctx context.Context) BillingCyclePtrOutput

func (BillingCyclePtrOutput) ToStringPtrOutput added in v3.2.0

func (o BillingCyclePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (BillingCyclePtrOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o BillingCyclePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type Connection

type Connection struct {
	pulumi.CustomResourceState

	// Description for the connection resource
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Facility where the connection will be created
	Facility pulumi.StringOutput `pulumi:"facility"`
	// Metro where the connection will be created
	Metro pulumi.StringOutput `pulumi:"metro"`
	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel
	Mode pulumi.StringPtrOutput `pulumi:"mode"`
	// Name of the connection resource
	Name pulumi.StringOutput `pulumi:"name"`
	// ID of the organization responsible for the connection
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`). Schema of port is described in documentation of the Connection datasource.
	Ports ConnectionPortArrayOutput `pulumi:"ports"`
	// ID of the project where the connection is scoped to, must be set for shared connection
	ProjectId pulumi.StringPtrOutput `pulumi:"projectId"`
	// Connection redundancy - redundant or primary
	Redundancy pulumi.StringOutput `pulumi:"redundancy"`
	// Port speed in bits per second
	Speed pulumi.IntOutput `pulumi:"speed"`
	// Status of the connection resource
	Status pulumi.StringOutput `pulumi:"status"`
	// String list of tags
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// Fabric Token from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard)
	Token pulumi.StringOutput `pulumi:"token"`
	// Connection type - dedicated or shared
	Type pulumi.StringOutput `pulumi:"type"`
}

Use this resource to request of create an Interconnection from [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewConnection(ctx, "test", &equinix-metal.ConnectionArgs{
			OrganizationId: pulumi.Any(local.My_organization_id),
			ProjectId:      pulumi.Any(local.My_project_id),
			Metro:          pulumi.String("sv"),
			Redundancy:     pulumi.String("redundant"),
			Type:           pulumi.String("shared"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetConnection

func GetConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConnectionState, opts ...pulumi.ResourceOption) (*Connection, error)

GetConnection gets an existing Connection 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 NewConnection

func NewConnection(ctx *pulumi.Context,
	name string, args *ConnectionArgs, opts ...pulumi.ResourceOption) (*Connection, error)

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

func (*Connection) ElementType

func (*Connection) ElementType() reflect.Type

func (*Connection) ToConnectionOutput

func (i *Connection) ToConnectionOutput() ConnectionOutput

func (*Connection) ToConnectionOutputWithContext

func (i *Connection) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput

func (*Connection) ToConnectionPtrOutput

func (i *Connection) ToConnectionPtrOutput() ConnectionPtrOutput

func (*Connection) ToConnectionPtrOutputWithContext

func (i *Connection) ToConnectionPtrOutputWithContext(ctx context.Context) ConnectionPtrOutput

type ConnectionArgs

type ConnectionArgs struct {
	// Description for the connection resource
	Description pulumi.StringPtrInput
	// Facility where the connection will be created
	Facility pulumi.StringPtrInput
	// Metro where the connection will be created
	Metro pulumi.StringPtrInput
	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel
	Mode pulumi.StringPtrInput
	// Name of the connection resource
	Name pulumi.StringPtrInput
	// ID of the organization responsible for the connection
	OrganizationId pulumi.StringInput
	// ID of the project where the connection is scoped to, must be set for shared connection
	ProjectId pulumi.StringPtrInput
	// Connection redundancy - redundant or primary
	Redundancy pulumi.StringInput
	// String list of tags
	Tags pulumi.StringArrayInput
	// Connection type - dedicated or shared
	Type pulumi.StringInput
}

The set of arguments for constructing a Connection resource.

func (ConnectionArgs) ElementType

func (ConnectionArgs) ElementType() reflect.Type

type ConnectionArray

type ConnectionArray []ConnectionInput

func (ConnectionArray) ElementType

func (ConnectionArray) ElementType() reflect.Type

func (ConnectionArray) ToConnectionArrayOutput

func (i ConnectionArray) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArray) ToConnectionArrayOutputWithContext

func (i ConnectionArray) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput

type ConnectionArrayInput

type ConnectionArrayInput interface {
	pulumi.Input

	ToConnectionArrayOutput() ConnectionArrayOutput
	ToConnectionArrayOutputWithContext(context.Context) ConnectionArrayOutput
}

ConnectionArrayInput is an input type that accepts ConnectionArray and ConnectionArrayOutput values. You can construct a concrete instance of `ConnectionArrayInput` via:

ConnectionArray{ ConnectionArgs{...} }

type ConnectionArrayOutput

type ConnectionArrayOutput struct{ *pulumi.OutputState }

func (ConnectionArrayOutput) ElementType

func (ConnectionArrayOutput) ElementType() reflect.Type

func (ConnectionArrayOutput) Index

func (ConnectionArrayOutput) ToConnectionArrayOutput

func (o ConnectionArrayOutput) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArrayOutput) ToConnectionArrayOutputWithContext

func (o ConnectionArrayOutput) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput

type ConnectionInput

type ConnectionInput interface {
	pulumi.Input

	ToConnectionOutput() ConnectionOutput
	ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput
}

type ConnectionMap

type ConnectionMap map[string]ConnectionInput

func (ConnectionMap) ElementType

func (ConnectionMap) ElementType() reflect.Type

func (ConnectionMap) ToConnectionMapOutput

func (i ConnectionMap) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMap) ToConnectionMapOutputWithContext

func (i ConnectionMap) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput

type ConnectionMapInput

type ConnectionMapInput interface {
	pulumi.Input

	ToConnectionMapOutput() ConnectionMapOutput
	ToConnectionMapOutputWithContext(context.Context) ConnectionMapOutput
}

ConnectionMapInput is an input type that accepts ConnectionMap and ConnectionMapOutput values. You can construct a concrete instance of `ConnectionMapInput` via:

ConnectionMap{ "key": ConnectionArgs{...} }

type ConnectionMapOutput

type ConnectionMapOutput struct{ *pulumi.OutputState }

func (ConnectionMapOutput) ElementType

func (ConnectionMapOutput) ElementType() reflect.Type

func (ConnectionMapOutput) MapIndex

func (ConnectionMapOutput) ToConnectionMapOutput

func (o ConnectionMapOutput) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMapOutput) ToConnectionMapOutputWithContext

func (o ConnectionMapOutput) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput

type ConnectionOutput

type ConnectionOutput struct{ *pulumi.OutputState }

func (ConnectionOutput) ElementType

func (ConnectionOutput) ElementType() reflect.Type

func (ConnectionOutput) ToConnectionOutput

func (o ConnectionOutput) ToConnectionOutput() ConnectionOutput

func (ConnectionOutput) ToConnectionOutputWithContext

func (o ConnectionOutput) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput

func (ConnectionOutput) ToConnectionPtrOutput

func (o ConnectionOutput) ToConnectionPtrOutput() ConnectionPtrOutput

func (ConnectionOutput) ToConnectionPtrOutputWithContext

func (o ConnectionOutput) ToConnectionPtrOutputWithContext(ctx context.Context) ConnectionPtrOutput

type ConnectionPort

type ConnectionPort struct {
	Id         *string `pulumi:"id"`
	LinkStatus *string `pulumi:"linkStatus"`
	// Name of the connection resource
	Name *string `pulumi:"name"`
	Role *string `pulumi:"role"`
	// Port speed in bits per second
	Speed *int `pulumi:"speed"`
	// Status of the connection resource
	Status            *string       `pulumi:"status"`
	VirtualCircuitIds []interface{} `pulumi:"virtualCircuitIds"`
}

type ConnectionPortArgs

type ConnectionPortArgs struct {
	Id         pulumi.StringPtrInput `pulumi:"id"`
	LinkStatus pulumi.StringPtrInput `pulumi:"linkStatus"`
	// Name of the connection resource
	Name pulumi.StringPtrInput `pulumi:"name"`
	Role pulumi.StringPtrInput `pulumi:"role"`
	// Port speed in bits per second
	Speed pulumi.IntPtrInput `pulumi:"speed"`
	// Status of the connection resource
	Status            pulumi.StringPtrInput `pulumi:"status"`
	VirtualCircuitIds pulumi.ArrayInput     `pulumi:"virtualCircuitIds"`
}

func (ConnectionPortArgs) ElementType

func (ConnectionPortArgs) ElementType() reflect.Type

func (ConnectionPortArgs) ToConnectionPortOutput

func (i ConnectionPortArgs) ToConnectionPortOutput() ConnectionPortOutput

func (ConnectionPortArgs) ToConnectionPortOutputWithContext

func (i ConnectionPortArgs) ToConnectionPortOutputWithContext(ctx context.Context) ConnectionPortOutput

type ConnectionPortArray

type ConnectionPortArray []ConnectionPortInput

func (ConnectionPortArray) ElementType

func (ConnectionPortArray) ElementType() reflect.Type

func (ConnectionPortArray) ToConnectionPortArrayOutput

func (i ConnectionPortArray) ToConnectionPortArrayOutput() ConnectionPortArrayOutput

func (ConnectionPortArray) ToConnectionPortArrayOutputWithContext

func (i ConnectionPortArray) ToConnectionPortArrayOutputWithContext(ctx context.Context) ConnectionPortArrayOutput

type ConnectionPortArrayInput

type ConnectionPortArrayInput interface {
	pulumi.Input

	ToConnectionPortArrayOutput() ConnectionPortArrayOutput
	ToConnectionPortArrayOutputWithContext(context.Context) ConnectionPortArrayOutput
}

ConnectionPortArrayInput is an input type that accepts ConnectionPortArray and ConnectionPortArrayOutput values. You can construct a concrete instance of `ConnectionPortArrayInput` via:

ConnectionPortArray{ ConnectionPortArgs{...} }

type ConnectionPortArrayOutput

type ConnectionPortArrayOutput struct{ *pulumi.OutputState }

func (ConnectionPortArrayOutput) ElementType

func (ConnectionPortArrayOutput) ElementType() reflect.Type

func (ConnectionPortArrayOutput) Index

func (ConnectionPortArrayOutput) ToConnectionPortArrayOutput

func (o ConnectionPortArrayOutput) ToConnectionPortArrayOutput() ConnectionPortArrayOutput

func (ConnectionPortArrayOutput) ToConnectionPortArrayOutputWithContext

func (o ConnectionPortArrayOutput) ToConnectionPortArrayOutputWithContext(ctx context.Context) ConnectionPortArrayOutput

type ConnectionPortInput

type ConnectionPortInput interface {
	pulumi.Input

	ToConnectionPortOutput() ConnectionPortOutput
	ToConnectionPortOutputWithContext(context.Context) ConnectionPortOutput
}

ConnectionPortInput is an input type that accepts ConnectionPortArgs and ConnectionPortOutput values. You can construct a concrete instance of `ConnectionPortInput` via:

ConnectionPortArgs{...}

type ConnectionPortOutput

type ConnectionPortOutput struct{ *pulumi.OutputState }

func (ConnectionPortOutput) ElementType

func (ConnectionPortOutput) ElementType() reflect.Type

func (ConnectionPortOutput) Id

func (ConnectionPortOutput) LinkStatus

func (ConnectionPortOutput) Name

Name of the connection resource

func (ConnectionPortOutput) Role

func (ConnectionPortOutput) Speed

Port speed in bits per second

func (ConnectionPortOutput) Status

Status of the connection resource

func (ConnectionPortOutput) ToConnectionPortOutput

func (o ConnectionPortOutput) ToConnectionPortOutput() ConnectionPortOutput

func (ConnectionPortOutput) ToConnectionPortOutputWithContext

func (o ConnectionPortOutput) ToConnectionPortOutputWithContext(ctx context.Context) ConnectionPortOutput

func (ConnectionPortOutput) VirtualCircuitIds

func (o ConnectionPortOutput) VirtualCircuitIds() pulumi.ArrayOutput

type ConnectionPtrInput

type ConnectionPtrInput interface {
	pulumi.Input

	ToConnectionPtrOutput() ConnectionPtrOutput
	ToConnectionPtrOutputWithContext(ctx context.Context) ConnectionPtrOutput
}

type ConnectionPtrOutput

type ConnectionPtrOutput struct{ *pulumi.OutputState }

func (ConnectionPtrOutput) Elem added in v3.2.0

func (ConnectionPtrOutput) ElementType

func (ConnectionPtrOutput) ElementType() reflect.Type

func (ConnectionPtrOutput) ToConnectionPtrOutput

func (o ConnectionPtrOutput) ToConnectionPtrOutput() ConnectionPtrOutput

func (ConnectionPtrOutput) ToConnectionPtrOutputWithContext

func (o ConnectionPtrOutput) ToConnectionPtrOutputWithContext(ctx context.Context) ConnectionPtrOutput

type ConnectionState

type ConnectionState struct {
	// Description for the connection resource
	Description pulumi.StringPtrInput
	// Facility where the connection will be created
	Facility pulumi.StringPtrInput
	// Metro where the connection will be created
	Metro pulumi.StringPtrInput
	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel
	Mode pulumi.StringPtrInput
	// Name of the connection resource
	Name pulumi.StringPtrInput
	// ID of the organization responsible for the connection
	OrganizationId pulumi.StringPtrInput
	// List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`). Schema of port is described in documentation of the Connection datasource.
	Ports ConnectionPortArrayInput
	// ID of the project where the connection is scoped to, must be set for shared connection
	ProjectId pulumi.StringPtrInput
	// Connection redundancy - redundant or primary
	Redundancy pulumi.StringPtrInput
	// Port speed in bits per second
	Speed pulumi.IntPtrInput
	// Status of the connection resource
	Status pulumi.StringPtrInput
	// String list of tags
	Tags pulumi.StringArrayInput
	// Fabric Token from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard)
	Token pulumi.StringPtrInput
	// Connection type - dedicated or shared
	Type pulumi.StringPtrInput
}

func (ConnectionState) ElementType

func (ConnectionState) 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"`
	// A string of the desired Custom Data for the device.
	CustomData pulumi.StringPtrOutput `pulumi:"customData"`
	// The facility where the device is deployed.
	DeployedFacility pulumi.StringOutput `pulumi:"deployedFacility"`
	// ID of hardware reservation where this device was deployed. It is useful when using the `next-available` hardware reservation.
	DeployedHardwareReservationId pulumi.StringOutput `pulumi:"deployedHardwareReservationId"`
	// The device description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// List of facility codes with deployment preferences. Equinix Metal 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://metal.equinix.com/developers/api/facilities/), set your API auth token in the top of the page and see JSON from the API response. Conflicts with `metro`.
	Facilities pulumi.StringArrayOutput `pulumi:"facilities"`
	// Delete device even if it has volumes attached. Only applies for destroy action.
	ForceDetachVolumes pulumi.BoolPtrOutput `pulumi:"forceDetachVolumes"`
	// The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your
	// next available reservation automatically
	HardwareReservationId pulumi.StringPtrOutput `pulumi:"hardwareReservationId"`
	// The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
	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://metal.equinix.com/developers/docs/servers/custom-ipxe/) doc.
	IpxeScriptUrl pulumi.StringPtrOutput `pulumi:"ipxeScriptUrl"`
	// Whether the device is locked
	Locked pulumi.BoolOutput `pulumi:"locked"`
	// Metro area for the new device. Conflicts with `facilities`.
	Metro pulumi.StringPtrOutput `pulumi:"metro"`
	// Network type of a device, used in [Layer 2 networking](https://metal.equinix.com/developers/docs/networking/layer2/).
	// Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded
	//
	// Deprecated: You should handle Network Type with the new metal_device_network_type resource.
	NetworkType pulumi.StringOutput `pulumi:"networkType"`
	// The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:
	// * Public IPv4 at `metal_device.name.network.0`
	// * IPv6 at `metal_device.name.network.1`
	// * Private IPv4 at `metal_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://metal.equinix.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://metal.equinix.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"`
	// Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the ProjectSshKey resource.
	ProjectSshKeyIds pulumi.StringArrayOutput `pulumi:"projectSshKeyIds"`
	// Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
	Reinstall DeviceReinstallPtrOutput `pulumi:"reinstall"`
	// 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://metal.equinix.com/developers/docs/servers/custom-partitioning-raid/) doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
	Storage pulumi.StringPtrOutput `pulumi:"storage"`
	// Tags attached to the device
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// Timestamp for device termination. For example `2021-09-03T16:32:00+03:00`. If you don't supply timezone info, timestamp is assumed to be in UTC.
	TerminationTime pulumi.StringPtrOutput `pulumi:"terminationTime"`
	// 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 an Equinix Metal device resource. This can be used to create, modify, and delete devices.

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

the raw state as plain-text.

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

## Example Usage

Create a device and add it to coolProject

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewDevice(ctx, "web1", &equinix-metal.DeviceArgs{
			Hostname:        pulumi.String("tf.coreos2"),
			Plan:            pulumi.String("c3.small.x86"),
			Metro:           pulumi.String("sv"),
			OperatingSystem: pulumi.String("ubuntu_20_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewDevice(ctx, "pxe1", &equinix-metal.DeviceArgs{
			Hostname:        pulumi.String("tf.coreos2-pxe"),
			Plan:            pulumi.String("c3.small.x86"),
			Metro:           pulumi.String("sv"),
			OperatingSystem: pulumi.String("custom_ipxe"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
			IpxeScriptUrl:   pulumi.String("https://rawgit.com/cloudnativelabs/pxe/master/metal/coreos-stable-metal.ipxe"),
			AlwaysPxe:       pulumi.Bool(false),
			UserData:        pulumi.Any(data.Ignition_config.Example.Rendered),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewDevice(ctx, "web1", &equinix-metal.DeviceArgs{
			Hostname: pulumi.String("tf.coreos2"),
			Plan:     pulumi.String("c3.small.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("ny5"),
			},
			OperatingSystem: pulumi.String("ubuntu_20_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
			IpAddresses: DeviceIpAddressArray{
				&DeviceIpAddressArgs{
					Type: pulumi.String("private_ipv4"),
					Cidr: pulumi.Int(30),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewDevice(ctx, "web1", &equinix-metal.DeviceArgs{
			Hostname: pulumi.String("tftest"),
			Plan:     pulumi.String("c3.small.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("ny5"),
			},
			OperatingSystem:       pulumi.String("ubuntu_20_04"),
			BillingCycle:          pulumi.String("hourly"),
			ProjectId:             pulumi.Any(local.Project_id),
			HardwareReservationId: pulumi.String("next-available"),
			Storage:               pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"disks\": [\n", "    {\n", "      \"device\": \"/dev/sda\",\n", "      \"wipeTable\": true,\n", "      \"partitions\": [\n", "        {\n", "          \"label\": \"BIOS\",\n", "          \"number\": 1,\n", "          \"size\": \"4096\"\n", "        },\n", "        {\n", "          \"label\": \"SWAP\",\n", "          \"number\": 2,\n", "          \"size\": \"3993600\"\n", "        },\n", "        {\n", "          \"label\": \"ROOT\",\n", "          \"number\": 3,\n", "          \"size\": \"0\"\n", "        }\n", "      ]\n", "    }\n", "  ],\n", "  \"filesystems\": [\n", "    {\n", "      \"mount\": {\n", "        \"device\": \"/dev/sda3\",\n", "        \"format\": \"ext4\",\n", "        \"point\": \"/\",\n", "        \"create\": {\n", "          \"options\": [\n", "            \"-L\",\n", "            \"ROOT\"\n", "          ]\n", "        }\n", "      }\n", "    },\n", "    {\n", "      \"mount\": {\n", "        \"device\": \"/dev/sda2\",\n", "        \"format\": \"swap\",\n", "        \"point\": \"none\",\n", "        \"create\": {\n", "          \"options\": [\n", "            \"-L\",\n", "            \"SWAP\"\n", "          ]\n", "        }\n", "      }\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource can be imported using an existing device ID

```sh

$ pulumi import equinix-metal:index/device:Device metal_device {existing_device_id}

```

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.

func (*Device) ElementType

func (*Device) ElementType() reflect.Type

func (*Device) ToDeviceOutput

func (i *Device) ToDeviceOutput() DeviceOutput

func (*Device) ToDeviceOutputWithContext

func (i *Device) ToDeviceOutputWithContext(ctx context.Context) DeviceOutput

func (*Device) ToDevicePtrOutput

func (i *Device) ToDevicePtrOutput() DevicePtrOutput

func (*Device) ToDevicePtrOutputWithContext

func (i *Device) ToDevicePtrOutputWithContext(ctx context.Context) DevicePtrOutput

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.StringPtrInput
	// A string of the desired Custom Data for the device.
	CustomData pulumi.StringPtrInput
	// The device description.
	Description pulumi.StringPtrInput
	// List of facility codes with deployment preferences. Equinix Metal 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://metal.equinix.com/developers/api/facilities/), set your API auth token in the top of the page and see JSON from the API response. Conflicts with `metro`.
	Facilities pulumi.StringArrayInput
	// Delete device even if it has volumes attached. Only applies for destroy action.
	ForceDetachVolumes pulumi.BoolPtrInput
	// The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your
	// next available reservation automatically
	HardwareReservationId pulumi.StringPtrInput
	// The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
	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://metal.equinix.com/developers/docs/servers/custom-ipxe/) doc.
	IpxeScriptUrl pulumi.StringPtrInput
	// Metro area for the new device. Conflicts with `facilities`.
	Metro pulumi.StringPtrInput
	// The operating system slug. To find the slug, or visit [Operating Systems API docs](https://metal.equinix.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://metal.equinix.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
	// Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the ProjectSshKey resource.
	ProjectSshKeyIds pulumi.StringArrayInput
	// Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
	Reinstall DeviceReinstallPtrInput
	// JSON for custom partitioning. Only usable on reserved hardware. More information in in the [Custom Partitioning and RAID](https://metal.equinix.com/developers/docs/servers/custom-partitioning-raid/) doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
	Storage pulumi.StringPtrInput
	// Tags attached to the device
	Tags pulumi.StringArrayInput
	// Timestamp for device termination. For example `2021-09-03T16:32:00+03:00`. If you don't supply timezone info, timestamp is assumed to be in UTC.
	TerminationTime 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
}

The set of arguments for constructing a Device resource.

func (DeviceArgs) ElementType

func (DeviceArgs) ElementType() reflect.Type

type DeviceArray

type DeviceArray []DeviceInput

func (DeviceArray) ElementType

func (DeviceArray) ElementType() reflect.Type

func (DeviceArray) ToDeviceArrayOutput

func (i DeviceArray) ToDeviceArrayOutput() DeviceArrayOutput

func (DeviceArray) ToDeviceArrayOutputWithContext

func (i DeviceArray) ToDeviceArrayOutputWithContext(ctx context.Context) DeviceArrayOutput

type DeviceArrayInput

type DeviceArrayInput interface {
	pulumi.Input

	ToDeviceArrayOutput() DeviceArrayOutput
	ToDeviceArrayOutputWithContext(context.Context) DeviceArrayOutput
}

DeviceArrayInput is an input type that accepts DeviceArray and DeviceArrayOutput values. You can construct a concrete instance of `DeviceArrayInput` via:

DeviceArray{ DeviceArgs{...} }

type DeviceArrayOutput

type DeviceArrayOutput struct{ *pulumi.OutputState }

func (DeviceArrayOutput) ElementType

func (DeviceArrayOutput) ElementType() reflect.Type

func (DeviceArrayOutput) Index

func (DeviceArrayOutput) ToDeviceArrayOutput

func (o DeviceArrayOutput) ToDeviceArrayOutput() DeviceArrayOutput

func (DeviceArrayOutput) ToDeviceArrayOutputWithContext

func (o DeviceArrayOutput) ToDeviceArrayOutputWithContext(ctx context.Context) DeviceArrayOutput

type DeviceInput

type DeviceInput interface {
	pulumi.Input

	ToDeviceOutput() DeviceOutput
	ToDeviceOutputWithContext(ctx context.Context) DeviceOutput
}

type DeviceIpAddress

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

type DeviceIpAddressArgs

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

func (DeviceIpAddressArgs) ElementType

func (DeviceIpAddressArgs) ElementType() reflect.Type

func (DeviceIpAddressArgs) ToDeviceIpAddressOutput

func (i DeviceIpAddressArgs) ToDeviceIpAddressOutput() DeviceIpAddressOutput

func (DeviceIpAddressArgs) ToDeviceIpAddressOutputWithContext

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

type DeviceIpAddressArray

type DeviceIpAddressArray []DeviceIpAddressInput

func (DeviceIpAddressArray) ElementType

func (DeviceIpAddressArray) ElementType() reflect.Type

func (DeviceIpAddressArray) ToDeviceIpAddressArrayOutput

func (i DeviceIpAddressArray) ToDeviceIpAddressArrayOutput() DeviceIpAddressArrayOutput

func (DeviceIpAddressArray) ToDeviceIpAddressArrayOutputWithContext

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

type DeviceIpAddressArrayInput

type DeviceIpAddressArrayInput interface {
	pulumi.Input

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

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

DeviceIpAddressArray{ DeviceIpAddressArgs{...} }

type DeviceIpAddressArrayOutput

type DeviceIpAddressArrayOutput struct{ *pulumi.OutputState }

func (DeviceIpAddressArrayOutput) ElementType

func (DeviceIpAddressArrayOutput) ElementType() reflect.Type

func (DeviceIpAddressArrayOutput) Index

func (DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutput

func (o DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutput() DeviceIpAddressArrayOutput

func (DeviceIpAddressArrayOutput) ToDeviceIpAddressArrayOutputWithContext

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

type DeviceIpAddressInput

type DeviceIpAddressInput interface {
	pulumi.Input

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

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

DeviceIpAddressArgs{...}

type DeviceIpAddressOutput

type DeviceIpAddressOutput struct{ *pulumi.OutputState }

func (DeviceIpAddressOutput) Cidr

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

func (DeviceIpAddressOutput) ElementType

func (DeviceIpAddressOutput) ElementType() reflect.Type

func (DeviceIpAddressOutput) ReservationIds

func (o DeviceIpAddressOutput) ReservationIds() pulumi.StringArrayOutput

List of UUIDs of IP block reservations from which the public IPv4 address should be taken.

func (DeviceIpAddressOutput) ToDeviceIpAddressOutput

func (o DeviceIpAddressOutput) ToDeviceIpAddressOutput() DeviceIpAddressOutput

func (DeviceIpAddressOutput) ToDeviceIpAddressOutputWithContext

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

func (DeviceIpAddressOutput) Type

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

type DeviceMap

type DeviceMap map[string]DeviceInput

func (DeviceMap) ElementType

func (DeviceMap) ElementType() reflect.Type

func (DeviceMap) ToDeviceMapOutput

func (i DeviceMap) ToDeviceMapOutput() DeviceMapOutput

func (DeviceMap) ToDeviceMapOutputWithContext

func (i DeviceMap) ToDeviceMapOutputWithContext(ctx context.Context) DeviceMapOutput

type DeviceMapInput

type DeviceMapInput interface {
	pulumi.Input

	ToDeviceMapOutput() DeviceMapOutput
	ToDeviceMapOutputWithContext(context.Context) DeviceMapOutput
}

DeviceMapInput is an input type that accepts DeviceMap and DeviceMapOutput values. You can construct a concrete instance of `DeviceMapInput` via:

DeviceMap{ "key": DeviceArgs{...} }

type DeviceMapOutput

type DeviceMapOutput struct{ *pulumi.OutputState }

func (DeviceMapOutput) ElementType

func (DeviceMapOutput) ElementType() reflect.Type

func (DeviceMapOutput) MapIndex

func (DeviceMapOutput) ToDeviceMapOutput

func (o DeviceMapOutput) ToDeviceMapOutput() DeviceMapOutput

func (DeviceMapOutput) ToDeviceMapOutputWithContext

func (o DeviceMapOutput) ToDeviceMapOutputWithContext(ctx context.Context) DeviceMapOutput

type DeviceNetwork

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

type DeviceNetworkArgs

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

func (DeviceNetworkArgs) ElementType

func (DeviceNetworkArgs) ElementType() reflect.Type

func (DeviceNetworkArgs) ToDeviceNetworkOutput

func (i DeviceNetworkArgs) ToDeviceNetworkOutput() DeviceNetworkOutput

func (DeviceNetworkArgs) ToDeviceNetworkOutputWithContext

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

type DeviceNetworkArray

type DeviceNetworkArray []DeviceNetworkInput

func (DeviceNetworkArray) ElementType

func (DeviceNetworkArray) ElementType() reflect.Type

func (DeviceNetworkArray) ToDeviceNetworkArrayOutput

func (i DeviceNetworkArray) ToDeviceNetworkArrayOutput() DeviceNetworkArrayOutput

func (DeviceNetworkArray) ToDeviceNetworkArrayOutputWithContext

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

type DeviceNetworkArrayInput

type DeviceNetworkArrayInput interface {
	pulumi.Input

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

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

DeviceNetworkArray{ DeviceNetworkArgs{...} }

type DeviceNetworkArrayOutput

type DeviceNetworkArrayOutput struct{ *pulumi.OutputState }

func (DeviceNetworkArrayOutput) ElementType

func (DeviceNetworkArrayOutput) ElementType() reflect.Type

func (DeviceNetworkArrayOutput) Index

func (DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutput

func (o DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutput() DeviceNetworkArrayOutput

func (DeviceNetworkArrayOutput) ToDeviceNetworkArrayOutputWithContext

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

type DeviceNetworkInput

type DeviceNetworkInput interface {
	pulumi.Input

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

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

DeviceNetworkArgs{...}

type DeviceNetworkOutput

type DeviceNetworkOutput struct{ *pulumi.OutputState }

func (DeviceNetworkOutput) Address

IPv4 or IPv6 address string

func (DeviceNetworkOutput) Cidr

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

func (DeviceNetworkOutput) ElementType

func (DeviceNetworkOutput) ElementType() reflect.Type

func (DeviceNetworkOutput) Family

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

func (DeviceNetworkOutput) Gateway

address of router

func (DeviceNetworkOutput) Public

whether the address is routable from the Internet

func (DeviceNetworkOutput) ToDeviceNetworkOutput

func (o DeviceNetworkOutput) ToDeviceNetworkOutput() DeviceNetworkOutput

func (DeviceNetworkOutput) ToDeviceNetworkOutputWithContext

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

type DeviceNetworkType

type DeviceNetworkType struct {
	pulumi.CustomResourceState

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

## Import

This resource can also be imported using existing device ID

```sh

$ pulumi import equinix-metal:index/deviceNetworkType:DeviceNetworkType metal_device_network_type {existing device_id}

```

func GetDeviceNetworkType

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

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

func NewDeviceNetworkType

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

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

func (*DeviceNetworkType) ElementType

func (*DeviceNetworkType) ElementType() reflect.Type

func (*DeviceNetworkType) ToDeviceNetworkTypeOutput

func (i *DeviceNetworkType) ToDeviceNetworkTypeOutput() DeviceNetworkTypeOutput

func (*DeviceNetworkType) ToDeviceNetworkTypeOutputWithContext

func (i *DeviceNetworkType) ToDeviceNetworkTypeOutputWithContext(ctx context.Context) DeviceNetworkTypeOutput

func (*DeviceNetworkType) ToDeviceNetworkTypePtrOutput

func (i *DeviceNetworkType) ToDeviceNetworkTypePtrOutput() DeviceNetworkTypePtrOutput

func (*DeviceNetworkType) ToDeviceNetworkTypePtrOutputWithContext

func (i *DeviceNetworkType) ToDeviceNetworkTypePtrOutputWithContext(ctx context.Context) DeviceNetworkTypePtrOutput

type DeviceNetworkTypeArgs

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

The set of arguments for constructing a DeviceNetworkType resource.

func (DeviceNetworkTypeArgs) ElementType

func (DeviceNetworkTypeArgs) ElementType() reflect.Type

type DeviceNetworkTypeArray

type DeviceNetworkTypeArray []DeviceNetworkTypeInput

func (DeviceNetworkTypeArray) ElementType

func (DeviceNetworkTypeArray) ElementType() reflect.Type

func (DeviceNetworkTypeArray) ToDeviceNetworkTypeArrayOutput

func (i DeviceNetworkTypeArray) ToDeviceNetworkTypeArrayOutput() DeviceNetworkTypeArrayOutput

func (DeviceNetworkTypeArray) ToDeviceNetworkTypeArrayOutputWithContext

func (i DeviceNetworkTypeArray) ToDeviceNetworkTypeArrayOutputWithContext(ctx context.Context) DeviceNetworkTypeArrayOutput

type DeviceNetworkTypeArrayInput

type DeviceNetworkTypeArrayInput interface {
	pulumi.Input

	ToDeviceNetworkTypeArrayOutput() DeviceNetworkTypeArrayOutput
	ToDeviceNetworkTypeArrayOutputWithContext(context.Context) DeviceNetworkTypeArrayOutput
}

DeviceNetworkTypeArrayInput is an input type that accepts DeviceNetworkTypeArray and DeviceNetworkTypeArrayOutput values. You can construct a concrete instance of `DeviceNetworkTypeArrayInput` via:

DeviceNetworkTypeArray{ DeviceNetworkTypeArgs{...} }

type DeviceNetworkTypeArrayOutput

type DeviceNetworkTypeArrayOutput struct{ *pulumi.OutputState }

func (DeviceNetworkTypeArrayOutput) ElementType

func (DeviceNetworkTypeArrayOutput) Index

func (DeviceNetworkTypeArrayOutput) ToDeviceNetworkTypeArrayOutput

func (o DeviceNetworkTypeArrayOutput) ToDeviceNetworkTypeArrayOutput() DeviceNetworkTypeArrayOutput

func (DeviceNetworkTypeArrayOutput) ToDeviceNetworkTypeArrayOutputWithContext

func (o DeviceNetworkTypeArrayOutput) ToDeviceNetworkTypeArrayOutputWithContext(ctx context.Context) DeviceNetworkTypeArrayOutput

type DeviceNetworkTypeInput

type DeviceNetworkTypeInput interface {
	pulumi.Input

	ToDeviceNetworkTypeOutput() DeviceNetworkTypeOutput
	ToDeviceNetworkTypeOutputWithContext(ctx context.Context) DeviceNetworkTypeOutput
}

type DeviceNetworkTypeMap

type DeviceNetworkTypeMap map[string]DeviceNetworkTypeInput

func (DeviceNetworkTypeMap) ElementType

func (DeviceNetworkTypeMap) ElementType() reflect.Type

func (DeviceNetworkTypeMap) ToDeviceNetworkTypeMapOutput

func (i DeviceNetworkTypeMap) ToDeviceNetworkTypeMapOutput() DeviceNetworkTypeMapOutput

func (DeviceNetworkTypeMap) ToDeviceNetworkTypeMapOutputWithContext

func (i DeviceNetworkTypeMap) ToDeviceNetworkTypeMapOutputWithContext(ctx context.Context) DeviceNetworkTypeMapOutput

type DeviceNetworkTypeMapInput

type DeviceNetworkTypeMapInput interface {
	pulumi.Input

	ToDeviceNetworkTypeMapOutput() DeviceNetworkTypeMapOutput
	ToDeviceNetworkTypeMapOutputWithContext(context.Context) DeviceNetworkTypeMapOutput
}

DeviceNetworkTypeMapInput is an input type that accepts DeviceNetworkTypeMap and DeviceNetworkTypeMapOutput values. You can construct a concrete instance of `DeviceNetworkTypeMapInput` via:

DeviceNetworkTypeMap{ "key": DeviceNetworkTypeArgs{...} }

type DeviceNetworkTypeMapOutput

type DeviceNetworkTypeMapOutput struct{ *pulumi.OutputState }

func (DeviceNetworkTypeMapOutput) ElementType

func (DeviceNetworkTypeMapOutput) ElementType() reflect.Type

func (DeviceNetworkTypeMapOutput) MapIndex

func (DeviceNetworkTypeMapOutput) ToDeviceNetworkTypeMapOutput

func (o DeviceNetworkTypeMapOutput) ToDeviceNetworkTypeMapOutput() DeviceNetworkTypeMapOutput

func (DeviceNetworkTypeMapOutput) ToDeviceNetworkTypeMapOutputWithContext

func (o DeviceNetworkTypeMapOutput) ToDeviceNetworkTypeMapOutputWithContext(ctx context.Context) DeviceNetworkTypeMapOutput

type DeviceNetworkTypeOutput

type DeviceNetworkTypeOutput struct{ *pulumi.OutputState }

func (DeviceNetworkTypeOutput) ElementType

func (DeviceNetworkTypeOutput) ElementType() reflect.Type

func (DeviceNetworkTypeOutput) ToDeviceNetworkTypeOutput

func (o DeviceNetworkTypeOutput) ToDeviceNetworkTypeOutput() DeviceNetworkTypeOutput

func (DeviceNetworkTypeOutput) ToDeviceNetworkTypeOutputWithContext

func (o DeviceNetworkTypeOutput) ToDeviceNetworkTypeOutputWithContext(ctx context.Context) DeviceNetworkTypeOutput

func (DeviceNetworkTypeOutput) ToDeviceNetworkTypePtrOutput

func (o DeviceNetworkTypeOutput) ToDeviceNetworkTypePtrOutput() DeviceNetworkTypePtrOutput

func (DeviceNetworkTypeOutput) ToDeviceNetworkTypePtrOutputWithContext

func (o DeviceNetworkTypeOutput) ToDeviceNetworkTypePtrOutputWithContext(ctx context.Context) DeviceNetworkTypePtrOutput

type DeviceNetworkTypePtrInput

type DeviceNetworkTypePtrInput interface {
	pulumi.Input

	ToDeviceNetworkTypePtrOutput() DeviceNetworkTypePtrOutput
	ToDeviceNetworkTypePtrOutputWithContext(ctx context.Context) DeviceNetworkTypePtrOutput
}

type DeviceNetworkTypePtrOutput

type DeviceNetworkTypePtrOutput struct{ *pulumi.OutputState }

func (DeviceNetworkTypePtrOutput) Elem added in v3.2.0

func (DeviceNetworkTypePtrOutput) ElementType

func (DeviceNetworkTypePtrOutput) ElementType() reflect.Type

func (DeviceNetworkTypePtrOutput) ToDeviceNetworkTypePtrOutput

func (o DeviceNetworkTypePtrOutput) ToDeviceNetworkTypePtrOutput() DeviceNetworkTypePtrOutput

func (DeviceNetworkTypePtrOutput) ToDeviceNetworkTypePtrOutputWithContext

func (o DeviceNetworkTypePtrOutput) ToDeviceNetworkTypePtrOutputWithContext(ctx context.Context) DeviceNetworkTypePtrOutput

type DeviceNetworkTypeState

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

func (DeviceNetworkTypeState) ElementType

func (DeviceNetworkTypeState) ElementType() reflect.Type

type DeviceOutput

type DeviceOutput struct{ *pulumi.OutputState }

func (DeviceOutput) ElementType

func (DeviceOutput) ElementType() reflect.Type

func (DeviceOutput) ToDeviceOutput

func (o DeviceOutput) ToDeviceOutput() DeviceOutput

func (DeviceOutput) ToDeviceOutputWithContext

func (o DeviceOutput) ToDeviceOutputWithContext(ctx context.Context) DeviceOutput

func (DeviceOutput) ToDevicePtrOutput

func (o DeviceOutput) ToDevicePtrOutput() DevicePtrOutput

func (DeviceOutput) ToDevicePtrOutputWithContext

func (o DeviceOutput) ToDevicePtrOutputWithContext(ctx context.Context) DevicePtrOutput

type DevicePort

type DevicePort 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"`
	// One of [`privateIpv4`, `publicIpv4`, `publicIpv6`]
	Type *string `pulumi:"type"`
}

type DevicePortArgs

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

func (DevicePortArgs) ElementType

func (DevicePortArgs) ElementType() reflect.Type

func (DevicePortArgs) ToDevicePortOutput

func (i DevicePortArgs) ToDevicePortOutput() DevicePortOutput

func (DevicePortArgs) ToDevicePortOutputWithContext

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

type DevicePortArray

type DevicePortArray []DevicePortInput

func (DevicePortArray) ElementType

func (DevicePortArray) ElementType() reflect.Type

func (DevicePortArray) ToDevicePortArrayOutput

func (i DevicePortArray) ToDevicePortArrayOutput() DevicePortArrayOutput

func (DevicePortArray) ToDevicePortArrayOutputWithContext

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

type DevicePortArrayInput

type DevicePortArrayInput interface {
	pulumi.Input

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

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

DevicePortArray{ DevicePortArgs{...} }

type DevicePortArrayOutput

type DevicePortArrayOutput struct{ *pulumi.OutputState }

func (DevicePortArrayOutput) ElementType

func (DevicePortArrayOutput) ElementType() reflect.Type

func (DevicePortArrayOutput) Index

func (DevicePortArrayOutput) ToDevicePortArrayOutput

func (o DevicePortArrayOutput) ToDevicePortArrayOutput() DevicePortArrayOutput

func (DevicePortArrayOutput) ToDevicePortArrayOutputWithContext

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

type DevicePortInput

type DevicePortInput interface {
	pulumi.Input

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

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

DevicePortArgs{...}

type DevicePortOutput

type DevicePortOutput struct{ *pulumi.OutputState }

func (DevicePortOutput) Bonded

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

func (DevicePortOutput) ElementType

func (DevicePortOutput) ElementType() reflect.Type

func (DevicePortOutput) Id

ID of the port

func (DevicePortOutput) Mac

MAC address assigned to the port

func (DevicePortOutput) Name

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

func (DevicePortOutput) ToDevicePortOutput

func (o DevicePortOutput) ToDevicePortOutput() DevicePortOutput

func (DevicePortOutput) ToDevicePortOutputWithContext

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

func (DevicePortOutput) Type

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

type DevicePtrInput

type DevicePtrInput interface {
	pulumi.Input

	ToDevicePtrOutput() DevicePtrOutput
	ToDevicePtrOutputWithContext(ctx context.Context) DevicePtrOutput
}

type DevicePtrOutput

type DevicePtrOutput struct{ *pulumi.OutputState }

func (DevicePtrOutput) Elem added in v3.2.0

func (o DevicePtrOutput) Elem() DeviceOutput

func (DevicePtrOutput) ElementType

func (DevicePtrOutput) ElementType() reflect.Type

func (DevicePtrOutput) ToDevicePtrOutput

func (o DevicePtrOutput) ToDevicePtrOutput() DevicePtrOutput

func (DevicePtrOutput) ToDevicePtrOutputWithContext

func (o DevicePtrOutput) ToDevicePtrOutputWithContext(ctx context.Context) DevicePtrOutput

type DeviceReinstall

type DeviceReinstall struct {
	// Whether the OS disk should be filled with `00h` bytes before reinstall. Defaults to `false`.
	DeprovisionFast *bool `pulumi:"deprovisionFast"`
	// Whether the provider should favour reinstall over destroy and create. Defaults to `false`.
	Enabled *bool `pulumi:"enabled"`
	// Whether the non-OS disks should be kept or wiped during reinstall. Defaults to `false`.
	PreserveData *bool `pulumi:"preserveData"`
}

type DeviceReinstallArgs

type DeviceReinstallArgs struct {
	// Whether the OS disk should be filled with `00h` bytes before reinstall. Defaults to `false`.
	DeprovisionFast pulumi.BoolPtrInput `pulumi:"deprovisionFast"`
	// Whether the provider should favour reinstall over destroy and create. Defaults to `false`.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Whether the non-OS disks should be kept or wiped during reinstall. Defaults to `false`.
	PreserveData pulumi.BoolPtrInput `pulumi:"preserveData"`
}

func (DeviceReinstallArgs) ElementType

func (DeviceReinstallArgs) ElementType() reflect.Type

func (DeviceReinstallArgs) ToDeviceReinstallOutput

func (i DeviceReinstallArgs) ToDeviceReinstallOutput() DeviceReinstallOutput

func (DeviceReinstallArgs) ToDeviceReinstallOutputWithContext

func (i DeviceReinstallArgs) ToDeviceReinstallOutputWithContext(ctx context.Context) DeviceReinstallOutput

func (DeviceReinstallArgs) ToDeviceReinstallPtrOutput

func (i DeviceReinstallArgs) ToDeviceReinstallPtrOutput() DeviceReinstallPtrOutput

func (DeviceReinstallArgs) ToDeviceReinstallPtrOutputWithContext

func (i DeviceReinstallArgs) ToDeviceReinstallPtrOutputWithContext(ctx context.Context) DeviceReinstallPtrOutput

type DeviceReinstallInput

type DeviceReinstallInput interface {
	pulumi.Input

	ToDeviceReinstallOutput() DeviceReinstallOutput
	ToDeviceReinstallOutputWithContext(context.Context) DeviceReinstallOutput
}

DeviceReinstallInput is an input type that accepts DeviceReinstallArgs and DeviceReinstallOutput values. You can construct a concrete instance of `DeviceReinstallInput` via:

DeviceReinstallArgs{...}

type DeviceReinstallOutput

type DeviceReinstallOutput struct{ *pulumi.OutputState }

func (DeviceReinstallOutput) DeprovisionFast

func (o DeviceReinstallOutput) DeprovisionFast() pulumi.BoolPtrOutput

Whether the OS disk should be filled with `00h` bytes before reinstall. Defaults to `false`.

func (DeviceReinstallOutput) ElementType

func (DeviceReinstallOutput) ElementType() reflect.Type

func (DeviceReinstallOutput) Enabled

Whether the provider should favour reinstall over destroy and create. Defaults to `false`.

func (DeviceReinstallOutput) PreserveData

func (o DeviceReinstallOutput) PreserveData() pulumi.BoolPtrOutput

Whether the non-OS disks should be kept or wiped during reinstall. Defaults to `false`.

func (DeviceReinstallOutput) ToDeviceReinstallOutput

func (o DeviceReinstallOutput) ToDeviceReinstallOutput() DeviceReinstallOutput

func (DeviceReinstallOutput) ToDeviceReinstallOutputWithContext

func (o DeviceReinstallOutput) ToDeviceReinstallOutputWithContext(ctx context.Context) DeviceReinstallOutput

func (DeviceReinstallOutput) ToDeviceReinstallPtrOutput

func (o DeviceReinstallOutput) ToDeviceReinstallPtrOutput() DeviceReinstallPtrOutput

func (DeviceReinstallOutput) ToDeviceReinstallPtrOutputWithContext

func (o DeviceReinstallOutput) ToDeviceReinstallPtrOutputWithContext(ctx context.Context) DeviceReinstallPtrOutput

type DeviceReinstallPtrInput

type DeviceReinstallPtrInput interface {
	pulumi.Input

	ToDeviceReinstallPtrOutput() DeviceReinstallPtrOutput
	ToDeviceReinstallPtrOutputWithContext(context.Context) DeviceReinstallPtrOutput
}

DeviceReinstallPtrInput is an input type that accepts DeviceReinstallArgs, DeviceReinstallPtr and DeviceReinstallPtrOutput values. You can construct a concrete instance of `DeviceReinstallPtrInput` via:

        DeviceReinstallArgs{...}

or:

        nil

type DeviceReinstallPtrOutput

type DeviceReinstallPtrOutput struct{ *pulumi.OutputState }

func (DeviceReinstallPtrOutput) DeprovisionFast

func (o DeviceReinstallPtrOutput) DeprovisionFast() pulumi.BoolPtrOutput

Whether the OS disk should be filled with `00h` bytes before reinstall. Defaults to `false`.

func (DeviceReinstallPtrOutput) Elem

func (DeviceReinstallPtrOutput) ElementType

func (DeviceReinstallPtrOutput) ElementType() reflect.Type

func (DeviceReinstallPtrOutput) Enabled

Whether the provider should favour reinstall over destroy and create. Defaults to `false`.

func (DeviceReinstallPtrOutput) PreserveData

Whether the non-OS disks should be kept or wiped during reinstall. Defaults to `false`.

func (DeviceReinstallPtrOutput) ToDeviceReinstallPtrOutput

func (o DeviceReinstallPtrOutput) ToDeviceReinstallPtrOutput() DeviceReinstallPtrOutput

func (DeviceReinstallPtrOutput) ToDeviceReinstallPtrOutputWithContext

func (o DeviceReinstallPtrOutput) ToDeviceReinstallPtrOutputWithContext(ctx context.Context) DeviceReinstallPtrOutput

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
	// A string of the desired Custom Data for the device.
	CustomData pulumi.StringPtrInput
	// The facility where the device is deployed.
	DeployedFacility pulumi.StringPtrInput
	// ID of hardware reservation where this device was deployed. It is useful when using the `next-available` hardware reservation.
	DeployedHardwareReservationId pulumi.StringPtrInput
	// The device description.
	Description pulumi.StringPtrInput
	// List of facility codes with deployment preferences. Equinix Metal 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://metal.equinix.com/developers/api/facilities/), set your API auth token in the top of the page and see JSON from the API response. Conflicts with `metro`.
	Facilities pulumi.StringArrayInput
	// Delete device even if it has volumes attached. Only applies for destroy action.
	ForceDetachVolumes pulumi.BoolPtrInput
	// The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your
	// next available reservation automatically
	HardwareReservationId pulumi.StringPtrInput
	// The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
	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://metal.equinix.com/developers/docs/servers/custom-ipxe/) doc.
	IpxeScriptUrl pulumi.StringPtrInput
	// Whether the device is locked
	Locked pulumi.BoolPtrInput
	// Metro area for the new device. Conflicts with `facilities`.
	Metro pulumi.StringPtrInput
	// Network type of a device, used in [Layer 2 networking](https://metal.equinix.com/developers/docs/networking/layer2/).
	// Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded
	//
	// Deprecated: You should handle Network Type with the new metal_device_network_type resource.
	NetworkType pulumi.StringPtrInput
	// The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks:
	// * Public IPv4 at `metal_device.name.network.0`
	// * IPv6 at `metal_device.name.network.1`
	// * Private IPv4 at `metal_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://metal.equinix.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://metal.equinix.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
	// Array of IDs of the project SSH keys which should be added to the device. If you omit this, SSH keys of all the members of the parent project will be added to the device. If you specify this array, only the listed project SSH keys will be added. Project SSH keys can be created with the ProjectSshKey resource.
	ProjectSshKeyIds pulumi.StringArrayInput
	// Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system.
	Reinstall DeviceReinstallPtrInput
	// 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://metal.equinix.com/developers/docs/servers/custom-partitioning-raid/) doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
	Storage pulumi.StringPtrInput
	// Tags attached to the device
	Tags pulumi.StringArrayInput
	// Timestamp for device termination. For example `2021-09-03T16:32:00+03:00`. If you don't supply timezone info, timestamp is assumed to be in UTC.
	TerminationTime pulumi.StringPtrInput
	// The timestamp for the last time the device was updated
	Updated pulumi.StringPtrInput
	// A string of the desired User Data for the device.
	UserData pulumi.StringPtrInput
	// Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
	WaitForReservationDeprovision pulumi.BoolPtrInput
}

func (DeviceState) ElementType

func (DeviceState) ElementType() reflect.Type

type Facility

type Facility string

func (Facility) ElementType

func (Facility) ElementType() reflect.Type

func (Facility) ToFacilityOutput added in v3.2.0

func (e Facility) ToFacilityOutput() FacilityOutput

func (Facility) ToFacilityOutputWithContext added in v3.2.0

func (e Facility) ToFacilityOutputWithContext(ctx context.Context) FacilityOutput

func (Facility) ToFacilityPtrOutput added in v3.2.0

func (e Facility) ToFacilityPtrOutput() FacilityPtrOutput

func (Facility) ToFacilityPtrOutputWithContext added in v3.2.0

func (e Facility) ToFacilityPtrOutputWithContext(ctx context.Context) FacilityPtrOutput

func (Facility) ToStringOutput

func (e Facility) ToStringOutput() pulumi.StringOutput

func (Facility) ToStringOutputWithContext

func (e Facility) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (Facility) ToStringPtrOutput

func (e Facility) ToStringPtrOutput() pulumi.StringPtrOutput

func (Facility) ToStringPtrOutputWithContext

func (e Facility) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type FacilityInput added in v3.2.0

type FacilityInput interface {
	pulumi.Input

	ToFacilityOutput() FacilityOutput
	ToFacilityOutputWithContext(context.Context) FacilityOutput
}

FacilityInput is an input type that accepts FacilityArgs and FacilityOutput values. You can construct a concrete instance of `FacilityInput` via:

FacilityArgs{...}

type FacilityOutput added in v3.2.0

type FacilityOutput struct{ *pulumi.OutputState }

func (FacilityOutput) ElementType added in v3.2.0

func (FacilityOutput) ElementType() reflect.Type

func (FacilityOutput) ToFacilityOutput added in v3.2.0

func (o FacilityOutput) ToFacilityOutput() FacilityOutput

func (FacilityOutput) ToFacilityOutputWithContext added in v3.2.0

func (o FacilityOutput) ToFacilityOutputWithContext(ctx context.Context) FacilityOutput

func (FacilityOutput) ToFacilityPtrOutput added in v3.2.0

func (o FacilityOutput) ToFacilityPtrOutput() FacilityPtrOutput

func (FacilityOutput) ToFacilityPtrOutputWithContext added in v3.2.0

func (o FacilityOutput) ToFacilityPtrOutputWithContext(ctx context.Context) FacilityPtrOutput

func (FacilityOutput) ToStringOutput added in v3.2.0

func (o FacilityOutput) ToStringOutput() pulumi.StringOutput

func (FacilityOutput) ToStringOutputWithContext added in v3.2.0

func (o FacilityOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (FacilityOutput) ToStringPtrOutput added in v3.2.0

func (o FacilityOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (FacilityOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o FacilityOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type FacilityPtrInput added in v3.2.0

type FacilityPtrInput interface {
	pulumi.Input

	ToFacilityPtrOutput() FacilityPtrOutput
	ToFacilityPtrOutputWithContext(context.Context) FacilityPtrOutput
}

func FacilityPtr added in v3.2.0

func FacilityPtr(v string) FacilityPtrInput

type FacilityPtrOutput added in v3.2.0

type FacilityPtrOutput struct{ *pulumi.OutputState }

func (FacilityPtrOutput) Elem added in v3.2.0

func (FacilityPtrOutput) ElementType added in v3.2.0

func (FacilityPtrOutput) ElementType() reflect.Type

func (FacilityPtrOutput) ToFacilityPtrOutput added in v3.2.0

func (o FacilityPtrOutput) ToFacilityPtrOutput() FacilityPtrOutput

func (FacilityPtrOutput) ToFacilityPtrOutputWithContext added in v3.2.0

func (o FacilityPtrOutput) ToFacilityPtrOutputWithContext(ctx context.Context) FacilityPtrOutput

func (FacilityPtrOutput) ToStringPtrOutput added in v3.2.0

func (o FacilityPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (FacilityPtrOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o FacilityPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type Gateway

type Gateway struct {
	pulumi.CustomResourceState

	// UUID of IP reservation block to bind to the gateway, the reservation must be in the same metro as the VLAN, conflicts with `privateIpv4SubnetSize`
	IpReservationId pulumi.StringPtrOutput `pulumi:"ipReservationId"`
	// Size of the private IPv4 subnet to create for this metal gateway, must be one of (8, 16, 32, 64, 128), conflicts with `ipReservationId`
	PrivateIpv4SubnetSize pulumi.IntPtrOutput `pulumi:"privateIpv4SubnetSize"`
	// UUID of the project where the gateway is scoped to
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Status of the gateway resource
	State pulumi.StringOutput `pulumi:"state"`
	// UUID of the VLAN where the gateway is scoped to
	VlanId pulumi.StringOutput `pulumi:"vlanId"`
}

Use this resource to create Metal Gateway resources in Equinix Metal.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testVlan, err := equinix - metal.NewVlan(ctx, "testVlan", &equinix-metal.VlanArgs{
			Description: pulumi.String("test VLAN in SV"),
			Metro:       pulumi.String("sv"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewGateway(ctx, "testGateway", &equinix-metal.GatewayArgs{
			ProjectId:             pulumi.Any(local.Project_id),
			VlanId:                testVlan.ID(),
			PrivateIpv4SubnetSize: pulumi.Int(8),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testVlan, err := equinix - metal.NewVlan(ctx, "testVlan", &equinix-metal.VlanArgs{
			Description: pulumi.String("test VLAN in SV"),
			Metro:       pulumi.String("sv"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		testReservedIpBlock, err := equinix - metal.NewReservedIpBlock(ctx, "testReservedIpBlock", &equinix-metal.ReservedIpBlockArgs{
			ProjectId: pulumi.Any(local.Project_id),
			Metro:     pulumi.String("sv"),
			Quantity:  pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewGateway(ctx, "testGateway", &equinix-metal.GatewayArgs{
			ProjectId:       pulumi.Any(local.Project_id),
			VlanId:          testVlan.ID(),
			IpReservationId: testReservedIpBlock.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetGateway

func GetGateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayState, opts ...pulumi.ResourceOption) (*Gateway, error)

GetGateway gets an existing Gateway 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 NewGateway

func NewGateway(ctx *pulumi.Context,
	name string, args *GatewayArgs, opts ...pulumi.ResourceOption) (*Gateway, error)

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

func (*Gateway) ElementType

func (*Gateway) ElementType() reflect.Type

func (*Gateway) ToGatewayOutput

func (i *Gateway) ToGatewayOutput() GatewayOutput

func (*Gateway) ToGatewayOutputWithContext

func (i *Gateway) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

func (*Gateway) ToGatewayPtrOutput

func (i *Gateway) ToGatewayPtrOutput() GatewayPtrOutput

func (*Gateway) ToGatewayPtrOutputWithContext

func (i *Gateway) ToGatewayPtrOutputWithContext(ctx context.Context) GatewayPtrOutput

type GatewayArgs

type GatewayArgs struct {
	// UUID of IP reservation block to bind to the gateway, the reservation must be in the same metro as the VLAN, conflicts with `privateIpv4SubnetSize`
	IpReservationId pulumi.StringPtrInput
	// Size of the private IPv4 subnet to create for this metal gateway, must be one of (8, 16, 32, 64, 128), conflicts with `ipReservationId`
	PrivateIpv4SubnetSize pulumi.IntPtrInput
	// UUID of the project where the gateway is scoped to
	ProjectId pulumi.StringInput
	// UUID of the VLAN where the gateway is scoped to
	VlanId pulumi.StringInput
}

The set of arguments for constructing a Gateway resource.

func (GatewayArgs) ElementType

func (GatewayArgs) ElementType() reflect.Type

type GatewayArray

type GatewayArray []GatewayInput

func (GatewayArray) ElementType

func (GatewayArray) ElementType() reflect.Type

func (GatewayArray) ToGatewayArrayOutput

func (i GatewayArray) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArray) ToGatewayArrayOutputWithContext

func (i GatewayArray) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

type GatewayArrayInput

type GatewayArrayInput interface {
	pulumi.Input

	ToGatewayArrayOutput() GatewayArrayOutput
	ToGatewayArrayOutputWithContext(context.Context) GatewayArrayOutput
}

GatewayArrayInput is an input type that accepts GatewayArray and GatewayArrayOutput values. You can construct a concrete instance of `GatewayArrayInput` via:

GatewayArray{ GatewayArgs{...} }

type GatewayArrayOutput

type GatewayArrayOutput struct{ *pulumi.OutputState }

func (GatewayArrayOutput) ElementType

func (GatewayArrayOutput) ElementType() reflect.Type

func (GatewayArrayOutput) Index

func (GatewayArrayOutput) ToGatewayArrayOutput

func (o GatewayArrayOutput) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArrayOutput) ToGatewayArrayOutputWithContext

func (o GatewayArrayOutput) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

type GatewayInput

type GatewayInput interface {
	pulumi.Input

	ToGatewayOutput() GatewayOutput
	ToGatewayOutputWithContext(ctx context.Context) GatewayOutput
}

type GatewayMap

type GatewayMap map[string]GatewayInput

func (GatewayMap) ElementType

func (GatewayMap) ElementType() reflect.Type

func (GatewayMap) ToGatewayMapOutput

func (i GatewayMap) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMap) ToGatewayMapOutputWithContext

func (i GatewayMap) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

type GatewayMapInput

type GatewayMapInput interface {
	pulumi.Input

	ToGatewayMapOutput() GatewayMapOutput
	ToGatewayMapOutputWithContext(context.Context) GatewayMapOutput
}

GatewayMapInput is an input type that accepts GatewayMap and GatewayMapOutput values. You can construct a concrete instance of `GatewayMapInput` via:

GatewayMap{ "key": GatewayArgs{...} }

type GatewayMapOutput

type GatewayMapOutput struct{ *pulumi.OutputState }

func (GatewayMapOutput) ElementType

func (GatewayMapOutput) ElementType() reflect.Type

func (GatewayMapOutput) MapIndex

func (GatewayMapOutput) ToGatewayMapOutput

func (o GatewayMapOutput) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMapOutput) ToGatewayMapOutputWithContext

func (o GatewayMapOutput) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

type GatewayOutput

type GatewayOutput struct{ *pulumi.OutputState }

func (GatewayOutput) ElementType

func (GatewayOutput) ElementType() reflect.Type

func (GatewayOutput) ToGatewayOutput

func (o GatewayOutput) ToGatewayOutput() GatewayOutput

func (GatewayOutput) ToGatewayOutputWithContext

func (o GatewayOutput) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

func (GatewayOutput) ToGatewayPtrOutput

func (o GatewayOutput) ToGatewayPtrOutput() GatewayPtrOutput

func (GatewayOutput) ToGatewayPtrOutputWithContext

func (o GatewayOutput) ToGatewayPtrOutputWithContext(ctx context.Context) GatewayPtrOutput

type GatewayPtrInput

type GatewayPtrInput interface {
	pulumi.Input

	ToGatewayPtrOutput() GatewayPtrOutput
	ToGatewayPtrOutputWithContext(ctx context.Context) GatewayPtrOutput
}

type GatewayPtrOutput

type GatewayPtrOutput struct{ *pulumi.OutputState }

func (GatewayPtrOutput) Elem added in v3.2.0

func (GatewayPtrOutput) ElementType

func (GatewayPtrOutput) ElementType() reflect.Type

func (GatewayPtrOutput) ToGatewayPtrOutput

func (o GatewayPtrOutput) ToGatewayPtrOutput() GatewayPtrOutput

func (GatewayPtrOutput) ToGatewayPtrOutputWithContext

func (o GatewayPtrOutput) ToGatewayPtrOutputWithContext(ctx context.Context) GatewayPtrOutput

type GatewayState

type GatewayState struct {
	// UUID of IP reservation block to bind to the gateway, the reservation must be in the same metro as the VLAN, conflicts with `privateIpv4SubnetSize`
	IpReservationId pulumi.StringPtrInput
	// Size of the private IPv4 subnet to create for this metal gateway, must be one of (8, 16, 32, 64, 128), conflicts with `ipReservationId`
	PrivateIpv4SubnetSize pulumi.IntPtrInput
	// UUID of the project where the gateway is scoped to
	ProjectId pulumi.StringPtrInput
	// Status of the gateway resource
	State pulumi.StringPtrInput
	// UUID of the VLAN where the gateway is scoped to
	VlanId pulumi.StringPtrInput
}

func (GatewayState) ElementType

func (GatewayState) ElementType() reflect.Type

type GetConnectionPort

type GetConnectionPort struct {
	// Port UUID
	Id string `pulumi:"id"`
	// Port link status
	LinkStatus string `pulumi:"linkStatus"`
	// Port name
	Name string `pulumi:"name"`
	// Port role - primary or secondary
	Role string `pulumi:"role"`
	// Port speed in bits per second
	Speed int `pulumi:"speed"`
	// Port status
	Status string `pulumi:"status"`
	// List of IDs of virtual cicruits attached to this port
	VirtualCircuitIds []interface{} `pulumi:"virtualCircuitIds"`
}

type GetConnectionPortArgs

type GetConnectionPortArgs struct {
	// Port UUID
	Id pulumi.StringInput `pulumi:"id"`
	// Port link status
	LinkStatus pulumi.StringInput `pulumi:"linkStatus"`
	// Port name
	Name pulumi.StringInput `pulumi:"name"`
	// Port role - primary or secondary
	Role pulumi.StringInput `pulumi:"role"`
	// Port speed in bits per second
	Speed pulumi.IntInput `pulumi:"speed"`
	// Port status
	Status pulumi.StringInput `pulumi:"status"`
	// List of IDs of virtual cicruits attached to this port
	VirtualCircuitIds pulumi.ArrayInput `pulumi:"virtualCircuitIds"`
}

func (GetConnectionPortArgs) ElementType

func (GetConnectionPortArgs) ElementType() reflect.Type

func (GetConnectionPortArgs) ToGetConnectionPortOutput

func (i GetConnectionPortArgs) ToGetConnectionPortOutput() GetConnectionPortOutput

func (GetConnectionPortArgs) ToGetConnectionPortOutputWithContext

func (i GetConnectionPortArgs) ToGetConnectionPortOutputWithContext(ctx context.Context) GetConnectionPortOutput

type GetConnectionPortArray

type GetConnectionPortArray []GetConnectionPortInput

func (GetConnectionPortArray) ElementType

func (GetConnectionPortArray) ElementType() reflect.Type

func (GetConnectionPortArray) ToGetConnectionPortArrayOutput

func (i GetConnectionPortArray) ToGetConnectionPortArrayOutput() GetConnectionPortArrayOutput

func (GetConnectionPortArray) ToGetConnectionPortArrayOutputWithContext

func (i GetConnectionPortArray) ToGetConnectionPortArrayOutputWithContext(ctx context.Context) GetConnectionPortArrayOutput

type GetConnectionPortArrayInput

type GetConnectionPortArrayInput interface {
	pulumi.Input

	ToGetConnectionPortArrayOutput() GetConnectionPortArrayOutput
	ToGetConnectionPortArrayOutputWithContext(context.Context) GetConnectionPortArrayOutput
}

GetConnectionPortArrayInput is an input type that accepts GetConnectionPortArray and GetConnectionPortArrayOutput values. You can construct a concrete instance of `GetConnectionPortArrayInput` via:

GetConnectionPortArray{ GetConnectionPortArgs{...} }

type GetConnectionPortArrayOutput

type GetConnectionPortArrayOutput struct{ *pulumi.OutputState }

func (GetConnectionPortArrayOutput) ElementType

func (GetConnectionPortArrayOutput) Index

func (GetConnectionPortArrayOutput) ToGetConnectionPortArrayOutput

func (o GetConnectionPortArrayOutput) ToGetConnectionPortArrayOutput() GetConnectionPortArrayOutput

func (GetConnectionPortArrayOutput) ToGetConnectionPortArrayOutputWithContext

func (o GetConnectionPortArrayOutput) ToGetConnectionPortArrayOutputWithContext(ctx context.Context) GetConnectionPortArrayOutput

type GetConnectionPortInput

type GetConnectionPortInput interface {
	pulumi.Input

	ToGetConnectionPortOutput() GetConnectionPortOutput
	ToGetConnectionPortOutputWithContext(context.Context) GetConnectionPortOutput
}

GetConnectionPortInput is an input type that accepts GetConnectionPortArgs and GetConnectionPortOutput values. You can construct a concrete instance of `GetConnectionPortInput` via:

GetConnectionPortArgs{...}

type GetConnectionPortOutput

type GetConnectionPortOutput struct{ *pulumi.OutputState }

func (GetConnectionPortOutput) ElementType

func (GetConnectionPortOutput) ElementType() reflect.Type

func (GetConnectionPortOutput) Id

Port UUID

func (GetConnectionPortOutput) LinkStatus

Port link status

func (GetConnectionPortOutput) Name

Port name

func (GetConnectionPortOutput) Role

Port role - primary or secondary

func (GetConnectionPortOutput) Speed

Port speed in bits per second

func (GetConnectionPortOutput) Status

Port status

func (GetConnectionPortOutput) ToGetConnectionPortOutput

func (o GetConnectionPortOutput) ToGetConnectionPortOutput() GetConnectionPortOutput

func (GetConnectionPortOutput) ToGetConnectionPortOutputWithContext

func (o GetConnectionPortOutput) ToGetConnectionPortOutputWithContext(ctx context.Context) GetConnectionPortOutput

func (GetConnectionPortOutput) VirtualCircuitIds

func (o GetConnectionPortOutput) VirtualCircuitIds() pulumi.ArrayOutput

List of IDs of virtual cicruits attached to this port

type GetDeviceBgpNeighborsArgs

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

A collection of arguments for invoking getDeviceBgpNeighbors.

type GetDeviceBgpNeighborsBgpNeighbor

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

type GetDeviceBgpNeighborsBgpNeighborArgs

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

func (GetDeviceBgpNeighborsBgpNeighborArgs) ElementType

func (GetDeviceBgpNeighborsBgpNeighborArgs) ToGetDeviceBgpNeighborsBgpNeighborOutput

func (i GetDeviceBgpNeighborsBgpNeighborArgs) ToGetDeviceBgpNeighborsBgpNeighborOutput() GetDeviceBgpNeighborsBgpNeighborOutput

func (GetDeviceBgpNeighborsBgpNeighborArgs) ToGetDeviceBgpNeighborsBgpNeighborOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborArray

type GetDeviceBgpNeighborsBgpNeighborArray []GetDeviceBgpNeighborsBgpNeighborInput

func (GetDeviceBgpNeighborsBgpNeighborArray) ElementType

func (GetDeviceBgpNeighborsBgpNeighborArray) ToGetDeviceBgpNeighborsBgpNeighborArrayOutput

func (i GetDeviceBgpNeighborsBgpNeighborArray) ToGetDeviceBgpNeighborsBgpNeighborArrayOutput() GetDeviceBgpNeighborsBgpNeighborArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborArray) ToGetDeviceBgpNeighborsBgpNeighborArrayOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborArrayInput

type GetDeviceBgpNeighborsBgpNeighborArrayInput interface {
	pulumi.Input

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

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

GetDeviceBgpNeighborsBgpNeighborArray{ GetDeviceBgpNeighborsBgpNeighborArgs{...} }

type GetDeviceBgpNeighborsBgpNeighborArrayOutput

type GetDeviceBgpNeighborsBgpNeighborArrayOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborArrayOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborArrayOutput) Index

func (GetDeviceBgpNeighborsBgpNeighborArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborArrayOutput

func (o GetDeviceBgpNeighborsBgpNeighborArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborArrayOutput() GetDeviceBgpNeighborsBgpNeighborArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborArrayOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborInput

type GetDeviceBgpNeighborsBgpNeighborInput interface {
	pulumi.Input

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

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

GetDeviceBgpNeighborsBgpNeighborArgs{...}

type GetDeviceBgpNeighborsBgpNeighborOutput

type GetDeviceBgpNeighborsBgpNeighborOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborOutput) AddressFamily

IP address version, 4 or 6

func (GetDeviceBgpNeighborsBgpNeighborOutput) CustomerAs

Local autonomous system number

func (GetDeviceBgpNeighborsBgpNeighborOutput) CustomerIp

Local used peer IP address

func (GetDeviceBgpNeighborsBgpNeighborOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborOutput) Md5Enabled

Whether BGP session is password enabled

func (GetDeviceBgpNeighborsBgpNeighborOutput) Md5Password

BGP session password in plaintext (not a checksum)

func (GetDeviceBgpNeighborsBgpNeighborOutput) Multihop

Whether the neighbor is in EBGP multihop session

func (GetDeviceBgpNeighborsBgpNeighborOutput) PeerAs

Peer AS number (different than customerAs for EBGP)

func (GetDeviceBgpNeighborsBgpNeighborOutput) PeerIps

Array of IP addresses of this neighbor's peers

func (GetDeviceBgpNeighborsBgpNeighborOutput) RoutesIns

Array of incoming routes. Each route has attributes:

func (GetDeviceBgpNeighborsBgpNeighborOutput) RoutesOuts

Array of outgoing routes in the same format

func (GetDeviceBgpNeighborsBgpNeighborOutput) ToGetDeviceBgpNeighborsBgpNeighborOutput

func (o GetDeviceBgpNeighborsBgpNeighborOutput) ToGetDeviceBgpNeighborsBgpNeighborOutput() GetDeviceBgpNeighborsBgpNeighborOutput

func (GetDeviceBgpNeighborsBgpNeighborOutput) ToGetDeviceBgpNeighborsBgpNeighborOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborRoutesIn

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

type GetDeviceBgpNeighborsBgpNeighborRoutesInArgs

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

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArgs) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutput

func (i GetDeviceBgpNeighborsBgpNeighborRoutesInArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborRoutesInArray

type GetDeviceBgpNeighborsBgpNeighborRoutesInArray []GetDeviceBgpNeighborsBgpNeighborRoutesInInput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArray) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

func (i GetDeviceBgpNeighborsBgpNeighborRoutesInArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborRoutesInArrayInput

type GetDeviceBgpNeighborsBgpNeighborRoutesInArrayInput interface {
	pulumi.Input

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

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

GetDeviceBgpNeighborsBgpNeighborRoutesInArray{ GetDeviceBgpNeighborsBgpNeighborRoutesInArgs{...} }

type GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) Index

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

func (o GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInArrayOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborRoutesInInput

type GetDeviceBgpNeighborsBgpNeighborRoutesInInput interface {
	pulumi.Input

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

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

GetDeviceBgpNeighborsBgpNeighborRoutesInArgs{...}

type GetDeviceBgpNeighborsBgpNeighborRoutesInOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesInOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) Exact

(bool) Whether the route is exact

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) Route

CIDR expression of route (IP/mask)

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutput

func (o GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutput() GetDeviceBgpNeighborsBgpNeighborRoutesInOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesInOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesInOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborRoutesOut

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

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs

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

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

func (i GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutput() GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArray

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArray []GetDeviceBgpNeighborsBgpNeighborRoutesOutInput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArray) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

func (i GetDeviceBgpNeighborsBgpNeighborRoutesOutArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput() GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArray) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayInput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayInput interface {
	pulumi.Input

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

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

GetDeviceBgpNeighborsBgpNeighborRoutesOutArray{ GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs{...} }

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput) Index

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutArrayOutputWithContext

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

type GetDeviceBgpNeighborsBgpNeighborRoutesOutInput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutInput interface {
	pulumi.Input

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

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

GetDeviceBgpNeighborsBgpNeighborRoutesOutArgs{...}

type GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

type GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput struct{ *pulumi.OutputState }

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) ElementType

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) Exact

(bool) Whether the route is exact

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) Route

CIDR expression of route (IP/mask)

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

func (o GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutput() GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput

func (GetDeviceBgpNeighborsBgpNeighborRoutesOutOutput) ToGetDeviceBgpNeighborsBgpNeighborRoutesOutOutputWithContext

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

type GetDeviceBgpNeighborsOutputArgs added in v3.2.0

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

A collection of arguments for invoking getDeviceBgpNeighbors.

func (GetDeviceBgpNeighborsOutputArgs) ElementType added in v3.2.0

type GetDeviceBgpNeighborsResult

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

A collection of values returned by getDeviceBgpNeighbors.

func GetDeviceBgpNeighbors

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

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

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

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := equinix - metal.GetDeviceBgpNeighbors(ctx, &GetDeviceBgpNeighborsArgs{
			DeviceId: "4c641195-25e5-4c3c-b2b7-4cd7a42c7b40",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bgpNeighborsListing", test.BgpNeighbors)
		return nil
	})
}

```

type GetDeviceBgpNeighborsResultOutput added in v3.2.0

type GetDeviceBgpNeighborsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDeviceBgpNeighbors.

func GetDeviceBgpNeighborsOutput added in v3.2.0

func (GetDeviceBgpNeighborsResultOutput) BgpNeighbors added in v3.2.0

array of BGP neighbor records with attributes:

func (GetDeviceBgpNeighborsResultOutput) DeviceId added in v3.2.0

func (GetDeviceBgpNeighborsResultOutput) ElementType added in v3.2.0

func (GetDeviceBgpNeighborsResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (GetDeviceBgpNeighborsResultOutput) ToGetDeviceBgpNeighborsResultOutput added in v3.2.0

func (o GetDeviceBgpNeighborsResultOutput) ToGetDeviceBgpNeighborsResultOutput() GetDeviceBgpNeighborsResultOutput

func (GetDeviceBgpNeighborsResultOutput) ToGetDeviceBgpNeighborsResultOutputWithContext added in v3.2.0

func (o GetDeviceBgpNeighborsResultOutput) ToGetDeviceBgpNeighborsResultOutputWithContext(ctx context.Context) GetDeviceBgpNeighborsResultOutput

type GetDeviceNetwork

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

type GetDeviceNetworkArgs

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

func (GetDeviceNetworkArgs) ElementType

func (GetDeviceNetworkArgs) ElementType() reflect.Type

func (GetDeviceNetworkArgs) ToGetDeviceNetworkOutput

func (i GetDeviceNetworkArgs) ToGetDeviceNetworkOutput() GetDeviceNetworkOutput

func (GetDeviceNetworkArgs) ToGetDeviceNetworkOutputWithContext

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

type GetDeviceNetworkArray

type GetDeviceNetworkArray []GetDeviceNetworkInput

func (GetDeviceNetworkArray) ElementType

func (GetDeviceNetworkArray) ElementType() reflect.Type

func (GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutput

func (i GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutput() GetDeviceNetworkArrayOutput

func (GetDeviceNetworkArray) ToGetDeviceNetworkArrayOutputWithContext

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

type GetDeviceNetworkArrayInput

type GetDeviceNetworkArrayInput interface {
	pulumi.Input

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

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

GetDeviceNetworkArray{ GetDeviceNetworkArgs{...} }

type GetDeviceNetworkArrayOutput

type GetDeviceNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetDeviceNetworkArrayOutput) ElementType

func (GetDeviceNetworkArrayOutput) Index

func (GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutput

func (o GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutput() GetDeviceNetworkArrayOutput

func (GetDeviceNetworkArrayOutput) ToGetDeviceNetworkArrayOutputWithContext

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

type GetDeviceNetworkInput

type GetDeviceNetworkInput interface {
	pulumi.Input

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

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

GetDeviceNetworkArgs{...}

type GetDeviceNetworkOutput

type GetDeviceNetworkOutput struct{ *pulumi.OutputState }

func (GetDeviceNetworkOutput) Address

IPv4 or IPv6 address string

func (GetDeviceNetworkOutput) Cidr

Bit length of the network mask of the address

func (GetDeviceNetworkOutput) ElementType

func (GetDeviceNetworkOutput) ElementType() reflect.Type

func (GetDeviceNetworkOutput) Family

IP version - "4" or "6"

func (GetDeviceNetworkOutput) Gateway

Address of router

func (GetDeviceNetworkOutput) Public

Whether the address is routable from the Internet

func (GetDeviceNetworkOutput) ToGetDeviceNetworkOutput

func (o GetDeviceNetworkOutput) ToGetDeviceNetworkOutput() GetDeviceNetworkOutput

func (GetDeviceNetworkOutput) ToGetDeviceNetworkOutputWithContext

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

type GetDevicePort

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

type GetDevicePortArgs

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

func (GetDevicePortArgs) ElementType

func (GetDevicePortArgs) ElementType() reflect.Type

func (GetDevicePortArgs) ToGetDevicePortOutput

func (i GetDevicePortArgs) ToGetDevicePortOutput() GetDevicePortOutput

func (GetDevicePortArgs) ToGetDevicePortOutputWithContext

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

type GetDevicePortArray

type GetDevicePortArray []GetDevicePortInput

func (GetDevicePortArray) ElementType

func (GetDevicePortArray) ElementType() reflect.Type

func (GetDevicePortArray) ToGetDevicePortArrayOutput

func (i GetDevicePortArray) ToGetDevicePortArrayOutput() GetDevicePortArrayOutput

func (GetDevicePortArray) ToGetDevicePortArrayOutputWithContext

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

type GetDevicePortArrayInput

type GetDevicePortArrayInput interface {
	pulumi.Input

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

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

GetDevicePortArray{ GetDevicePortArgs{...} }

type GetDevicePortArrayOutput

type GetDevicePortArrayOutput struct{ *pulumi.OutputState }

func (GetDevicePortArrayOutput) ElementType

func (GetDevicePortArrayOutput) ElementType() reflect.Type

func (GetDevicePortArrayOutput) Index

func (GetDevicePortArrayOutput) ToGetDevicePortArrayOutput

func (o GetDevicePortArrayOutput) ToGetDevicePortArrayOutput() GetDevicePortArrayOutput

func (GetDevicePortArrayOutput) ToGetDevicePortArrayOutputWithContext

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

type GetDevicePortInput

type GetDevicePortInput interface {
	pulumi.Input

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

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

GetDevicePortArgs{...}

type GetDevicePortOutput

type GetDevicePortOutput struct{ *pulumi.OutputState }

func (GetDevicePortOutput) Bonded

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

func (GetDevicePortOutput) ElementType

func (GetDevicePortOutput) ElementType() reflect.Type

func (GetDevicePortOutput) Id

ID of the port

func (GetDevicePortOutput) Mac

MAC address assigned to the port

func (GetDevicePortOutput) Name

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

func (GetDevicePortOutput) ToGetDevicePortOutput

func (o GetDevicePortOutput) ToGetDevicePortOutput() GetDevicePortOutput

func (GetDevicePortOutput) ToGetDevicePortOutputWithContext

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

func (GetDevicePortOutput) Type

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

type GetFacilityArgs

type GetFacilityArgs struct {
	// (Optional) Ensure that queried facility has capacity for specified number of given plans
	Capacities []GetFacilityCapacity `pulumi:"capacities"`
	// The facility code
	Code string `pulumi:"code"`
	// Set of feature strings that the facility must have
	FeaturesRequireds []string `pulumi:"featuresRequireds"`
}

A collection of arguments for invoking getFacility.

type GetFacilityCapacity added in v3.1.0

type GetFacilityCapacity struct {
	// device plan to check
	Plan string `pulumi:"plan"`
	// number of device to check
	Quantity *int `pulumi:"quantity"`
}

type GetFacilityCapacityArgs added in v3.1.0

type GetFacilityCapacityArgs struct {
	// device plan to check
	Plan pulumi.StringInput `pulumi:"plan"`
	// number of device to check
	Quantity pulumi.IntPtrInput `pulumi:"quantity"`
}

func (GetFacilityCapacityArgs) ElementType added in v3.1.0

func (GetFacilityCapacityArgs) ElementType() reflect.Type

func (GetFacilityCapacityArgs) ToGetFacilityCapacityOutput added in v3.1.0

func (i GetFacilityCapacityArgs) ToGetFacilityCapacityOutput() GetFacilityCapacityOutput

func (GetFacilityCapacityArgs) ToGetFacilityCapacityOutputWithContext added in v3.1.0

func (i GetFacilityCapacityArgs) ToGetFacilityCapacityOutputWithContext(ctx context.Context) GetFacilityCapacityOutput

type GetFacilityCapacityArray added in v3.1.0

type GetFacilityCapacityArray []GetFacilityCapacityInput

func (GetFacilityCapacityArray) ElementType added in v3.1.0

func (GetFacilityCapacityArray) ElementType() reflect.Type

func (GetFacilityCapacityArray) ToGetFacilityCapacityArrayOutput added in v3.1.0

func (i GetFacilityCapacityArray) ToGetFacilityCapacityArrayOutput() GetFacilityCapacityArrayOutput

func (GetFacilityCapacityArray) ToGetFacilityCapacityArrayOutputWithContext added in v3.1.0

func (i GetFacilityCapacityArray) ToGetFacilityCapacityArrayOutputWithContext(ctx context.Context) GetFacilityCapacityArrayOutput

type GetFacilityCapacityArrayInput added in v3.1.0

type GetFacilityCapacityArrayInput interface {
	pulumi.Input

	ToGetFacilityCapacityArrayOutput() GetFacilityCapacityArrayOutput
	ToGetFacilityCapacityArrayOutputWithContext(context.Context) GetFacilityCapacityArrayOutput
}

GetFacilityCapacityArrayInput is an input type that accepts GetFacilityCapacityArray and GetFacilityCapacityArrayOutput values. You can construct a concrete instance of `GetFacilityCapacityArrayInput` via:

GetFacilityCapacityArray{ GetFacilityCapacityArgs{...} }

type GetFacilityCapacityArrayOutput added in v3.1.0

type GetFacilityCapacityArrayOutput struct{ *pulumi.OutputState }

func (GetFacilityCapacityArrayOutput) ElementType added in v3.1.0

func (GetFacilityCapacityArrayOutput) Index added in v3.1.0

func (GetFacilityCapacityArrayOutput) ToGetFacilityCapacityArrayOutput added in v3.1.0

func (o GetFacilityCapacityArrayOutput) ToGetFacilityCapacityArrayOutput() GetFacilityCapacityArrayOutput

func (GetFacilityCapacityArrayOutput) ToGetFacilityCapacityArrayOutputWithContext added in v3.1.0

func (o GetFacilityCapacityArrayOutput) ToGetFacilityCapacityArrayOutputWithContext(ctx context.Context) GetFacilityCapacityArrayOutput

type GetFacilityCapacityInput added in v3.1.0

type GetFacilityCapacityInput interface {
	pulumi.Input

	ToGetFacilityCapacityOutput() GetFacilityCapacityOutput
	ToGetFacilityCapacityOutputWithContext(context.Context) GetFacilityCapacityOutput
}

GetFacilityCapacityInput is an input type that accepts GetFacilityCapacityArgs and GetFacilityCapacityOutput values. You can construct a concrete instance of `GetFacilityCapacityInput` via:

GetFacilityCapacityArgs{...}

type GetFacilityCapacityOutput added in v3.1.0

type GetFacilityCapacityOutput struct{ *pulumi.OutputState }

func (GetFacilityCapacityOutput) ElementType added in v3.1.0

func (GetFacilityCapacityOutput) ElementType() reflect.Type

func (GetFacilityCapacityOutput) Plan added in v3.1.0

device plan to check

func (GetFacilityCapacityOutput) Quantity added in v3.1.0

number of device to check

func (GetFacilityCapacityOutput) ToGetFacilityCapacityOutput added in v3.1.0

func (o GetFacilityCapacityOutput) ToGetFacilityCapacityOutput() GetFacilityCapacityOutput

func (GetFacilityCapacityOutput) ToGetFacilityCapacityOutputWithContext added in v3.1.0

func (o GetFacilityCapacityOutput) ToGetFacilityCapacityOutputWithContext(ctx context.Context) GetFacilityCapacityOutput

type GetFacilityOutputArgs added in v3.2.0

type GetFacilityOutputArgs struct {
	// (Optional) Ensure that queried facility has capacity for specified number of given plans
	Capacities GetFacilityCapacityArrayInput `pulumi:"capacities"`
	// The facility code
	Code pulumi.StringInput `pulumi:"code"`
	// Set of feature strings that the facility must have
	FeaturesRequireds pulumi.StringArrayInput `pulumi:"featuresRequireds"`
}

A collection of arguments for invoking getFacility.

func (GetFacilityOutputArgs) ElementType added in v3.2.0

func (GetFacilityOutputArgs) ElementType() reflect.Type

type GetFacilityResult

type GetFacilityResult struct {
	// (Optional) Ensure that queried facility has capacity for specified number of given plans
	Capacities []GetFacilityCapacity `pulumi:"capacities"`
	Code       string                `pulumi:"code"`
	// The features of the facility
	Features          []string `pulumi:"features"`
	FeaturesRequireds []string `pulumi:"featuresRequireds"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The metro code the facility is part of
	Metro string `pulumi:"metro"`
	// The name of the facility
	Name string `pulumi:"name"`
}

A collection of values returned by getFacility.

func GetFacility

func GetFacility(ctx *pulumi.Context, args *GetFacilityArgs, opts ...pulumi.InvokeOption) (*GetFacilityResult, error)

Provides an Equinix Metal facility datasource.

type GetFacilityResultOutput added in v3.2.0

type GetFacilityResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFacility.

func GetFacilityOutput added in v3.2.0

func GetFacilityOutput(ctx *pulumi.Context, args GetFacilityOutputArgs, opts ...pulumi.InvokeOption) GetFacilityResultOutput

func (GetFacilityResultOutput) Capacities added in v3.2.0

(Optional) Ensure that queried facility has capacity for specified number of given plans

func (GetFacilityResultOutput) Code added in v3.2.0

func (GetFacilityResultOutput) ElementType added in v3.2.0

func (GetFacilityResultOutput) ElementType() reflect.Type

func (GetFacilityResultOutput) Features added in v3.2.0

The features of the facility

func (GetFacilityResultOutput) FeaturesRequireds added in v3.2.0

func (o GetFacilityResultOutput) FeaturesRequireds() pulumi.StringArrayOutput

func (GetFacilityResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (GetFacilityResultOutput) Metro added in v3.2.0

The metro code the facility is part of

func (GetFacilityResultOutput) Name added in v3.2.0

The name of the facility

func (GetFacilityResultOutput) ToGetFacilityResultOutput added in v3.2.0

func (o GetFacilityResultOutput) ToGetFacilityResultOutput() GetFacilityResultOutput

func (GetFacilityResultOutput) ToGetFacilityResultOutputWithContext added in v3.2.0

func (o GetFacilityResultOutput) ToGetFacilityResultOutputWithContext(ctx context.Context) GetFacilityResultOutput

type GetHardwareReservationArgs

type GetHardwareReservationArgs struct {
	// UUID of device occupying the reservation
	DeviceId *string `pulumi:"deviceId"`
	// ID of the hardware reservation
	Id *string `pulumi:"id"`
}

A collection of arguments for invoking getHardwareReservation.

type GetHardwareReservationOutputArgs added in v3.2.0

type GetHardwareReservationOutputArgs struct {
	// UUID of device occupying the reservation
	DeviceId pulumi.StringPtrInput `pulumi:"deviceId"`
	// ID of the hardware reservation
	Id pulumi.StringPtrInput `pulumi:"id"`
}

A collection of arguments for invoking getHardwareReservation.

func (GetHardwareReservationOutputArgs) ElementType added in v3.2.0

type GetHardwareReservationResult

type GetHardwareReservationResult struct {
	// UUID of device occupying the reservation
	DeviceId string `pulumi:"deviceId"`
	// Plan type for the reservation
	Facility string `pulumi:"facility"`
	// ID of the hardware reservation to look up
	Id string `pulumi:"id"`
	// Plan type for the reservation
	Plan string `pulumi:"plan"`
	// UUID of project this reservation is scoped to
	ProjectId string `pulumi:"projectId"`
	// Flag indicating whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first
	Provisionable bool `pulumi:"provisionable"`
	// Reservation short ID
	ShortId string `pulumi:"shortId"`
	// Flag indicating whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Metal Equinix
	Spare bool `pulumi:"spare"`
	// Switch short ID, can be used to determine if two devices are connected to the same switch
	SwitchUuid string `pulumi:"switchUuid"`
}

A collection of values returned by getHardwareReservation.

func GetHardwareReservation

func GetHardwareReservation(ctx *pulumi.Context, args *GetHardwareReservationArgs, opts ...pulumi.InvokeOption) (*GetHardwareReservationResult, error)

Use this data source to retrieve a [hardware reservation resource from Equinix Metal](https://metal.equinix.com/developers/docs/deploy/reserved/).

You can look up hardware reservation by its ID or by ID of device which occupies it.

type GetHardwareReservationResultOutput added in v3.2.0

type GetHardwareReservationResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHardwareReservation.

func GetHardwareReservationOutput added in v3.2.0

func (GetHardwareReservationResultOutput) DeviceId added in v3.2.0

UUID of device occupying the reservation

func (GetHardwareReservationResultOutput) ElementType added in v3.2.0

func (GetHardwareReservationResultOutput) Facility added in v3.2.0

Plan type for the reservation

func (GetHardwareReservationResultOutput) Id added in v3.2.0

ID of the hardware reservation to look up

func (GetHardwareReservationResultOutput) Plan added in v3.2.0

Plan type for the reservation

func (GetHardwareReservationResultOutput) ProjectId added in v3.2.0

UUID of project this reservation is scoped to

func (GetHardwareReservationResultOutput) Provisionable added in v3.2.0

Flag indicating whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first

func (GetHardwareReservationResultOutput) ShortId added in v3.2.0

Reservation short ID

func (GetHardwareReservationResultOutput) Spare added in v3.2.0

Flag indicating whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Metal Equinix

func (GetHardwareReservationResultOutput) SwitchUuid added in v3.2.0

Switch short ID, can be used to determine if two devices are connected to the same switch

func (GetHardwareReservationResultOutput) ToGetHardwareReservationResultOutput added in v3.2.0

func (o GetHardwareReservationResultOutput) ToGetHardwareReservationResultOutput() GetHardwareReservationResultOutput

func (GetHardwareReservationResultOutput) ToGetHardwareReservationResultOutputWithContext added in v3.2.0

func (o GetHardwareReservationResultOutput) ToGetHardwareReservationResultOutputWithContext(ctx context.Context) GetHardwareReservationResultOutput

type GetIpBlockRangesArgs

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

A collection of arguments for invoking getIpBlockRanges.

type GetIpBlockRangesOutputArgs added in v3.2.0

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

A collection of arguments for invoking getIpBlockRanges.

func (GetIpBlockRangesOutputArgs) ElementType added in v3.2.0

func (GetIpBlockRangesOutputArgs) ElementType() reflect.Type

type GetIpBlockRangesResult

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

A collection of values returned by getIpBlockRanges.

func GetIpBlockRanges

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

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

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

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		projectId := "<UUID_of_your_project>"
		test, err := equinix - metal.GetIpBlockRanges(ctx, &GetIpBlockRangesArgs{
			ProjectId: projectId,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("out", test)
		return nil
	})
}

```

type GetIpBlockRangesResultOutput added in v3.2.0

type GetIpBlockRangesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpBlockRanges.

func GetIpBlockRangesOutput added in v3.2.0

func (GetIpBlockRangesResultOutput) ElementType added in v3.2.0

func (GetIpBlockRangesResultOutput) Facility added in v3.2.0

func (GetIpBlockRangesResultOutput) GlobalIpv4s added in v3.2.0

list of CIDR expressions for Global IPv4 blocks in the project

func (GetIpBlockRangesResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (GetIpBlockRangesResultOutput) Ipv6s added in v3.2.0

list of CIDR expressions for IPv6 blocks in the project

func (GetIpBlockRangesResultOutput) Metro added in v3.2.0

func (GetIpBlockRangesResultOutput) PrivateIpv4s added in v3.2.0

list of CIDR expressions for Private IPv4 blocks in the project

func (GetIpBlockRangesResultOutput) ProjectId added in v3.2.0

func (GetIpBlockRangesResultOutput) PublicIpv4s added in v3.2.0

list of CIDR expressions for Public IPv4 blocks in the project

func (GetIpBlockRangesResultOutput) ToGetIpBlockRangesResultOutput added in v3.2.0

func (o GetIpBlockRangesResultOutput) ToGetIpBlockRangesResultOutput() GetIpBlockRangesResultOutput

func (GetIpBlockRangesResultOutput) ToGetIpBlockRangesResultOutputWithContext added in v3.2.0

func (o GetIpBlockRangesResultOutput) ToGetIpBlockRangesResultOutputWithContext(ctx context.Context) GetIpBlockRangesResultOutput

type GetMetroArgs

type GetMetroArgs struct {
	// (Optional) Ensure that queried metro has capacity for specified number of given plans
	Capacities []GetMetroCapacity `pulumi:"capacities"`
	// The metro code
	Code string `pulumi:"code"`
}

A collection of arguments for invoking getMetro.

type GetMetroCapacity added in v3.1.0

type GetMetroCapacity struct {
	// device plan to check
	Plan string `pulumi:"plan"`
	// number of device to check
	Quantity *int `pulumi:"quantity"`
}

type GetMetroCapacityArgs added in v3.1.0

type GetMetroCapacityArgs struct {
	// device plan to check
	Plan pulumi.StringInput `pulumi:"plan"`
	// number of device to check
	Quantity pulumi.IntPtrInput `pulumi:"quantity"`
}

func (GetMetroCapacityArgs) ElementType added in v3.1.0

func (GetMetroCapacityArgs) ElementType() reflect.Type

func (GetMetroCapacityArgs) ToGetMetroCapacityOutput added in v3.1.0

func (i GetMetroCapacityArgs) ToGetMetroCapacityOutput() GetMetroCapacityOutput

func (GetMetroCapacityArgs) ToGetMetroCapacityOutputWithContext added in v3.1.0

func (i GetMetroCapacityArgs) ToGetMetroCapacityOutputWithContext(ctx context.Context) GetMetroCapacityOutput

type GetMetroCapacityArray added in v3.1.0

type GetMetroCapacityArray []GetMetroCapacityInput

func (GetMetroCapacityArray) ElementType added in v3.1.0

func (GetMetroCapacityArray) ElementType() reflect.Type

func (GetMetroCapacityArray) ToGetMetroCapacityArrayOutput added in v3.1.0

func (i GetMetroCapacityArray) ToGetMetroCapacityArrayOutput() GetMetroCapacityArrayOutput

func (GetMetroCapacityArray) ToGetMetroCapacityArrayOutputWithContext added in v3.1.0

func (i GetMetroCapacityArray) ToGetMetroCapacityArrayOutputWithContext(ctx context.Context) GetMetroCapacityArrayOutput

type GetMetroCapacityArrayInput added in v3.1.0

type GetMetroCapacityArrayInput interface {
	pulumi.Input

	ToGetMetroCapacityArrayOutput() GetMetroCapacityArrayOutput
	ToGetMetroCapacityArrayOutputWithContext(context.Context) GetMetroCapacityArrayOutput
}

GetMetroCapacityArrayInput is an input type that accepts GetMetroCapacityArray and GetMetroCapacityArrayOutput values. You can construct a concrete instance of `GetMetroCapacityArrayInput` via:

GetMetroCapacityArray{ GetMetroCapacityArgs{...} }

type GetMetroCapacityArrayOutput added in v3.1.0

type GetMetroCapacityArrayOutput struct{ *pulumi.OutputState }

func (GetMetroCapacityArrayOutput) ElementType added in v3.1.0

func (GetMetroCapacityArrayOutput) Index added in v3.1.0

func (GetMetroCapacityArrayOutput) ToGetMetroCapacityArrayOutput added in v3.1.0

func (o GetMetroCapacityArrayOutput) ToGetMetroCapacityArrayOutput() GetMetroCapacityArrayOutput

func (GetMetroCapacityArrayOutput) ToGetMetroCapacityArrayOutputWithContext added in v3.1.0

func (o GetMetroCapacityArrayOutput) ToGetMetroCapacityArrayOutputWithContext(ctx context.Context) GetMetroCapacityArrayOutput

type GetMetroCapacityInput added in v3.1.0

type GetMetroCapacityInput interface {
	pulumi.Input

	ToGetMetroCapacityOutput() GetMetroCapacityOutput
	ToGetMetroCapacityOutputWithContext(context.Context) GetMetroCapacityOutput
}

GetMetroCapacityInput is an input type that accepts GetMetroCapacityArgs and GetMetroCapacityOutput values. You can construct a concrete instance of `GetMetroCapacityInput` via:

GetMetroCapacityArgs{...}

type GetMetroCapacityOutput added in v3.1.0

type GetMetroCapacityOutput struct{ *pulumi.OutputState }

func (GetMetroCapacityOutput) ElementType added in v3.1.0

func (GetMetroCapacityOutput) ElementType() reflect.Type

func (GetMetroCapacityOutput) Plan added in v3.1.0

device plan to check

func (GetMetroCapacityOutput) Quantity added in v3.1.0

number of device to check

func (GetMetroCapacityOutput) ToGetMetroCapacityOutput added in v3.1.0

func (o GetMetroCapacityOutput) ToGetMetroCapacityOutput() GetMetroCapacityOutput

func (GetMetroCapacityOutput) ToGetMetroCapacityOutputWithContext added in v3.1.0

func (o GetMetroCapacityOutput) ToGetMetroCapacityOutputWithContext(ctx context.Context) GetMetroCapacityOutput

type GetMetroOutputArgs added in v3.2.0

type GetMetroOutputArgs struct {
	// (Optional) Ensure that queried metro has capacity for specified number of given plans
	Capacities GetMetroCapacityArrayInput `pulumi:"capacities"`
	// The metro code
	Code pulumi.StringInput `pulumi:"code"`
}

A collection of arguments for invoking getMetro.

func (GetMetroOutputArgs) ElementType added in v3.2.0

func (GetMetroOutputArgs) ElementType() reflect.Type

type GetMetroResult

type GetMetroResult struct {
	// (Optional) Ensure that queried metro has capacity for specified number of given plans
	Capacities []GetMetroCapacity `pulumi:"capacities"`
	// The code of the metro
	Code string `pulumi:"code"`
	// The country of the metro
	Country string `pulumi:"country"`
	// The ID of the metro
	Id string `pulumi:"id"`
	// The name of the metro
	Name string `pulumi:"name"`
}

A collection of values returned by getMetro.

func GetMetro

func GetMetro(ctx *pulumi.Context, args *GetMetroArgs, opts ...pulumi.InvokeOption) (*GetMetroResult, error)

Provides an Equinix Metal metro datasource.

type GetMetroResultOutput added in v3.2.0

type GetMetroResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getMetro.

func GetMetroOutput added in v3.2.0

func GetMetroOutput(ctx *pulumi.Context, args GetMetroOutputArgs, opts ...pulumi.InvokeOption) GetMetroResultOutput

func (GetMetroResultOutput) Capacities added in v3.2.0

(Optional) Ensure that queried metro has capacity for specified number of given plans

func (GetMetroResultOutput) Code added in v3.2.0

The code of the metro

func (GetMetroResultOutput) Country added in v3.2.0

The country of the metro

func (GetMetroResultOutput) ElementType added in v3.2.0

func (GetMetroResultOutput) ElementType() reflect.Type

func (GetMetroResultOutput) Id added in v3.2.0

The ID of the metro

func (GetMetroResultOutput) Name added in v3.2.0

The name of the metro

func (GetMetroResultOutput) ToGetMetroResultOutput added in v3.2.0

func (o GetMetroResultOutput) ToGetMetroResultOutput() GetMetroResultOutput

func (GetMetroResultOutput) ToGetMetroResultOutputWithContext added in v3.2.0

func (o GetMetroResultOutput) ToGetMetroResultOutputWithContext(ctx context.Context) GetMetroResultOutput

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

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

A collection of arguments for invoking getOperatingSystem.

func (GetOperatingSystemOutputArgs) ElementType added in v3.2.0

type GetOperatingSystemResult

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

A collection of values returned by getOperatingSystem.

func GetOperatingSystem

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

Use this data source to get Equinix Metal Operating System image.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "ubuntu"
		opt1 := "20.04"
		opt2 := "c3.medium.x86"
		example, err := equinix - metal.GetOperatingSystem(ctx, &GetOperatingSystemArgs{
			Distro:          &opt0,
			Version:         &opt1,
			ProvisionableOn: &opt2,
		}, nil)
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewDevice(ctx, "server", &equinix-metal.DeviceArgs{
			Hostname: pulumi.String("tf.ubuntu"),
			Plan:     pulumi.String("c3.medium.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("ny5"),
			},
			OperatingSystem: pulumi.String(example.Id),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetOperatingSystemResultOutput added in v3.2.0

type GetOperatingSystemResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getOperatingSystem.

func GetOperatingSystemOutput added in v3.2.0

func (GetOperatingSystemResultOutput) Distro added in v3.2.0

func (GetOperatingSystemResultOutput) ElementType added in v3.2.0

func (GetOperatingSystemResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (GetOperatingSystemResultOutput) Name added in v3.2.0

func (GetOperatingSystemResultOutput) ProvisionableOn added in v3.2.0

func (GetOperatingSystemResultOutput) Slug added in v3.2.0

Operating system slug (same as `id`)

func (GetOperatingSystemResultOutput) ToGetOperatingSystemResultOutput added in v3.2.0

func (o GetOperatingSystemResultOutput) ToGetOperatingSystemResultOutput() GetOperatingSystemResultOutput

func (GetOperatingSystemResultOutput) ToGetOperatingSystemResultOutputWithContext added in v3.2.0

func (o GetOperatingSystemResultOutput) ToGetOperatingSystemResultOutputWithContext(ctx context.Context) GetOperatingSystemResultOutput

func (GetOperatingSystemResultOutput) Version added in v3.2.0

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. (for non-global blocks).
	Facility *string `pulumi:"facility"`
	// Whether to look for global block. Default is false for backward compatibility.
	Global *bool `pulumi:"global"`
	// Metro of the searched block (for non-global blocks).
	Metro *string `pulumi:"metro"`
	// 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 GetPrecreatedIpBlockOutputArgs added in v3.2.0

type GetPrecreatedIpBlockOutputArgs struct {
	// 4 or 6, depending on which block you are looking for.
	AddressFamily pulumi.IntInput `pulumi:"addressFamily"`
	// Facility of the searched block. (for non-global blocks).
	Facility pulumi.StringPtrInput `pulumi:"facility"`
	// Whether to look for global block. Default is false for backward compatibility.
	Global pulumi.BoolPtrInput `pulumi:"global"`
	// Metro of the searched block (for non-global blocks).
	Metro pulumi.StringPtrInput `pulumi:"metro"`
	// ID of the project where the searched block should be.
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// Whether to look for public or private block.
	Public pulumi.BoolInput `pulumi:"public"`
}

A collection of arguments for invoking getPrecreatedIpBlock.

func (GetPrecreatedIpBlockOutputArgs) ElementType added in v3.2.0

type GetPrecreatedIpBlockResult

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

A collection of values returned by getPrecreatedIpBlock.

func GetPrecreatedIpBlock

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

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

type GetPrecreatedIpBlockResultOutput added in v3.2.0

type GetPrecreatedIpBlockResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPrecreatedIpBlock.

func GetPrecreatedIpBlockOutput added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Address added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) AddressFamily added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Cidr added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) CidrNotation added in v3.2.0

CIDR notation of the looked up block.

func (GetPrecreatedIpBlockResultOutput) ElementType added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Facility added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Gateway added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Global added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (GetPrecreatedIpBlockResultOutput) Manageable added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Management added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Metro added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Netmask added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Network added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) ProjectId added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Public added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) Quantity added in v3.2.0

func (GetPrecreatedIpBlockResultOutput) ToGetPrecreatedIpBlockResultOutput added in v3.2.0

func (o GetPrecreatedIpBlockResultOutput) ToGetPrecreatedIpBlockResultOutput() GetPrecreatedIpBlockResultOutput

func (GetPrecreatedIpBlockResultOutput) ToGetPrecreatedIpBlockResultOutputWithContext added in v3.2.0

func (o GetPrecreatedIpBlockResultOutput) ToGetPrecreatedIpBlockResultOutputWithContext(ctx context.Context) GetPrecreatedIpBlockResultOutput

func (GetPrecreatedIpBlockResultOutput) Type added in v3.2.0

type GetProjectBgpConfig

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

type GetProjectBgpConfigArgs

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

func (GetProjectBgpConfigArgs) ElementType

func (GetProjectBgpConfigArgs) ElementType() reflect.Type

func (GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutput

func (i GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutput() GetProjectBgpConfigOutput

func (GetProjectBgpConfigArgs) ToGetProjectBgpConfigOutputWithContext

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

type GetProjectBgpConfigArray

type GetProjectBgpConfigArray []GetProjectBgpConfigInput

func (GetProjectBgpConfigArray) ElementType

func (GetProjectBgpConfigArray) ElementType() reflect.Type

func (GetProjectBgpConfigArray) ToGetProjectBgpConfigArrayOutput

func (i GetProjectBgpConfigArray) ToGetProjectBgpConfigArrayOutput() GetProjectBgpConfigArrayOutput

func (GetProjectBgpConfigArray) ToGetProjectBgpConfigArrayOutputWithContext

func (i GetProjectBgpConfigArray) ToGetProjectBgpConfigArrayOutputWithContext(ctx context.Context) GetProjectBgpConfigArrayOutput

type GetProjectBgpConfigArrayInput

type GetProjectBgpConfigArrayInput interface {
	pulumi.Input

	ToGetProjectBgpConfigArrayOutput() GetProjectBgpConfigArrayOutput
	ToGetProjectBgpConfigArrayOutputWithContext(context.Context) GetProjectBgpConfigArrayOutput
}

GetProjectBgpConfigArrayInput is an input type that accepts GetProjectBgpConfigArray and GetProjectBgpConfigArrayOutput values. You can construct a concrete instance of `GetProjectBgpConfigArrayInput` via:

GetProjectBgpConfigArray{ GetProjectBgpConfigArgs{...} }

type GetProjectBgpConfigArrayOutput

type GetProjectBgpConfigArrayOutput struct{ *pulumi.OutputState }

func (GetProjectBgpConfigArrayOutput) ElementType

func (GetProjectBgpConfigArrayOutput) Index

func (GetProjectBgpConfigArrayOutput) ToGetProjectBgpConfigArrayOutput

func (o GetProjectBgpConfigArrayOutput) ToGetProjectBgpConfigArrayOutput() GetProjectBgpConfigArrayOutput

func (GetProjectBgpConfigArrayOutput) ToGetProjectBgpConfigArrayOutputWithContext

func (o GetProjectBgpConfigArrayOutput) ToGetProjectBgpConfigArrayOutputWithContext(ctx context.Context) GetProjectBgpConfigArrayOutput

type GetProjectBgpConfigInput

type GetProjectBgpConfigInput interface {
	pulumi.Input

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

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

GetProjectBgpConfigArgs{...}

type GetProjectBgpConfigOutput

type GetProjectBgpConfigOutput struct{ *pulumi.OutputState }

func (GetProjectBgpConfigOutput) Asn

Autonomous System Number for local BGP deployment

func (GetProjectBgpConfigOutput) DeploymentType

func (o GetProjectBgpConfigOutput) DeploymentType() pulumi.StringOutput

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

func (GetProjectBgpConfigOutput) ElementType

func (GetProjectBgpConfigOutput) ElementType() reflect.Type

func (GetProjectBgpConfigOutput) MaxPrefix

The maximum number of route filters allowed per server

func (GetProjectBgpConfigOutput) Md5

Password for BGP session in plaintext (not a checksum)

func (GetProjectBgpConfigOutput) Status

status of BGP configuration in the project

func (GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutput

func (o GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutput() GetProjectBgpConfigOutput

func (GetProjectBgpConfigOutput) ToGetProjectBgpConfigOutputWithContext

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

type GetSpotMarketPriceArgs

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

A collection of arguments for invoking getSpotMarketPrice.

type GetSpotMarketPriceOutputArgs added in v3.2.0

type GetSpotMarketPriceOutputArgs struct {
	// Name of the facility.
	Facility pulumi.StringPtrInput `pulumi:"facility"`
	// Name of the metro.
	Metro pulumi.StringPtrInput `pulumi:"metro"`
	// Name of the plan.
	Plan pulumi.StringInput `pulumi:"plan"`
}

A collection of arguments for invoking getSpotMarketPrice.

func (GetSpotMarketPriceOutputArgs) ElementType added in v3.2.0

type GetSpotMarketPriceResult

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

A collection of values returned by getSpotMarketPrice.

func GetSpotMarketPrice

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

Use this data source to get Equinix Metal Spot Market Price for a plan.

## Example Usage

Lookup by facility:

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "ny5"
		_, err := equinix - metal.GetSpotMarketPrice(ctx, &GetSpotMarketPriceArgs{
			Facility: &opt0,
			Plan:     "c3.small.x86",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

Lookup by metro:

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "sv"
		_, err := equinix - metal.GetSpotMarketPrice(ctx, &GetSpotMarketPriceArgs{
			Metro: &opt0,
			Plan:  "c3.small.x86",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSpotMarketPriceResultOutput added in v3.2.0

type GetSpotMarketPriceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSpotMarketPrice.

func GetSpotMarketPriceOutput added in v3.2.0

func (GetSpotMarketPriceResultOutput) ElementType added in v3.2.0

func (GetSpotMarketPriceResultOutput) Facility added in v3.2.0

func (GetSpotMarketPriceResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (GetSpotMarketPriceResultOutput) Metro added in v3.2.0

func (GetSpotMarketPriceResultOutput) Plan added in v3.2.0

func (GetSpotMarketPriceResultOutput) Price added in v3.2.0

Current spot market price for given plan in given facility.

func (GetSpotMarketPriceResultOutput) ToGetSpotMarketPriceResultOutput added in v3.2.0

func (o GetSpotMarketPriceResultOutput) ToGetSpotMarketPriceResultOutput() GetSpotMarketPriceResultOutput

func (GetSpotMarketPriceResultOutput) ToGetSpotMarketPriceResultOutputWithContext added in v3.2.0

func (o GetSpotMarketPriceResultOutput) ToGetSpotMarketPriceResultOutputWithContext(ctx context.Context) GetSpotMarketPriceResultOutput

type GetVolumeSnapshotPolicy

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

type GetVolumeSnapshotPolicyArgs

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

func (GetVolumeSnapshotPolicyArgs) ElementType

func (GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutput

func (i GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutput() GetVolumeSnapshotPolicyOutput

func (GetVolumeSnapshotPolicyArgs) ToGetVolumeSnapshotPolicyOutputWithContext

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

type GetVolumeSnapshotPolicyArray

type GetVolumeSnapshotPolicyArray []GetVolumeSnapshotPolicyInput

func (GetVolumeSnapshotPolicyArray) ElementType

func (GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutput

func (i GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutput() GetVolumeSnapshotPolicyArrayOutput

func (GetVolumeSnapshotPolicyArray) ToGetVolumeSnapshotPolicyArrayOutputWithContext

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

type GetVolumeSnapshotPolicyArrayInput

type GetVolumeSnapshotPolicyArrayInput interface {
	pulumi.Input

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

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

GetVolumeSnapshotPolicyArray{ GetVolumeSnapshotPolicyArgs{...} }

type GetVolumeSnapshotPolicyArrayOutput

type GetVolumeSnapshotPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetVolumeSnapshotPolicyArrayOutput) ElementType

func (GetVolumeSnapshotPolicyArrayOutput) Index

func (GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutput

func (o GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutput() GetVolumeSnapshotPolicyArrayOutput

func (GetVolumeSnapshotPolicyArrayOutput) ToGetVolumeSnapshotPolicyArrayOutputWithContext

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

type GetVolumeSnapshotPolicyInput

type GetVolumeSnapshotPolicyInput interface {
	pulumi.Input

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

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

GetVolumeSnapshotPolicyArgs{...}

type GetVolumeSnapshotPolicyOutput

type GetVolumeSnapshotPolicyOutput struct{ *pulumi.OutputState }

func (GetVolumeSnapshotPolicyOutput) ElementType

func (GetVolumeSnapshotPolicyOutput) SnapshotCount

func (GetVolumeSnapshotPolicyOutput) SnapshotFrequency

func (o GetVolumeSnapshotPolicyOutput) SnapshotFrequency() pulumi.StringOutput

func (GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutput

func (o GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutput() GetVolumeSnapshotPolicyOutput

func (GetVolumeSnapshotPolicyOutput) ToGetVolumeSnapshotPolicyOutputWithContext

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

type IpAttachment

type IpAttachment struct {
	pulumi.CustomResourceState

	Address pulumi.StringOutput `pulumi:"address"`
	// Address family as integer (4 or 6)
	AddressFamily pulumi.IntOutput `pulumi:"addressFamily"`
	// length of CIDR prefix of the subnet as integer
	Cidr pulumi.IntOutput `pulumi:"cidr"`
	// CIDR notation of subnet from block reserved in the same
	// project and facility as the device
	CidrNotation pulumi.StringOutput `pulumi:"cidrNotation"`
	// ID of device to which to assign the subnet
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// IP address of gateway for the subnet
	Gateway pulumi.StringOutput `pulumi:"gateway"`
	// Flag indicating whether IP block is global, i.e. assignable in any location
	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://metal.equinix.com/developers/docs/networking/elastic-ips/).

Device and reserved block must be in the same facility.

func GetIpAttachment

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

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

func NewIpAttachment

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

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

func (*IpAttachment) ElementType

func (*IpAttachment) ElementType() reflect.Type

func (*IpAttachment) ToIpAttachmentOutput

func (i *IpAttachment) ToIpAttachmentOutput() IpAttachmentOutput

func (*IpAttachment) ToIpAttachmentOutputWithContext

func (i *IpAttachment) ToIpAttachmentOutputWithContext(ctx context.Context) IpAttachmentOutput

func (*IpAttachment) ToIpAttachmentPtrOutput

func (i *IpAttachment) ToIpAttachmentPtrOutput() IpAttachmentPtrOutput

func (*IpAttachment) ToIpAttachmentPtrOutputWithContext

func (i *IpAttachment) ToIpAttachmentPtrOutputWithContext(ctx context.Context) IpAttachmentPtrOutput

type IpAttachmentArgs

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

The set of arguments for constructing a IpAttachment resource.

func (IpAttachmentArgs) ElementType

func (IpAttachmentArgs) ElementType() reflect.Type

type IpAttachmentArray

type IpAttachmentArray []IpAttachmentInput

func (IpAttachmentArray) ElementType

func (IpAttachmentArray) ElementType() reflect.Type

func (IpAttachmentArray) ToIpAttachmentArrayOutput

func (i IpAttachmentArray) ToIpAttachmentArrayOutput() IpAttachmentArrayOutput

func (IpAttachmentArray) ToIpAttachmentArrayOutputWithContext

func (i IpAttachmentArray) ToIpAttachmentArrayOutputWithContext(ctx context.Context) IpAttachmentArrayOutput

type IpAttachmentArrayInput

type IpAttachmentArrayInput interface {
	pulumi.Input

	ToIpAttachmentArrayOutput() IpAttachmentArrayOutput
	ToIpAttachmentArrayOutputWithContext(context.Context) IpAttachmentArrayOutput
}

IpAttachmentArrayInput is an input type that accepts IpAttachmentArray and IpAttachmentArrayOutput values. You can construct a concrete instance of `IpAttachmentArrayInput` via:

IpAttachmentArray{ IpAttachmentArgs{...} }

type IpAttachmentArrayOutput

type IpAttachmentArrayOutput struct{ *pulumi.OutputState }

func (IpAttachmentArrayOutput) ElementType

func (IpAttachmentArrayOutput) ElementType() reflect.Type

func (IpAttachmentArrayOutput) Index

func (IpAttachmentArrayOutput) ToIpAttachmentArrayOutput

func (o IpAttachmentArrayOutput) ToIpAttachmentArrayOutput() IpAttachmentArrayOutput

func (IpAttachmentArrayOutput) ToIpAttachmentArrayOutputWithContext

func (o IpAttachmentArrayOutput) ToIpAttachmentArrayOutputWithContext(ctx context.Context) IpAttachmentArrayOutput

type IpAttachmentInput

type IpAttachmentInput interface {
	pulumi.Input

	ToIpAttachmentOutput() IpAttachmentOutput
	ToIpAttachmentOutputWithContext(ctx context.Context) IpAttachmentOutput
}

type IpAttachmentMap

type IpAttachmentMap map[string]IpAttachmentInput

func (IpAttachmentMap) ElementType

func (IpAttachmentMap) ElementType() reflect.Type

func (IpAttachmentMap) ToIpAttachmentMapOutput

func (i IpAttachmentMap) ToIpAttachmentMapOutput() IpAttachmentMapOutput

func (IpAttachmentMap) ToIpAttachmentMapOutputWithContext

func (i IpAttachmentMap) ToIpAttachmentMapOutputWithContext(ctx context.Context) IpAttachmentMapOutput

type IpAttachmentMapInput

type IpAttachmentMapInput interface {
	pulumi.Input

	ToIpAttachmentMapOutput() IpAttachmentMapOutput
	ToIpAttachmentMapOutputWithContext(context.Context) IpAttachmentMapOutput
}

IpAttachmentMapInput is an input type that accepts IpAttachmentMap and IpAttachmentMapOutput values. You can construct a concrete instance of `IpAttachmentMapInput` via:

IpAttachmentMap{ "key": IpAttachmentArgs{...} }

type IpAttachmentMapOutput

type IpAttachmentMapOutput struct{ *pulumi.OutputState }

func (IpAttachmentMapOutput) ElementType

func (IpAttachmentMapOutput) ElementType() reflect.Type

func (IpAttachmentMapOutput) MapIndex

func (IpAttachmentMapOutput) ToIpAttachmentMapOutput

func (o IpAttachmentMapOutput) ToIpAttachmentMapOutput() IpAttachmentMapOutput

func (IpAttachmentMapOutput) ToIpAttachmentMapOutputWithContext

func (o IpAttachmentMapOutput) ToIpAttachmentMapOutputWithContext(ctx context.Context) IpAttachmentMapOutput

type IpAttachmentOutput

type IpAttachmentOutput struct{ *pulumi.OutputState }

func (IpAttachmentOutput) ElementType

func (IpAttachmentOutput) ElementType() reflect.Type

func (IpAttachmentOutput) ToIpAttachmentOutput

func (o IpAttachmentOutput) ToIpAttachmentOutput() IpAttachmentOutput

func (IpAttachmentOutput) ToIpAttachmentOutputWithContext

func (o IpAttachmentOutput) ToIpAttachmentOutputWithContext(ctx context.Context) IpAttachmentOutput

func (IpAttachmentOutput) ToIpAttachmentPtrOutput

func (o IpAttachmentOutput) ToIpAttachmentPtrOutput() IpAttachmentPtrOutput

func (IpAttachmentOutput) ToIpAttachmentPtrOutputWithContext

func (o IpAttachmentOutput) ToIpAttachmentPtrOutputWithContext(ctx context.Context) IpAttachmentPtrOutput

type IpAttachmentPtrInput

type IpAttachmentPtrInput interface {
	pulumi.Input

	ToIpAttachmentPtrOutput() IpAttachmentPtrOutput
	ToIpAttachmentPtrOutputWithContext(ctx context.Context) IpAttachmentPtrOutput
}

type IpAttachmentPtrOutput

type IpAttachmentPtrOutput struct{ *pulumi.OutputState }

func (IpAttachmentPtrOutput) Elem added in v3.2.0

func (IpAttachmentPtrOutput) ElementType

func (IpAttachmentPtrOutput) ElementType() reflect.Type

func (IpAttachmentPtrOutput) ToIpAttachmentPtrOutput

func (o IpAttachmentPtrOutput) ToIpAttachmentPtrOutput() IpAttachmentPtrOutput

func (IpAttachmentPtrOutput) ToIpAttachmentPtrOutputWithContext

func (o IpAttachmentPtrOutput) ToIpAttachmentPtrOutputWithContext(ctx context.Context) IpAttachmentPtrOutput

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
	// Flag indicating whether IP block is global, i.e. assignable in any location
	Global     pulumi.BoolPtrInput
	Manageable pulumi.BoolPtrInput
	Management pulumi.BoolPtrInput
	// Subnet mask in decimal notation, e.g. "255.255.255.0"
	Netmask pulumi.StringPtrInput
	// Subnet network address
	Network pulumi.StringPtrInput
	// boolean flag whether subnet is reachable from the Internet
	Public pulumi.BoolPtrInput
}

func (IpAttachmentState) ElementType

func (IpAttachmentState) ElementType() reflect.Type

type IpBlockType

type IpBlockType string

func (IpBlockType) ElementType

func (IpBlockType) ElementType() reflect.Type

func (IpBlockType) ToIpBlockTypeOutput added in v3.2.0

func (e IpBlockType) ToIpBlockTypeOutput() IpBlockTypeOutput

func (IpBlockType) ToIpBlockTypeOutputWithContext added in v3.2.0

func (e IpBlockType) ToIpBlockTypeOutputWithContext(ctx context.Context) IpBlockTypeOutput

func (IpBlockType) ToIpBlockTypePtrOutput added in v3.2.0

func (e IpBlockType) ToIpBlockTypePtrOutput() IpBlockTypePtrOutput

func (IpBlockType) ToIpBlockTypePtrOutputWithContext added in v3.2.0

func (e IpBlockType) ToIpBlockTypePtrOutputWithContext(ctx context.Context) IpBlockTypePtrOutput

func (IpBlockType) ToStringOutput

func (e IpBlockType) ToStringOutput() pulumi.StringOutput

func (IpBlockType) ToStringOutputWithContext

func (e IpBlockType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (IpBlockType) ToStringPtrOutput

func (e IpBlockType) ToStringPtrOutput() pulumi.StringPtrOutput

func (IpBlockType) ToStringPtrOutputWithContext

func (e IpBlockType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type IpBlockTypeInput added in v3.2.0

type IpBlockTypeInput interface {
	pulumi.Input

	ToIpBlockTypeOutput() IpBlockTypeOutput
	ToIpBlockTypeOutputWithContext(context.Context) IpBlockTypeOutput
}

IpBlockTypeInput is an input type that accepts IpBlockTypeArgs and IpBlockTypeOutput values. You can construct a concrete instance of `IpBlockTypeInput` via:

IpBlockTypeArgs{...}

type IpBlockTypeOutput added in v3.2.0

type IpBlockTypeOutput struct{ *pulumi.OutputState }

func (IpBlockTypeOutput) ElementType added in v3.2.0

func (IpBlockTypeOutput) ElementType() reflect.Type

func (IpBlockTypeOutput) ToIpBlockTypeOutput added in v3.2.0

func (o IpBlockTypeOutput) ToIpBlockTypeOutput() IpBlockTypeOutput

func (IpBlockTypeOutput) ToIpBlockTypeOutputWithContext added in v3.2.0

func (o IpBlockTypeOutput) ToIpBlockTypeOutputWithContext(ctx context.Context) IpBlockTypeOutput

func (IpBlockTypeOutput) ToIpBlockTypePtrOutput added in v3.2.0

func (o IpBlockTypeOutput) ToIpBlockTypePtrOutput() IpBlockTypePtrOutput

func (IpBlockTypeOutput) ToIpBlockTypePtrOutputWithContext added in v3.2.0

func (o IpBlockTypeOutput) ToIpBlockTypePtrOutputWithContext(ctx context.Context) IpBlockTypePtrOutput

func (IpBlockTypeOutput) ToStringOutput added in v3.2.0

func (o IpBlockTypeOutput) ToStringOutput() pulumi.StringOutput

func (IpBlockTypeOutput) ToStringOutputWithContext added in v3.2.0

func (o IpBlockTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (IpBlockTypeOutput) ToStringPtrOutput added in v3.2.0

func (o IpBlockTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (IpBlockTypeOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o IpBlockTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type IpBlockTypePtrInput added in v3.2.0

type IpBlockTypePtrInput interface {
	pulumi.Input

	ToIpBlockTypePtrOutput() IpBlockTypePtrOutput
	ToIpBlockTypePtrOutputWithContext(context.Context) IpBlockTypePtrOutput
}

func IpBlockTypePtr added in v3.2.0

func IpBlockTypePtr(v string) IpBlockTypePtrInput

type IpBlockTypePtrOutput added in v3.2.0

type IpBlockTypePtrOutput struct{ *pulumi.OutputState }

func (IpBlockTypePtrOutput) Elem added in v3.2.0

func (IpBlockTypePtrOutput) ElementType added in v3.2.0

func (IpBlockTypePtrOutput) ElementType() reflect.Type

func (IpBlockTypePtrOutput) ToIpBlockTypePtrOutput added in v3.2.0

func (o IpBlockTypePtrOutput) ToIpBlockTypePtrOutput() IpBlockTypePtrOutput

func (IpBlockTypePtrOutput) ToIpBlockTypePtrOutputWithContext added in v3.2.0

func (o IpBlockTypePtrOutput) ToIpBlockTypePtrOutputWithContext(ctx context.Context) IpBlockTypePtrOutput

func (IpBlockTypePtrOutput) ToStringPtrOutput added in v3.2.0

func (o IpBlockTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (IpBlockTypePtrOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o IpBlockTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type LookupConnectionArgs

type LookupConnectionArgs struct {
	// ID of the connection resource
	ConnectionId string `pulumi:"connectionId"`
}

A collection of arguments for invoking getConnection.

type LookupConnectionOutputArgs added in v3.2.0

type LookupConnectionOutputArgs struct {
	// ID of the connection resource
	ConnectionId pulumi.StringInput `pulumi:"connectionId"`
}

A collection of arguments for invoking getConnection.

func (LookupConnectionOutputArgs) ElementType added in v3.2.0

func (LookupConnectionOutputArgs) ElementType() reflect.Type

type LookupConnectionResult

type LookupConnectionResult struct {
	ConnectionId string `pulumi:"connectionId"`
	// Description of the connection resource
	Description string `pulumi:"description"`
	// Slug of a facility to which the connection belongs
	Facility string `pulumi:"facility"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Slug of a metro to which the connection belongs
	Metro string `pulumi:"metro"`
	// Mode for connections in IBX facilities with the dedicated type - standard or tunnel
	Mode string `pulumi:"mode"`
	// Port name
	Name string `pulumi:"name"`
	// ID of organization to which the connection belongs
	OrganizationId string `pulumi:"organizationId"`
	// List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`)
	Ports []GetConnectionPort `pulumi:"ports"`
	// ID of project to which the connection belongs
	ProjectId string `pulumi:"projectId"`
	// Connection redundancy, reduntant or primary
	Redundancy string `pulumi:"redundancy"`
	// Port speed in bits per second
	Speed int `pulumi:"speed"`
	// Port status
	Status string `pulumi:"status"`
	// String list of tags
	Tags []string `pulumi:"tags"`
	// Fabric Token for the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard)
	Token string `pulumi:"token"`
	// Connection type, dedicated or shared
	Type string `pulumi:"type"`
}

A collection of values returned by getConnection.

func LookupConnection

func LookupConnection(ctx *pulumi.Context, args *LookupConnectionArgs, opts ...pulumi.InvokeOption) (*LookupConnectionResult, error)

Use this data source to retrieve a connection resource from [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.LookupConnection(ctx, &GetConnectionArgs{
			ConnectionId: "4347e805-eb46-4699-9eb9-5c116e6a017d",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupConnectionResultOutput added in v3.2.0

type LookupConnectionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getConnection.

func LookupConnectionOutput added in v3.2.0

func (LookupConnectionResultOutput) ConnectionId added in v3.2.0

func (LookupConnectionResultOutput) Description added in v3.2.0

Description of the connection resource

func (LookupConnectionResultOutput) ElementType added in v3.2.0

func (LookupConnectionResultOutput) Facility added in v3.2.0

Slug of a facility to which the connection belongs

func (LookupConnectionResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (LookupConnectionResultOutput) Metro added in v3.2.0

Slug of a metro to which the connection belongs

func (LookupConnectionResultOutput) Mode added in v3.2.0

Mode for connections in IBX facilities with the dedicated type - standard or tunnel

func (LookupConnectionResultOutput) Name added in v3.2.0

Port name

func (LookupConnectionResultOutput) OrganizationId added in v3.2.0

ID of organization to which the connection belongs

func (LookupConnectionResultOutput) Ports added in v3.2.0

List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`)

func (LookupConnectionResultOutput) ProjectId added in v3.2.0

ID of project to which the connection belongs

func (LookupConnectionResultOutput) Redundancy added in v3.2.0

Connection redundancy, reduntant or primary

func (LookupConnectionResultOutput) Speed added in v3.2.0

Port speed in bits per second

func (LookupConnectionResultOutput) Status added in v3.2.0

Port status

func (LookupConnectionResultOutput) Tags added in v3.2.0

String list of tags

func (LookupConnectionResultOutput) ToLookupConnectionResultOutput added in v3.2.0

func (o LookupConnectionResultOutput) ToLookupConnectionResultOutput() LookupConnectionResultOutput

func (LookupConnectionResultOutput) ToLookupConnectionResultOutputWithContext added in v3.2.0

func (o LookupConnectionResultOutput) ToLookupConnectionResultOutputWithContext(ctx context.Context) LookupConnectionResultOutput

func (LookupConnectionResultOutput) Token added in v3.2.0

Fabric Token for the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard)

func (LookupConnectionResultOutput) Type added in v3.2.0

Connection type, dedicated or shared

type LookupDeviceArgs

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

A collection of arguments for invoking getDevice.

type LookupDeviceOutputArgs added in v3.2.0

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

A collection of arguments for invoking getDevice.

func (LookupDeviceOutputArgs) ElementType added in v3.2.0

func (LookupDeviceOutputArgs) ElementType() reflect.Type

type LookupDeviceResult

type LookupDeviceResult struct {
	// The ipv4 private IP assigned to the device
	AccessPrivateIpv4 string `pulumi:"accessPrivateIpv4"`
	// The ipv4 management IP assigned to the device
	AccessPublicIpv4 string `pulumi:"accessPublicIpv4"`
	// The ipv6 management IP assigned to the device
	AccessPublicIpv6 string `pulumi:"accessPublicIpv6"`
	AlwaysPxe        bool   `pulumi:"alwaysPxe"`
	// The billing cycle of the device (monthly or hourly)
	BillingCycle string `pulumi:"billingCycle"`
	// Description string for the device
	Description string `pulumi:"description"`
	DeviceId    string `pulumi:"deviceId"`
	// The facility where the device is deployed.
	Facility string `pulumi:"facility"`
	// The id of hardware reservation which this device occupies
	HardwareReservationId string `pulumi:"hardwareReservationId"`
	Hostname              string `pulumi:"hostname"`
	// The provider-assigned unique ID for this managed resource.
	Id            string `pulumi:"id"`
	IpxeScriptUrl string `pulumi:"ipxeScriptUrl"`
	// The metro where the device is deployed
	Metro string `pulumi:"metro"`
	// 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 `metal_device.name.network.0`
	// * IPv6 at `metal_device.name.network.1`
	// * Private IPv4 at `metal_device.name.network.2`
	//   Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list).
	//   The fields of the network attributes are:
	Networks []GetDeviceNetwork `pulumi:"networks"`
	// The operating system running on the device
	OperatingSystem string `pulumi:"operatingSystem"`
	// The hardware config of the device
	Plan string `pulumi:"plan"`
	// Ports assigned to the device
	Ports     []GetDevicePort `pulumi:"ports"`
	ProjectId string          `pulumi:"projectId"`
	// Root password to the server (if still available)
	RootPassword string `pulumi:"rootPassword"`
	// List of IDs of SSH keys deployed in the device, can be both user or project SSH keys
	SshKeyIds []string `pulumi:"sshKeyIds"`
	// The state of the device
	State   string `pulumi:"state"`
	Storage string `pulumi:"storage"`
	// Tags attached to the device
	Tags []string `pulumi:"tags"`
}

A collection of values returned by getDevice.

func LookupDevice

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

Provides an Equinix Metal 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).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := local.Project_id
		opt1 := "mydevice"
		test, err := equinix - metal.LookupDevice(ctx, &GetDeviceArgs{
			ProjectId: &opt0,
			Hostname:  &opt1,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", test.Id)
		return nil
	})
}

```

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := equinix - metal.LookupDevice(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("ipv4", test.AccessPublicIpv4)
		return nil
	})
}

```

type LookupDeviceResultOutput added in v3.2.0

type LookupDeviceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDevice.

func LookupDeviceOutput added in v3.2.0

func LookupDeviceOutput(ctx *pulumi.Context, args LookupDeviceOutputArgs, opts ...pulumi.InvokeOption) LookupDeviceResultOutput

func (LookupDeviceResultOutput) AccessPrivateIpv4 added in v3.2.0

func (o LookupDeviceResultOutput) AccessPrivateIpv4() pulumi.StringOutput

The ipv4 private IP assigned to the device

func (LookupDeviceResultOutput) AccessPublicIpv4 added in v3.2.0

func (o LookupDeviceResultOutput) AccessPublicIpv4() pulumi.StringOutput

The ipv4 management IP assigned to the device

func (LookupDeviceResultOutput) AccessPublicIpv6 added in v3.2.0

func (o LookupDeviceResultOutput) AccessPublicIpv6() pulumi.StringOutput

The ipv6 management IP assigned to the device

func (LookupDeviceResultOutput) AlwaysPxe added in v3.2.0

func (LookupDeviceResultOutput) BillingCycle added in v3.2.0

func (o LookupDeviceResultOutput) BillingCycle() pulumi.StringOutput

The billing cycle of the device (monthly or hourly)

func (LookupDeviceResultOutput) Description added in v3.2.0

Description string for the device

func (LookupDeviceResultOutput) DeviceId added in v3.2.0

func (LookupDeviceResultOutput) ElementType added in v3.2.0

func (LookupDeviceResultOutput) ElementType() reflect.Type

func (LookupDeviceResultOutput) Facility added in v3.2.0

The facility where the device is deployed.

func (LookupDeviceResultOutput) HardwareReservationId added in v3.2.0

func (o LookupDeviceResultOutput) HardwareReservationId() pulumi.StringOutput

The id of hardware reservation which this device occupies

func (LookupDeviceResultOutput) Hostname added in v3.2.0

func (LookupDeviceResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (LookupDeviceResultOutput) IpxeScriptUrl added in v3.2.0

func (o LookupDeviceResultOutput) IpxeScriptUrl() pulumi.StringOutput

func (LookupDeviceResultOutput) Metro added in v3.2.0

The metro where the device is deployed

func (LookupDeviceResultOutput) NetworkType added in v3.2.0

L2 network type of the device, one of "layer3", "layer2-bonded", "layer2-individual", "hybrid"

func (LookupDeviceResultOutput) Networks added in v3.2.0

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 `metal_device.name.network.0`
  • IPv6 at `metal_device.name.network.1`
  • Private IPv4 at `metal_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:

func (LookupDeviceResultOutput) OperatingSystem added in v3.2.0

func (o LookupDeviceResultOutput) OperatingSystem() pulumi.StringOutput

The operating system running on the device

func (LookupDeviceResultOutput) Plan added in v3.2.0

The hardware config of the device

func (LookupDeviceResultOutput) Ports added in v3.2.0

Ports assigned to the device

func (LookupDeviceResultOutput) ProjectId added in v3.2.0

func (LookupDeviceResultOutput) RootPassword added in v3.2.0

func (o LookupDeviceResultOutput) RootPassword() pulumi.StringOutput

Root password to the server (if still available)

func (LookupDeviceResultOutput) SshKeyIds added in v3.2.0

List of IDs of SSH keys deployed in the device, can be both user or project SSH keys

func (LookupDeviceResultOutput) State added in v3.2.0

The state of the device

func (LookupDeviceResultOutput) Storage added in v3.2.0

func (LookupDeviceResultOutput) Tags added in v3.2.0

Tags attached to the device

func (LookupDeviceResultOutput) ToLookupDeviceResultOutput added in v3.2.0

func (o LookupDeviceResultOutput) ToLookupDeviceResultOutput() LookupDeviceResultOutput

func (LookupDeviceResultOutput) ToLookupDeviceResultOutputWithContext added in v3.2.0

func (o LookupDeviceResultOutput) ToLookupDeviceResultOutputWithContext(ctx context.Context) LookupDeviceResultOutput

type LookupGatewayArgs

type LookupGatewayArgs struct {
	// UUID of the metal gateway resource to retrieve
	GatewayId string `pulumi:"gatewayId"`
}

A collection of arguments for invoking getGateway.

type LookupGatewayOutputArgs added in v3.2.0

type LookupGatewayOutputArgs struct {
	// UUID of the metal gateway resource to retrieve
	GatewayId pulumi.StringInput `pulumi:"gatewayId"`
}

A collection of arguments for invoking getGateway.

func (LookupGatewayOutputArgs) ElementType added in v3.2.0

func (LookupGatewayOutputArgs) ElementType() reflect.Type

type LookupGatewayResult

type LookupGatewayResult struct {
	GatewayId string `pulumi:"gatewayId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// UUID of IP reservation block bound to the gateway
	IpReservationId string `pulumi:"ipReservationId"`
	// Size of the private IPv4 subnet bound to this metal gateway, one of (8, 16, 32, 64, 128)`
	PrivateIpv4SubnetSize int `pulumi:"privateIpv4SubnetSize"`
	// UUID of the project where the gateway is scoped to
	ProjectId string `pulumi:"projectId"`
	// Status of the gateway resource
	State string `pulumi:"state"`
	// UUID of the VLAN where the gateway is scoped to
	VlanId string `pulumi:"vlanId"`
}

A collection of values returned by getGateway.

func LookupGateway

func LookupGateway(ctx *pulumi.Context, args *LookupGatewayArgs, opts ...pulumi.InvokeOption) (*LookupGatewayResult, error)

Use this datasource to retrieve Metal Gateway resources in Equinix Metal.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewVlan(ctx, "testVlan", &equinix-metal.VlanArgs{
			Description: pulumi.String("test VLAN in SV"),
			Metro:       pulumi.String("sv"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.LookupGateway(ctx, &GetGatewayArgs{
			GatewayId: local.Gateway_id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupGatewayResultOutput added in v3.2.0

type LookupGatewayResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGateway.

func LookupGatewayOutput added in v3.2.0

func LookupGatewayOutput(ctx *pulumi.Context, args LookupGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupGatewayResultOutput

func (LookupGatewayResultOutput) ElementType added in v3.2.0

func (LookupGatewayResultOutput) ElementType() reflect.Type

func (LookupGatewayResultOutput) GatewayId added in v3.2.0

func (LookupGatewayResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (LookupGatewayResultOutput) IpReservationId added in v3.2.0

func (o LookupGatewayResultOutput) IpReservationId() pulumi.StringOutput

UUID of IP reservation block bound to the gateway

func (LookupGatewayResultOutput) PrivateIpv4SubnetSize added in v3.2.0

func (o LookupGatewayResultOutput) PrivateIpv4SubnetSize() pulumi.IntOutput

Size of the private IPv4 subnet bound to this metal gateway, one of (8, 16, 32, 64, 128)`

func (LookupGatewayResultOutput) ProjectId added in v3.2.0

UUID of the project where the gateway is scoped to

func (LookupGatewayResultOutput) State added in v3.2.0

Status of the gateway resource

func (LookupGatewayResultOutput) ToLookupGatewayResultOutput added in v3.2.0

func (o LookupGatewayResultOutput) ToLookupGatewayResultOutput() LookupGatewayResultOutput

func (LookupGatewayResultOutput) ToLookupGatewayResultOutputWithContext added in v3.2.0

func (o LookupGatewayResultOutput) ToLookupGatewayResultOutputWithContext(ctx context.Context) LookupGatewayResultOutput

func (LookupGatewayResultOutput) VlanId added in v3.2.0

UUID of the VLAN where the gateway is scoped to

type LookupOrganizationArgs

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

A collection of arguments for invoking getOrganization.

type LookupOrganizationOutputArgs added in v3.2.0

type LookupOrganizationOutputArgs struct {
	// The organization name
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The UUID of the organization resource
	OrganizationId pulumi.StringPtrInput `pulumi:"organizationId"`
}

A collection of arguments for invoking getOrganization.

func (LookupOrganizationOutputArgs) ElementType added in v3.2.0

type LookupOrganizationResult

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

A collection of values returned by getOrganization.

func LookupOrganization

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

Provides an Equinix Metal organization datasource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := local.Org_id
		test, err := equinix - metal.LookupOrganization(ctx, &GetOrganizationArgs{
			OrganizationId: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("projectsInTheOrg", test.ProjectIds)
		return nil
	})
}

```

type LookupOrganizationResultOutput added in v3.2.0

type LookupOrganizationResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getOrganization.

func LookupOrganizationOutput added in v3.2.0

func (LookupOrganizationResultOutput) Description added in v3.2.0

Description string

func (LookupOrganizationResultOutput) ElementType added in v3.2.0

func (LookupOrganizationResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

Logo URL

func (LookupOrganizationResultOutput) Name added in v3.2.0

func (LookupOrganizationResultOutput) OrganizationId added in v3.2.0

func (LookupOrganizationResultOutput) ProjectIds added in v3.2.0

UUIDs of project resources which belong to this organization

func (LookupOrganizationResultOutput) ToLookupOrganizationResultOutput added in v3.2.0

func (o LookupOrganizationResultOutput) ToLookupOrganizationResultOutput() LookupOrganizationResultOutput

func (LookupOrganizationResultOutput) ToLookupOrganizationResultOutputWithContext added in v3.2.0

func (o LookupOrganizationResultOutput) ToLookupOrganizationResultOutputWithContext(ctx context.Context) LookupOrganizationResultOutput

func (LookupOrganizationResultOutput) Twitter added in v3.2.0

Twitter handle

func (LookupOrganizationResultOutput) Website added in v3.2.0

Website link

type LookupPortArgs added in v3.1.0

type LookupPortArgs struct {
	DeviceId *string `pulumi:"deviceId"`
	// Whether to look for public or private block.
	Name   *string `pulumi:"name"`
	PortId *string `pulumi:"portId"`
}

A collection of arguments for invoking getPort.

type LookupPortOutputArgs added in v3.2.0

type LookupPortOutputArgs struct {
	DeviceId pulumi.StringPtrInput `pulumi:"deviceId"`
	// Whether to look for public or private block.
	Name   pulumi.StringPtrInput `pulumi:"name"`
	PortId pulumi.StringPtrInput `pulumi:"portId"`
}

A collection of arguments for invoking getPort.

func (LookupPortOutputArgs) ElementType added in v3.2.0

func (LookupPortOutputArgs) ElementType() reflect.Type

type LookupPortResult added in v3.1.0

type LookupPortResult struct {
	// UUID of the bond port"
	BondId string `pulumi:"bondId"`
	// Name of the bond port
	BondName string `pulumi:"bondName"`
	// Flag indicating whether the port is bonded
	Bonded   bool    `pulumi:"bonded"`
	DeviceId *string `pulumi:"deviceId"`
	// Flag indicating whether the port can be removed from a bond
	DisbondSupported bool `pulumi:"disbondSupported"`
	// The provider-assigned unique ID for this managed resource.
	Id     string `pulumi:"id"`
	Layer2 bool   `pulumi:"layer2"`
	// MAC address of the port
	Mac  string `pulumi:"mac"`
	Name string `pulumi:"name"`
	// UUID of native VLAN of the port
	NativeVlanId string `pulumi:"nativeVlanId"`
	// One of layer2-bonded, layer2-individual, layer3, hybrid, hybrid-bonded
	NetworkType string  `pulumi:"networkType"`
	PortId      *string `pulumi:"portId"`
	// Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports
	Type string `pulumi:"type"`
	// UUIDs of attached VLANs
	VlanIds []string `pulumi:"vlanIds"`
	// VXLAN ids of attached VLANs
	VxlanIds []int `pulumi:"vxlanIds"`
}

A collection of values returned by getPort.

func LookupPort added in v3.1.0

func LookupPort(ctx *pulumi.Context, args *LookupPortArgs, opts ...pulumi.InvokeOption) (*LookupPortResult, error)

Use this data source to read ports of existing devices. You can read port by either its UUID, or by a device UUID and port name.

## Example Usage

Create a device and read it's eth0 port to the datasource.

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		projectId := "<UUID_of_your_project>"
		testDevice, err := equinix - metal.NewDevice(ctx, "testDevice", &equinix-metal.DeviceArgs{
			Hostname: pulumi.String("tfacc-test-device-port"),
			Plan:     pulumi.String("c3.medium.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("sv15"),
			},
			OperatingSystem: pulumi.String("ubuntu_20_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.String(projectId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupPortResultOutput added in v3.2.0

type LookupPortResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPort.

func LookupPortOutput added in v3.2.0

func LookupPortOutput(ctx *pulumi.Context, args LookupPortOutputArgs, opts ...pulumi.InvokeOption) LookupPortResultOutput

func (LookupPortResultOutput) BondId added in v3.2.0

UUID of the bond port"

func (LookupPortResultOutput) BondName added in v3.2.0

Name of the bond port

func (LookupPortResultOutput) Bonded added in v3.2.0

Flag indicating whether the port is bonded

func (LookupPortResultOutput) DeviceId added in v3.2.0

func (LookupPortResultOutput) DisbondSupported added in v3.2.0

func (o LookupPortResultOutput) DisbondSupported() pulumi.BoolOutput

Flag indicating whether the port can be removed from a bond

func (LookupPortResultOutput) ElementType added in v3.2.0

func (LookupPortResultOutput) ElementType() reflect.Type

func (LookupPortResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (LookupPortResultOutput) Layer2 added in v3.2.0

func (LookupPortResultOutput) Mac added in v3.2.0

MAC address of the port

func (LookupPortResultOutput) Name added in v3.2.0

func (LookupPortResultOutput) NativeVlanId added in v3.2.0

func (o LookupPortResultOutput) NativeVlanId() pulumi.StringOutput

UUID of native VLAN of the port

func (LookupPortResultOutput) NetworkType added in v3.2.0

func (o LookupPortResultOutput) NetworkType() pulumi.StringOutput

One of layer2-bonded, layer2-individual, layer3, hybrid, hybrid-bonded

func (LookupPortResultOutput) PortId added in v3.2.0

func (LookupPortResultOutput) ToLookupPortResultOutput added in v3.2.0

func (o LookupPortResultOutput) ToLookupPortResultOutput() LookupPortResultOutput

func (LookupPortResultOutput) ToLookupPortResultOutputWithContext added in v3.2.0

func (o LookupPortResultOutput) ToLookupPortResultOutputWithContext(ctx context.Context) LookupPortResultOutput

func (LookupPortResultOutput) Type added in v3.2.0

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

func (LookupPortResultOutput) VlanIds added in v3.2.0

UUIDs of attached VLANs

func (LookupPortResultOutput) VxlanIds added in v3.2.0

VXLAN ids of attached VLANs

type LookupProjectArgs

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

A collection of arguments for invoking getProject.

type LookupProjectOutputArgs added in v3.2.0

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

A collection of arguments for invoking getProject.

func (LookupProjectOutputArgs) ElementType added in v3.2.0

func (LookupProjectOutputArgs) ElementType() reflect.Type

type LookupProjectResult

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

A collection of values returned by getProject.

func LookupProject

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

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "Terraform Fun"
		tfProject1, err := equinix - metal.LookupProject(ctx, &GetProjectArgs{
			Name: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("usersOfTerraformFun", tfProject1.UserIds)
		return nil
	})
}

```

type LookupProjectResultOutput added in v3.2.0

type LookupProjectResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProject.

func LookupProjectOutput added in v3.2.0

func LookupProjectOutput(ctx *pulumi.Context, args LookupProjectOutputArgs, opts ...pulumi.InvokeOption) LookupProjectResultOutput

func (LookupProjectResultOutput) BackendTransfer added in v3.2.0

func (o LookupProjectResultOutput) BackendTransfer() pulumi.BoolOutput

Whether Backend Transfer is enabled for this project

func (LookupProjectResultOutput) BgpConfigs added in v3.2.0

Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/).

func (LookupProjectResultOutput) Created added in v3.2.0

The timestamp for when the project was created

func (LookupProjectResultOutput) ElementType added in v3.2.0

func (LookupProjectResultOutput) ElementType() reflect.Type

func (LookupProjectResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (LookupProjectResultOutput) Name added in v3.2.0

func (LookupProjectResultOutput) OrganizationId added in v3.2.0

func (o LookupProjectResultOutput) OrganizationId() pulumi.StringOutput

The UUID of this project's parent organization

func (LookupProjectResultOutput) PaymentMethodId added in v3.2.0

func (o LookupProjectResultOutput) PaymentMethodId() pulumi.StringOutput

The UUID of payment method for this project

func (LookupProjectResultOutput) ProjectId added in v3.2.0

func (LookupProjectResultOutput) ToLookupProjectResultOutput added in v3.2.0

func (o LookupProjectResultOutput) ToLookupProjectResultOutput() LookupProjectResultOutput

func (LookupProjectResultOutput) ToLookupProjectResultOutputWithContext added in v3.2.0

func (o LookupProjectResultOutput) ToLookupProjectResultOutputWithContext(ctx context.Context) LookupProjectResultOutput

func (LookupProjectResultOutput) Updated added in v3.2.0

The timestamp for the last time the project was updated

func (LookupProjectResultOutput) UserIds added in v3.2.0

List of UUIDs of user accounts which belong to this project

type LookupProjectSshKeyArgs

type LookupProjectSshKeyArgs struct {
	// The id of the SSH Key to search for in the Equinix Metal project
	Id *string `pulumi:"id"`
	// The Equinix Metal project id of the Equinix Metal SSH Key
	ProjectId string `pulumi:"projectId"`
	// The name, fingerprint, or publicKey of the SSH Key to search for
	// in the Equinix Metal project
	Search *string `pulumi:"search"`
}

A collection of arguments for invoking getProjectSshKey.

type LookupProjectSshKeyOutputArgs added in v3.2.0

type LookupProjectSshKeyOutputArgs struct {
	// The id of the SSH Key to search for in the Equinix Metal project
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The Equinix Metal project id of the Equinix Metal SSH Key
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// The name, fingerprint, or publicKey of the SSH Key to search for
	// in the Equinix Metal project
	Search pulumi.StringPtrInput `pulumi:"search"`
}

A collection of arguments for invoking getProjectSshKey.

func (LookupProjectSshKeyOutputArgs) ElementType added in v3.2.0

type LookupProjectSshKeyResult

type LookupProjectSshKeyResult struct {
	// The timestamp for when the SSH key was created
	Created string `pulumi:"created"`
	// The fingerprint of the SSH key
	Fingerprint string `pulumi:"fingerprint"`
	// The unique ID of the key
	Id string `pulumi:"id"`
	// The name of the SSH key
	Name string `pulumi:"name"`
	// The ID of parent project (same as project_id)
	OwnerId string `pulumi:"ownerId"`
	// The ID of parent project
	ProjectId string `pulumi:"projectId"`
	// The text of the public key
	PublicKey string  `pulumi:"publicKey"`
	Search    *string `pulumi:"search"`
	// The timestamp for the last time the SSH key was updated
	Updated string `pulumi:"updated"`
}

A collection of values returned by getProjectSshKey.

func LookupProjectSshKey

func LookupProjectSshKey(ctx *pulumi.Context, args *LookupProjectSshKeyArgs, opts ...pulumi.InvokeOption) (*LookupProjectSshKeyResult, error)

Use this datasource to retrieve attributes of a Project SSH Key API resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "username@hostname"
		_, err := equinix - metal.LookupProjectSshKey(ctx, &GetProjectSshKeyArgs{
			Search:    &opt0,
			ProjectId: local.Project_id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupProjectSshKeyResultOutput added in v3.2.0

type LookupProjectSshKeyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProjectSshKey.

func LookupProjectSshKeyOutput added in v3.2.0

func (LookupProjectSshKeyResultOutput) Created added in v3.2.0

The timestamp for when the SSH key was created

func (LookupProjectSshKeyResultOutput) ElementType added in v3.2.0

func (LookupProjectSshKeyResultOutput) Fingerprint added in v3.2.0

The fingerprint of the SSH key

func (LookupProjectSshKeyResultOutput) Id added in v3.2.0

The unique ID of the key

func (LookupProjectSshKeyResultOutput) Name added in v3.2.0

The name of the SSH key

func (LookupProjectSshKeyResultOutput) OwnerId added in v3.2.0

The ID of parent project (same as project_id)

func (LookupProjectSshKeyResultOutput) ProjectId added in v3.2.0

The ID of parent project

func (LookupProjectSshKeyResultOutput) PublicKey added in v3.2.0

The text of the public key

func (LookupProjectSshKeyResultOutput) Search added in v3.2.0

func (LookupProjectSshKeyResultOutput) ToLookupProjectSshKeyResultOutput added in v3.2.0

func (o LookupProjectSshKeyResultOutput) ToLookupProjectSshKeyResultOutput() LookupProjectSshKeyResultOutput

func (LookupProjectSshKeyResultOutput) ToLookupProjectSshKeyResultOutputWithContext added in v3.2.0

func (o LookupProjectSshKeyResultOutput) ToLookupProjectSshKeyResultOutputWithContext(ctx context.Context) LookupProjectSshKeyResultOutput

func (LookupProjectSshKeyResultOutput) Updated added in v3.2.0

The timestamp for the last time the SSH key was updated

type LookupReservedIpBlockArgs

type LookupReservedIpBlockArgs struct {
	// UUID of the IP address block to look up
	Id *string `pulumi:"id"`
	// Block containing this IP address will be returned
	IpAddress *string `pulumi:"ipAddress"`
	// UUID of the project where the searched block should be
	ProjectId *string `pulumi:"projectId"`
}

A collection of arguments for invoking getReservedIpBlock.

type LookupReservedIpBlockOutputArgs added in v3.2.0

type LookupReservedIpBlockOutputArgs struct {
	// UUID of the IP address block to look up
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Block containing this IP address will be returned
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	// UUID of the project where the searched block should be
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
}

A collection of arguments for invoking getReservedIpBlock.

func (LookupReservedIpBlockOutputArgs) ElementType added in v3.2.0

type LookupReservedIpBlockResult

type LookupReservedIpBlockResult struct {
	Address       string  `pulumi:"address"`
	AddressFamily int     `pulumi:"addressFamily"`
	Cidr          int     `pulumi:"cidr"`
	CidrNotation  string  `pulumi:"cidrNotation"`
	Facility      string  `pulumi:"facility"`
	Gateway       string  `pulumi:"gateway"`
	Global        bool    `pulumi:"global"`
	Id            string  `pulumi:"id"`
	IpAddress     *string `pulumi:"ipAddress"`
	Manageable    bool    `pulumi:"manageable"`
	Management    bool    `pulumi:"management"`
	Metro         string  `pulumi:"metro"`
	Netmask       string  `pulumi:"netmask"`
	Network       string  `pulumi:"network"`
	ProjectId     string  `pulumi:"projectId"`
	Public        bool    `pulumi:"public"`
	Quantity      int     `pulumi:"quantity"`
	Type          string  `pulumi:"type"`
}

A collection of values returned by getReservedIpBlock.

func LookupReservedIpBlock

func LookupReservedIpBlock(ctx *pulumi.Context, args *LookupReservedIpBlockArgs, opts ...pulumi.InvokeOption) (*LookupReservedIpBlockResult, error)

Use this data source to find IP address blocks in Equinix Metal. You can use IP address or a block ID for lookup.

type LookupReservedIpBlockResultOutput added in v3.2.0

type LookupReservedIpBlockResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getReservedIpBlock.

func LookupReservedIpBlockOutput added in v3.2.0

func (LookupReservedIpBlockResultOutput) Address added in v3.2.0

func (LookupReservedIpBlockResultOutput) AddressFamily added in v3.2.0

func (LookupReservedIpBlockResultOutput) Cidr added in v3.2.0

func (LookupReservedIpBlockResultOutput) CidrNotation added in v3.2.0

func (LookupReservedIpBlockResultOutput) ElementType added in v3.2.0

func (LookupReservedIpBlockResultOutput) Facility added in v3.2.0

func (LookupReservedIpBlockResultOutput) Gateway added in v3.2.0

func (LookupReservedIpBlockResultOutput) Global added in v3.2.0

func (LookupReservedIpBlockResultOutput) Id added in v3.2.0

func (LookupReservedIpBlockResultOutput) IpAddress added in v3.2.0

func (LookupReservedIpBlockResultOutput) Manageable added in v3.2.0

func (LookupReservedIpBlockResultOutput) Management added in v3.2.0

func (LookupReservedIpBlockResultOutput) Metro added in v3.2.0

func (LookupReservedIpBlockResultOutput) Netmask added in v3.2.0

func (LookupReservedIpBlockResultOutput) Network added in v3.2.0

func (LookupReservedIpBlockResultOutput) ProjectId added in v3.2.0

func (LookupReservedIpBlockResultOutput) Public added in v3.2.0

func (LookupReservedIpBlockResultOutput) Quantity added in v3.2.0

func (LookupReservedIpBlockResultOutput) ToLookupReservedIpBlockResultOutput added in v3.2.0

func (o LookupReservedIpBlockResultOutput) ToLookupReservedIpBlockResultOutput() LookupReservedIpBlockResultOutput

func (LookupReservedIpBlockResultOutput) ToLookupReservedIpBlockResultOutputWithContext added in v3.2.0

func (o LookupReservedIpBlockResultOutput) ToLookupReservedIpBlockResultOutputWithContext(ctx context.Context) LookupReservedIpBlockResultOutput

func (LookupReservedIpBlockResultOutput) Type added in v3.2.0

type LookupSpotMarketRequestArgs

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

A collection of arguments for invoking getSpotMarketRequest.

type LookupSpotMarketRequestOutputArgs added in v3.2.0

type LookupSpotMarketRequestOutputArgs struct {
	// The id of the Spot Market Request
	RequestId pulumi.StringInput `pulumi:"requestId"`
}

A collection of arguments for invoking getSpotMarketRequest.

func (LookupSpotMarketRequestOutputArgs) ElementType added in v3.2.0

type LookupSpotMarketRequestResult

type LookupSpotMarketRequestResult struct {
	// List of IDs of devices spawned by the referenced Spot Market Request
	DeviceIds []string `pulumi:"deviceIds"`
	// Maximum number devices to be created
	DevicesMax int `pulumi:"devicesMax"`
	// Miniumum number devices to be created
	DevicesMin int `pulumi:"devicesMin"`
	// Date and time When the spot market request will be ended.
	EndAt string `pulumi:"endAt"`
	// Facility IDs where devices should be created
	Facilities []string `pulumi:"facilities"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Maximum price user is willing to pay per hour per device
	MaxBidPrice float64 `pulumi:"maxBidPrice"`
	// Metro where devices should be created.
	Metro string `pulumi:"metro"`
	// The device plan slug.
	Plan string `pulumi:"plan"`
	// Project ID
	ProjectId string `pulumi:"projectId"`
	RequestId string `pulumi:"requestId"`
}

A collection of values returned by getSpotMarketRequest.

type LookupSpotMarketRequestResultOutput added in v3.2.0

type LookupSpotMarketRequestResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSpotMarketRequest.

func (LookupSpotMarketRequestResultOutput) DeviceIds added in v3.2.0

List of IDs of devices spawned by the referenced Spot Market Request

func (LookupSpotMarketRequestResultOutput) DevicesMax added in v3.2.0

Maximum number devices to be created

func (LookupSpotMarketRequestResultOutput) DevicesMin added in v3.2.0

Miniumum number devices to be created

func (LookupSpotMarketRequestResultOutput) ElementType added in v3.2.0

func (LookupSpotMarketRequestResultOutput) EndAt added in v3.2.0

Date and time When the spot market request will be ended.

func (LookupSpotMarketRequestResultOutput) Facilities added in v3.2.0

Facility IDs where devices should be created

func (LookupSpotMarketRequestResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (LookupSpotMarketRequestResultOutput) MaxBidPrice added in v3.2.0

Maximum price user is willing to pay per hour per device

func (LookupSpotMarketRequestResultOutput) Metro added in v3.2.0

Metro where devices should be created.

func (LookupSpotMarketRequestResultOutput) Plan added in v3.2.0

The device plan slug.

func (LookupSpotMarketRequestResultOutput) ProjectId added in v3.2.0

Project ID

func (LookupSpotMarketRequestResultOutput) RequestId added in v3.2.0

func (LookupSpotMarketRequestResultOutput) ToLookupSpotMarketRequestResultOutput added in v3.2.0

func (o LookupSpotMarketRequestResultOutput) ToLookupSpotMarketRequestResultOutput() LookupSpotMarketRequestResultOutput

func (LookupSpotMarketRequestResultOutput) ToLookupSpotMarketRequestResultOutputWithContext added in v3.2.0

func (o LookupSpotMarketRequestResultOutput) ToLookupSpotMarketRequestResultOutputWithContext(ctx context.Context) LookupSpotMarketRequestResultOutput

type LookupVirtualCircuitArgs

type LookupVirtualCircuitArgs struct {
	// ID of the virtual circuit resource
	VirtualCircuitId string `pulumi:"virtualCircuitId"`
}

A collection of arguments for invoking getVirtualCircuit.

type LookupVirtualCircuitOutputArgs added in v3.2.0

type LookupVirtualCircuitOutputArgs struct {
	// ID of the virtual circuit resource
	VirtualCircuitId pulumi.StringInput `pulumi:"virtualCircuitId"`
}

A collection of arguments for invoking getVirtualCircuit.

func (LookupVirtualCircuitOutputArgs) ElementType added in v3.2.0

type LookupVirtualCircuitResult

type LookupVirtualCircuitResult struct {
	// Description for the Virtual Circuit resource
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Name of the virtual circuit resource
	Name    string `pulumi:"name"`
	NniVlan int    `pulumi:"nniVlan"`
	NniVnid int    `pulumi:"nniVnid"`
	// ID of project to which the VC belongs
	// * `vnid`, `nniVlan`, `nniNvid` - VLAN parameters, see the [documentation for Equinix Fabric](https://metal.equinix.com/developers/docs/networking/fabric/)
	ProjectId string `pulumi:"projectId"`
	// Status of the virtal circuit
	Status string `pulumi:"status"`
	// Tags for the Virtual Circuit resource
	Tags             []string `pulumi:"tags"`
	VirtualCircuitId string   `pulumi:"virtualCircuitId"`
	Vnid             int      `pulumi:"vnid"`
}

A collection of values returned by getVirtualCircuit.

func LookupVirtualCircuit

func LookupVirtualCircuit(ctx *pulumi.Context, args *LookupVirtualCircuitArgs, opts ...pulumi.InvokeOption) (*LookupVirtualCircuitResult, error)

Use this data source to retrieve a virtual circuit resource from [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleConnection, err := equinix - metal.LookupConnection(ctx, &GetConnectionArgs{
			ConnectionId: "4347e805-eb46-4699-9eb9-5c116e6a017d",
		}, nil)
		if err != nil {
			return err
		}
		_, err = equinix - metal.LookupVirtualCircuit(ctx, &GetVirtualCircuitArgs{
			VirtualCircuitId: exampleConnection.Ports[1].VirtualCircuitIds[0],
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupVirtualCircuitResultOutput added in v3.2.0

type LookupVirtualCircuitResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVirtualCircuit.

func LookupVirtualCircuitOutput added in v3.2.0

func (LookupVirtualCircuitResultOutput) Description added in v3.2.0

Description for the Virtual Circuit resource

func (LookupVirtualCircuitResultOutput) ElementType added in v3.2.0

func (LookupVirtualCircuitResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (LookupVirtualCircuitResultOutput) Name added in v3.2.0

Name of the virtual circuit resource

func (LookupVirtualCircuitResultOutput) NniVlan added in v3.2.0

func (LookupVirtualCircuitResultOutput) NniVnid added in v3.2.0

func (LookupVirtualCircuitResultOutput) ProjectId added in v3.2.0

ID of project to which the VC belongs * `vnid`, `nniVlan`, `nniNvid` - VLAN parameters, see the [documentation for Equinix Fabric](https://metal.equinix.com/developers/docs/networking/fabric/)

func (LookupVirtualCircuitResultOutput) Status added in v3.2.0

Status of the virtal circuit

func (LookupVirtualCircuitResultOutput) Tags added in v3.2.0

Tags for the Virtual Circuit resource

func (LookupVirtualCircuitResultOutput) ToLookupVirtualCircuitResultOutput added in v3.2.0

func (o LookupVirtualCircuitResultOutput) ToLookupVirtualCircuitResultOutput() LookupVirtualCircuitResultOutput

func (LookupVirtualCircuitResultOutput) ToLookupVirtualCircuitResultOutputWithContext added in v3.2.0

func (o LookupVirtualCircuitResultOutput) ToLookupVirtualCircuitResultOutputWithContext(ctx context.Context) LookupVirtualCircuitResultOutput

func (LookupVirtualCircuitResultOutput) VirtualCircuitId added in v3.2.0

func (LookupVirtualCircuitResultOutput) Vnid added in v3.2.0

type LookupVlanArgs

type LookupVlanArgs struct {
	// Facility where the VLAN is deployed
	Facility *string `pulumi:"facility"`
	// Metro where the VLAN is deployed
	Metro *string `pulumi:"metro"`
	// UUID of parent project of the VLAN. Use together with the vxlan number and metro or facility
	ProjectId *string `pulumi:"projectId"`
	// Metal UUID of the VLAN resource to look up
	VlanId *string `pulumi:"vlanId"`
	// vxlan number of the VLAN to look up. Use together with the projectId and metro or facility
	Vxlan *int `pulumi:"vxlan"`
}

A collection of arguments for invoking getVlan.

type LookupVlanOutputArgs added in v3.2.0

type LookupVlanOutputArgs struct {
	// Facility where the VLAN is deployed
	Facility pulumi.StringPtrInput `pulumi:"facility"`
	// Metro where the VLAN is deployed
	Metro pulumi.StringPtrInput `pulumi:"metro"`
	// UUID of parent project of the VLAN. Use together with the vxlan number and metro or facility
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// Metal UUID of the VLAN resource to look up
	VlanId pulumi.StringPtrInput `pulumi:"vlanId"`
	// vxlan number of the VLAN to look up. Use together with the projectId and metro or facility
	Vxlan pulumi.IntPtrInput `pulumi:"vxlan"`
}

A collection of arguments for invoking getVlan.

func (LookupVlanOutputArgs) ElementType added in v3.2.0

func (LookupVlanOutputArgs) ElementType() reflect.Type

type LookupVlanResult

type LookupVlanResult struct {
	// List of device ID to which this VLAN is assigned
	AssignedDevicesIds []string `pulumi:"assignedDevicesIds"`
	// Description text of the VLAN resource
	Description string `pulumi:"description"`
	Facility    string `pulumi:"facility"`
	// The provider-assigned unique ID for this managed resource.
	Id        string `pulumi:"id"`
	Metro     string `pulumi:"metro"`
	ProjectId string `pulumi:"projectId"`
	VlanId    string `pulumi:"vlanId"`
	Vxlan     int    `pulumi:"vxlan"`
}

A collection of values returned by getVlan.

func LookupVlan

func LookupVlan(ctx *pulumi.Context, args *LookupVlanArgs, opts ...pulumi.InvokeOption) (*LookupVlanResult, error)

Provides an Equinix Metal Virtual Network datasource. VLANs data sources can be searched by VLAN UUID, or project UUID and vxlan number.

## Example Usage

Fetch a vlan by ID:

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foovlan, err := equinix - metal.NewVlan(ctx, "foovlan", &equinix-metal.VlanArgs{
			ProjectId: pulumi.Any(local.Project_id),
			Metro:     pulumi.String("sv"),
			Vxlan:     pulumi.Int(5),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

Fetch a vlan by project ID, vxlan and metro

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewVlan(ctx, "foovlan", &equinix-metal.VlanArgs{
			ProjectId: pulumi.Any(local.Project_id),
			Metro:     pulumi.String("sv"),
			Vxlan:     pulumi.Int(5),
		})
		if err != nil {
			return err
		}
		opt0 := local.Project_id
		opt1 := 5
		opt2 := "sv"
		_, err = equinix - metal.LookupVlan(ctx, &GetVlanArgs{
			ProjectId: &opt0,
			Vxlan:     &opt1,
			Metro:     &opt2,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupVlanResultOutput added in v3.2.0

type LookupVlanResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVlan.

func LookupVlanOutput added in v3.2.0

func LookupVlanOutput(ctx *pulumi.Context, args LookupVlanOutputArgs, opts ...pulumi.InvokeOption) LookupVlanResultOutput

func (LookupVlanResultOutput) AssignedDevicesIds added in v3.2.0

func (o LookupVlanResultOutput) AssignedDevicesIds() pulumi.StringArrayOutput

List of device ID to which this VLAN is assigned

func (LookupVlanResultOutput) Description added in v3.2.0

func (o LookupVlanResultOutput) Description() pulumi.StringOutput

Description text of the VLAN resource

func (LookupVlanResultOutput) ElementType added in v3.2.0

func (LookupVlanResultOutput) ElementType() reflect.Type

func (LookupVlanResultOutput) Facility added in v3.2.0

func (LookupVlanResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (LookupVlanResultOutput) Metro added in v3.2.0

func (LookupVlanResultOutput) ProjectId added in v3.2.0

func (LookupVlanResultOutput) ToLookupVlanResultOutput added in v3.2.0

func (o LookupVlanResultOutput) ToLookupVlanResultOutput() LookupVlanResultOutput

func (LookupVlanResultOutput) ToLookupVlanResultOutputWithContext added in v3.2.0

func (o LookupVlanResultOutput) ToLookupVlanResultOutputWithContext(ctx context.Context) LookupVlanResultOutput

func (LookupVlanResultOutput) VlanId added in v3.2.0

func (LookupVlanResultOutput) Vxlan added in v3.2.0

type LookupVolumeArgs

type LookupVolumeArgs struct {
	Name      *string `pulumi:"name"`
	ProjectId *string `pulumi:"projectId"`
	VolumeId  *string `pulumi:"volumeId"`
}

A collection of arguments for invoking getVolume.

type LookupVolumeOutputArgs added in v3.2.0

type LookupVolumeOutputArgs struct {
	Name      pulumi.StringPtrInput `pulumi:"name"`
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	VolumeId  pulumi.StringPtrInput `pulumi:"volumeId"`
}

A collection of arguments for invoking getVolume.

func (LookupVolumeOutputArgs) ElementType added in v3.2.0

func (LookupVolumeOutputArgs) ElementType() reflect.Type

type LookupVolumeResult

type LookupVolumeResult struct {
	BillingCycle string   `pulumi:"billingCycle"`
	Created      string   `pulumi:"created"`
	Description  string   `pulumi:"description"`
	DeviceIds    []string `pulumi:"deviceIds"`
	Facility     string   `pulumi:"facility"`
	// The provider-assigned unique ID for this managed resource.
	Id               string                    `pulumi:"id"`
	Locked           bool                      `pulumi:"locked"`
	Name             string                    `pulumi:"name"`
	Plan             string                    `pulumi:"plan"`
	ProjectId        string                    `pulumi:"projectId"`
	Size             int                       `pulumi:"size"`
	SnapshotPolicies []GetVolumeSnapshotPolicy `pulumi:"snapshotPolicies"`
	State            string                    `pulumi:"state"`
	Updated          string                    `pulumi:"updated"`
	VolumeId         string                    `pulumi:"volumeId"`
}

A collection of values returned by getVolume.

func LookupVolume

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

Datasource `Volume` was removed in version 3.0.0, and the API support was deprecated on June 1st 2021. See https://metal.equinix.com/developers/docs/storage/elastic-block-storage/#elastic-block-storage for more details.

type LookupVolumeResultOutput added in v3.2.0

type LookupVolumeResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVolume.

func LookupVolumeOutput added in v3.2.0

func LookupVolumeOutput(ctx *pulumi.Context, args LookupVolumeOutputArgs, opts ...pulumi.InvokeOption) LookupVolumeResultOutput

func (LookupVolumeResultOutput) BillingCycle added in v3.2.0

func (o LookupVolumeResultOutput) BillingCycle() pulumi.StringOutput

func (LookupVolumeResultOutput) Created added in v3.2.0

func (LookupVolumeResultOutput) Description added in v3.2.0

func (LookupVolumeResultOutput) DeviceIds added in v3.2.0

func (LookupVolumeResultOutput) ElementType added in v3.2.0

func (LookupVolumeResultOutput) ElementType() reflect.Type

func (LookupVolumeResultOutput) Facility added in v3.2.0

func (LookupVolumeResultOutput) Id added in v3.2.0

The provider-assigned unique ID for this managed resource.

func (LookupVolumeResultOutput) Locked added in v3.2.0

func (LookupVolumeResultOutput) Name added in v3.2.0

func (LookupVolumeResultOutput) Plan added in v3.2.0

func (LookupVolumeResultOutput) ProjectId added in v3.2.0

func (LookupVolumeResultOutput) Size added in v3.2.0

func (LookupVolumeResultOutput) SnapshotPolicies added in v3.2.0

func (LookupVolumeResultOutput) State added in v3.2.0

func (LookupVolumeResultOutput) ToLookupVolumeResultOutput added in v3.2.0

func (o LookupVolumeResultOutput) ToLookupVolumeResultOutput() LookupVolumeResultOutput

func (LookupVolumeResultOutput) ToLookupVolumeResultOutputWithContext added in v3.2.0

func (o LookupVolumeResultOutput) ToLookupVolumeResultOutputWithContext(ctx context.Context) LookupVolumeResultOutput

func (LookupVolumeResultOutput) Updated added in v3.2.0

func (LookupVolumeResultOutput) VolumeId added in v3.2.0

type NetworkType

type NetworkType string

func (NetworkType) ElementType

func (NetworkType) ElementType() reflect.Type

func (NetworkType) ToNetworkTypeOutput added in v3.2.0

func (e NetworkType) ToNetworkTypeOutput() NetworkTypeOutput

func (NetworkType) ToNetworkTypeOutputWithContext added in v3.2.0

func (e NetworkType) ToNetworkTypeOutputWithContext(ctx context.Context) NetworkTypeOutput

func (NetworkType) ToNetworkTypePtrOutput added in v3.2.0

func (e NetworkType) ToNetworkTypePtrOutput() NetworkTypePtrOutput

func (NetworkType) ToNetworkTypePtrOutputWithContext added in v3.2.0

func (e NetworkType) ToNetworkTypePtrOutputWithContext(ctx context.Context) NetworkTypePtrOutput

func (NetworkType) ToStringOutput

func (e NetworkType) ToStringOutput() pulumi.StringOutput

func (NetworkType) ToStringOutputWithContext

func (e NetworkType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (NetworkType) ToStringPtrOutput

func (e NetworkType) ToStringPtrOutput() pulumi.StringPtrOutput

func (NetworkType) ToStringPtrOutputWithContext

func (e NetworkType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type NetworkTypeInput added in v3.2.0

type NetworkTypeInput interface {
	pulumi.Input

	ToNetworkTypeOutput() NetworkTypeOutput
	ToNetworkTypeOutputWithContext(context.Context) NetworkTypeOutput
}

NetworkTypeInput is an input type that accepts NetworkTypeArgs and NetworkTypeOutput values. You can construct a concrete instance of `NetworkTypeInput` via:

NetworkTypeArgs{...}

type NetworkTypeOutput added in v3.2.0

type NetworkTypeOutput struct{ *pulumi.OutputState }

func (NetworkTypeOutput) ElementType added in v3.2.0

func (NetworkTypeOutput) ElementType() reflect.Type

func (NetworkTypeOutput) ToNetworkTypeOutput added in v3.2.0

func (o NetworkTypeOutput) ToNetworkTypeOutput() NetworkTypeOutput

func (NetworkTypeOutput) ToNetworkTypeOutputWithContext added in v3.2.0

func (o NetworkTypeOutput) ToNetworkTypeOutputWithContext(ctx context.Context) NetworkTypeOutput

func (NetworkTypeOutput) ToNetworkTypePtrOutput added in v3.2.0

func (o NetworkTypeOutput) ToNetworkTypePtrOutput() NetworkTypePtrOutput

func (NetworkTypeOutput) ToNetworkTypePtrOutputWithContext added in v3.2.0

func (o NetworkTypeOutput) ToNetworkTypePtrOutputWithContext(ctx context.Context) NetworkTypePtrOutput

func (NetworkTypeOutput) ToStringOutput added in v3.2.0

func (o NetworkTypeOutput) ToStringOutput() pulumi.StringOutput

func (NetworkTypeOutput) ToStringOutputWithContext added in v3.2.0

func (o NetworkTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (NetworkTypeOutput) ToStringPtrOutput added in v3.2.0

func (o NetworkTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (NetworkTypeOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o NetworkTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type NetworkTypePtrInput added in v3.2.0

type NetworkTypePtrInput interface {
	pulumi.Input

	ToNetworkTypePtrOutput() NetworkTypePtrOutput
	ToNetworkTypePtrOutputWithContext(context.Context) NetworkTypePtrOutput
}

func NetworkTypePtr added in v3.2.0

func NetworkTypePtr(v string) NetworkTypePtrInput

type NetworkTypePtrOutput added in v3.2.0

type NetworkTypePtrOutput struct{ *pulumi.OutputState }

func (NetworkTypePtrOutput) Elem added in v3.2.0

func (NetworkTypePtrOutput) ElementType added in v3.2.0

func (NetworkTypePtrOutput) ElementType() reflect.Type

func (NetworkTypePtrOutput) ToNetworkTypePtrOutput added in v3.2.0

func (o NetworkTypePtrOutput) ToNetworkTypePtrOutput() NetworkTypePtrOutput

func (NetworkTypePtrOutput) ToNetworkTypePtrOutputWithContext added in v3.2.0

func (o NetworkTypePtrOutput) ToNetworkTypePtrOutputWithContext(ctx context.Context) NetworkTypePtrOutput

func (NetworkTypePtrOutput) ToStringPtrOutput added in v3.2.0

func (o NetworkTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (NetworkTypePtrOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o NetworkTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type OperatingSystem

type OperatingSystem string

func (OperatingSystem) ElementType

func (OperatingSystem) ElementType() reflect.Type

func (OperatingSystem) ToOperatingSystemOutput added in v3.2.0

func (e OperatingSystem) ToOperatingSystemOutput() OperatingSystemOutput

func (OperatingSystem) ToOperatingSystemOutputWithContext added in v3.2.0

func (e OperatingSystem) ToOperatingSystemOutputWithContext(ctx context.Context) OperatingSystemOutput

func (OperatingSystem) ToOperatingSystemPtrOutput added in v3.2.0

func (e OperatingSystem) ToOperatingSystemPtrOutput() OperatingSystemPtrOutput

func (OperatingSystem) ToOperatingSystemPtrOutputWithContext added in v3.2.0

func (e OperatingSystem) ToOperatingSystemPtrOutputWithContext(ctx context.Context) OperatingSystemPtrOutput

func (OperatingSystem) ToStringOutput

func (e OperatingSystem) ToStringOutput() pulumi.StringOutput

func (OperatingSystem) ToStringOutputWithContext

func (e OperatingSystem) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (OperatingSystem) ToStringPtrOutput

func (e OperatingSystem) ToStringPtrOutput() pulumi.StringPtrOutput

func (OperatingSystem) ToStringPtrOutputWithContext

func (e OperatingSystem) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type OperatingSystemInput added in v3.2.0

type OperatingSystemInput interface {
	pulumi.Input

	ToOperatingSystemOutput() OperatingSystemOutput
	ToOperatingSystemOutputWithContext(context.Context) OperatingSystemOutput
}

OperatingSystemInput is an input type that accepts OperatingSystemArgs and OperatingSystemOutput values. You can construct a concrete instance of `OperatingSystemInput` via:

OperatingSystemArgs{...}

type OperatingSystemOutput added in v3.2.0

type OperatingSystemOutput struct{ *pulumi.OutputState }

func (OperatingSystemOutput) ElementType added in v3.2.0

func (OperatingSystemOutput) ElementType() reflect.Type

func (OperatingSystemOutput) ToOperatingSystemOutput added in v3.2.0

func (o OperatingSystemOutput) ToOperatingSystemOutput() OperatingSystemOutput

func (OperatingSystemOutput) ToOperatingSystemOutputWithContext added in v3.2.0

func (o OperatingSystemOutput) ToOperatingSystemOutputWithContext(ctx context.Context) OperatingSystemOutput

func (OperatingSystemOutput) ToOperatingSystemPtrOutput added in v3.2.0

func (o OperatingSystemOutput) ToOperatingSystemPtrOutput() OperatingSystemPtrOutput

func (OperatingSystemOutput) ToOperatingSystemPtrOutputWithContext added in v3.2.0

func (o OperatingSystemOutput) ToOperatingSystemPtrOutputWithContext(ctx context.Context) OperatingSystemPtrOutput

func (OperatingSystemOutput) ToStringOutput added in v3.2.0

func (o OperatingSystemOutput) ToStringOutput() pulumi.StringOutput

func (OperatingSystemOutput) ToStringOutputWithContext added in v3.2.0

func (o OperatingSystemOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (OperatingSystemOutput) ToStringPtrOutput added in v3.2.0

func (o OperatingSystemOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (OperatingSystemOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o OperatingSystemOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type OperatingSystemPtrInput added in v3.2.0

type OperatingSystemPtrInput interface {
	pulumi.Input

	ToOperatingSystemPtrOutput() OperatingSystemPtrOutput
	ToOperatingSystemPtrOutputWithContext(context.Context) OperatingSystemPtrOutput
}

func OperatingSystemPtr added in v3.2.0

func OperatingSystemPtr(v string) OperatingSystemPtrInput

type OperatingSystemPtrOutput added in v3.2.0

type OperatingSystemPtrOutput struct{ *pulumi.OutputState }

func (OperatingSystemPtrOutput) Elem added in v3.2.0

func (OperatingSystemPtrOutput) ElementType added in v3.2.0

func (OperatingSystemPtrOutput) ElementType() reflect.Type

func (OperatingSystemPtrOutput) ToOperatingSystemPtrOutput added in v3.2.0

func (o OperatingSystemPtrOutput) ToOperatingSystemPtrOutput() OperatingSystemPtrOutput

func (OperatingSystemPtrOutput) ToOperatingSystemPtrOutputWithContext added in v3.2.0

func (o OperatingSystemPtrOutput) ToOperatingSystemPtrOutputWithContext(ctx context.Context) OperatingSystemPtrOutput

func (OperatingSystemPtrOutput) ToStringPtrOutput added in v3.2.0

func (o OperatingSystemPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (OperatingSystemPtrOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o OperatingSystemPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

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 Equinix Metal.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewOrganization(ctx, "tfOrganization1", &equinix-metal.OrganizationArgs{
			Description: pulumi.String("quux"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource can be imported using an existing organization ID

```sh

$ pulumi import equinix-metal:index/organization:Organization metal_organization {existing_organization_id}

```

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.

func (*Organization) ElementType

func (*Organization) ElementType() reflect.Type

func (*Organization) ToOrganizationOutput

func (i *Organization) ToOrganizationOutput() OrganizationOutput

func (*Organization) ToOrganizationOutputWithContext

func (i *Organization) ToOrganizationOutputWithContext(ctx context.Context) OrganizationOutput

func (*Organization) ToOrganizationPtrOutput

func (i *Organization) ToOrganizationPtrOutput() OrganizationPtrOutput

func (*Organization) ToOrganizationPtrOutputWithContext

func (i *Organization) ToOrganizationPtrOutputWithContext(ctx context.Context) OrganizationPtrOutput

type OrganizationArgs

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

The set of arguments for constructing a Organization resource.

func (OrganizationArgs) ElementType

func (OrganizationArgs) ElementType() reflect.Type

type OrganizationArray

type OrganizationArray []OrganizationInput

func (OrganizationArray) ElementType

func (OrganizationArray) ElementType() reflect.Type

func (OrganizationArray) ToOrganizationArrayOutput

func (i OrganizationArray) ToOrganizationArrayOutput() OrganizationArrayOutput

func (OrganizationArray) ToOrganizationArrayOutputWithContext

func (i OrganizationArray) ToOrganizationArrayOutputWithContext(ctx context.Context) OrganizationArrayOutput

type OrganizationArrayInput

type OrganizationArrayInput interface {
	pulumi.Input

	ToOrganizationArrayOutput() OrganizationArrayOutput
	ToOrganizationArrayOutputWithContext(context.Context) OrganizationArrayOutput
}

OrganizationArrayInput is an input type that accepts OrganizationArray and OrganizationArrayOutput values. You can construct a concrete instance of `OrganizationArrayInput` via:

OrganizationArray{ OrganizationArgs{...} }

type OrganizationArrayOutput

type OrganizationArrayOutput struct{ *pulumi.OutputState }

func (OrganizationArrayOutput) ElementType

func (OrganizationArrayOutput) ElementType() reflect.Type

func (OrganizationArrayOutput) Index

func (OrganizationArrayOutput) ToOrganizationArrayOutput

func (o OrganizationArrayOutput) ToOrganizationArrayOutput() OrganizationArrayOutput

func (OrganizationArrayOutput) ToOrganizationArrayOutputWithContext

func (o OrganizationArrayOutput) ToOrganizationArrayOutputWithContext(ctx context.Context) OrganizationArrayOutput

type OrganizationInput

type OrganizationInput interface {
	pulumi.Input

	ToOrganizationOutput() OrganizationOutput
	ToOrganizationOutputWithContext(ctx context.Context) OrganizationOutput
}

type OrganizationMap

type OrganizationMap map[string]OrganizationInput

func (OrganizationMap) ElementType

func (OrganizationMap) ElementType() reflect.Type

func (OrganizationMap) ToOrganizationMapOutput

func (i OrganizationMap) ToOrganizationMapOutput() OrganizationMapOutput

func (OrganizationMap) ToOrganizationMapOutputWithContext

func (i OrganizationMap) ToOrganizationMapOutputWithContext(ctx context.Context) OrganizationMapOutput

type OrganizationMapInput

type OrganizationMapInput interface {
	pulumi.Input

	ToOrganizationMapOutput() OrganizationMapOutput
	ToOrganizationMapOutputWithContext(context.Context) OrganizationMapOutput
}

OrganizationMapInput is an input type that accepts OrganizationMap and OrganizationMapOutput values. You can construct a concrete instance of `OrganizationMapInput` via:

OrganizationMap{ "key": OrganizationArgs{...} }

type OrganizationMapOutput

type OrganizationMapOutput struct{ *pulumi.OutputState }

func (OrganizationMapOutput) ElementType

func (OrganizationMapOutput) ElementType() reflect.Type

func (OrganizationMapOutput) MapIndex

func (OrganizationMapOutput) ToOrganizationMapOutput

func (o OrganizationMapOutput) ToOrganizationMapOutput() OrganizationMapOutput

func (OrganizationMapOutput) ToOrganizationMapOutputWithContext

func (o OrganizationMapOutput) ToOrganizationMapOutputWithContext(ctx context.Context) OrganizationMapOutput

type OrganizationOutput

type OrganizationOutput struct{ *pulumi.OutputState }

func (OrganizationOutput) ElementType

func (OrganizationOutput) ElementType() reflect.Type

func (OrganizationOutput) ToOrganizationOutput

func (o OrganizationOutput) ToOrganizationOutput() OrganizationOutput

func (OrganizationOutput) ToOrganizationOutputWithContext

func (o OrganizationOutput) ToOrganizationOutputWithContext(ctx context.Context) OrganizationOutput

func (OrganizationOutput) ToOrganizationPtrOutput

func (o OrganizationOutput) ToOrganizationPtrOutput() OrganizationPtrOutput

func (OrganizationOutput) ToOrganizationPtrOutputWithContext

func (o OrganizationOutput) ToOrganizationPtrOutputWithContext(ctx context.Context) OrganizationPtrOutput

type OrganizationPtrInput

type OrganizationPtrInput interface {
	pulumi.Input

	ToOrganizationPtrOutput() OrganizationPtrOutput
	ToOrganizationPtrOutputWithContext(ctx context.Context) OrganizationPtrOutput
}

type OrganizationPtrOutput

type OrganizationPtrOutput struct{ *pulumi.OutputState }

func (OrganizationPtrOutput) Elem added in v3.2.0

func (OrganizationPtrOutput) ElementType

func (OrganizationPtrOutput) ElementType() reflect.Type

func (OrganizationPtrOutput) ToOrganizationPtrOutput

func (o OrganizationPtrOutput) ToOrganizationPtrOutput() OrganizationPtrOutput

func (OrganizationPtrOutput) ToOrganizationPtrOutputWithContext

func (o OrganizationPtrOutput) ToOrganizationPtrOutputWithContext(ctx context.Context) OrganizationPtrOutput

type OrganizationState

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

func (OrganizationState) ElementType

func (OrganizationState) ElementType() reflect.Type

type Plan

type Plan string

func (Plan) ElementType

func (Plan) ElementType() reflect.Type

func (Plan) ToPlanOutput added in v3.2.0

func (e Plan) ToPlanOutput() PlanOutput

func (Plan) ToPlanOutputWithContext added in v3.2.0

func (e Plan) ToPlanOutputWithContext(ctx context.Context) PlanOutput

func (Plan) ToPlanPtrOutput added in v3.2.0

func (e Plan) ToPlanPtrOutput() PlanPtrOutput

func (Plan) ToPlanPtrOutputWithContext added in v3.2.0

func (e Plan) ToPlanPtrOutputWithContext(ctx context.Context) PlanPtrOutput

func (Plan) ToStringOutput

func (e Plan) ToStringOutput() pulumi.StringOutput

func (Plan) ToStringOutputWithContext

func (e Plan) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (Plan) ToStringPtrOutput

func (e Plan) ToStringPtrOutput() pulumi.StringPtrOutput

func (Plan) ToStringPtrOutputWithContext

func (e Plan) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type PlanInput added in v3.2.0

type PlanInput interface {
	pulumi.Input

	ToPlanOutput() PlanOutput
	ToPlanOutputWithContext(context.Context) PlanOutput
}

PlanInput is an input type that accepts PlanArgs and PlanOutput values. You can construct a concrete instance of `PlanInput` via:

PlanArgs{...}

type PlanOutput added in v3.2.0

type PlanOutput struct{ *pulumi.OutputState }

func (PlanOutput) ElementType added in v3.2.0

func (PlanOutput) ElementType() reflect.Type

func (PlanOutput) ToPlanOutput added in v3.2.0

func (o PlanOutput) ToPlanOutput() PlanOutput

func (PlanOutput) ToPlanOutputWithContext added in v3.2.0

func (o PlanOutput) ToPlanOutputWithContext(ctx context.Context) PlanOutput

func (PlanOutput) ToPlanPtrOutput added in v3.2.0

func (o PlanOutput) ToPlanPtrOutput() PlanPtrOutput

func (PlanOutput) ToPlanPtrOutputWithContext added in v3.2.0

func (o PlanOutput) ToPlanPtrOutputWithContext(ctx context.Context) PlanPtrOutput

func (PlanOutput) ToStringOutput added in v3.2.0

func (o PlanOutput) ToStringOutput() pulumi.StringOutput

func (PlanOutput) ToStringOutputWithContext added in v3.2.0

func (o PlanOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (PlanOutput) ToStringPtrOutput added in v3.2.0

func (o PlanOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (PlanOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o PlanOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type PlanPtrInput added in v3.2.0

type PlanPtrInput interface {
	pulumi.Input

	ToPlanPtrOutput() PlanPtrOutput
	ToPlanPtrOutputWithContext(context.Context) PlanPtrOutput
}

func PlanPtr added in v3.2.0

func PlanPtr(v string) PlanPtrInput

type PlanPtrOutput added in v3.2.0

type PlanPtrOutput struct{ *pulumi.OutputState }

func (PlanPtrOutput) Elem added in v3.2.0

func (o PlanPtrOutput) Elem() PlanOutput

func (PlanPtrOutput) ElementType added in v3.2.0

func (PlanPtrOutput) ElementType() reflect.Type

func (PlanPtrOutput) ToPlanPtrOutput added in v3.2.0

func (o PlanPtrOutput) ToPlanPtrOutput() PlanPtrOutput

func (PlanPtrOutput) ToPlanPtrOutputWithContext added in v3.2.0

func (o PlanPtrOutput) ToPlanPtrOutputWithContext(ctx context.Context) PlanPtrOutput

func (PlanPtrOutput) ToStringPtrOutput added in v3.2.0

func (o PlanPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (PlanPtrOutput) ToStringPtrOutputWithContext added in v3.2.0

func (o PlanPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type Port added in v3.1.0

type Port struct {
	pulumi.CustomResourceState

	// UUID of the bond port
	BondId pulumi.StringOutput `pulumi:"bondId"`
	// Name of the bond port
	BondName pulumi.StringOutput `pulumi:"bondName"`
	// Whether the port should be bonded
	Bonded pulumi.BoolOutput `pulumi:"bonded"`
	// Flag indicating whether the port can be removed from a bond
	DisbondSupported pulumi.BoolOutput `pulumi:"disbondSupported"`
	// Whether to put the port to Layer 2 mode, valid only for bond ports
	Layer2 pulumi.BoolPtrOutput `pulumi:"layer2"`
	// MAC address of the port
	Mac pulumi.StringOutput `pulumi:"mac"`
	// Name of the port, e.g. `bond0` or `eth0`
	Name pulumi.StringOutput `pulumi:"name"`
	// UUID of a VLAN to assign as a native VLAN. It must be one of attached VLANs (from `vlanIds` parameter), valid only for physical (non-bond) ports
	NativeVlanId pulumi.StringPtrOutput `pulumi:"nativeVlanId"`
	// One of layer2-bonded, layer2-individual, layer3, hybrid and hybrid-bonded. This attribute is only set on bond ports.
	NetworkType pulumi.StringOutput `pulumi:"networkType"`
	// ID of the port to read
	PortId pulumi.StringOutput `pulumi:"portId"`
	// Behavioral setting to reset the port to default settings. For a bond port it means layer3 without vlans attached, eth ports will be bonded without native vlan and vlans attached
	ResetOnDelete pulumi.BoolPtrOutput `pulumi:"resetOnDelete"`
	// Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports
	Type pulumi.StringOutput `pulumi:"type"`
	// List of VLAN UUIDs to attach to the port, valid only for L2 and Hybrid ports
	VlanIds pulumi.StringArrayOutput `pulumi:"vlanIds"`
	// List of VXLAN IDs to attach to the port, valid only for L2 and Hybrid ports
	VxlanIds pulumi.IntArrayOutput `pulumi:"vxlanIds"`
}

func GetPort

func GetPort(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PortState, opts ...pulumi.ResourceOption) (*Port, error)

GetPort gets an existing Port 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 NewPort added in v3.1.0

func NewPort(ctx *pulumi.Context,
	name string, args *PortArgs, opts ...pulumi.ResourceOption) (*Port, error)

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

func (*Port) ElementType added in v3.1.0

func (*Port) ElementType() reflect.Type

func (*Port) ToPortOutput added in v3.1.0

func (i *Port) ToPortOutput() PortOutput

func (*Port) ToPortOutputWithContext added in v3.1.0

func (i *Port) ToPortOutputWithContext(ctx context.Context) PortOutput

func (*Port) ToPortPtrOutput added in v3.1.0

func (i *Port) ToPortPtrOutput() PortPtrOutput

func (*Port) ToPortPtrOutputWithContext added in v3.1.0

func (i *Port) ToPortPtrOutputWithContext(ctx context.Context) PortPtrOutput

type PortArgs added in v3.1.0

type PortArgs struct {
	// Whether the port should be bonded
	Bonded pulumi.BoolInput
	// Whether to put the port to Layer 2 mode, valid only for bond ports
	Layer2 pulumi.BoolPtrInput
	// UUID of a VLAN to assign as a native VLAN. It must be one of attached VLANs (from `vlanIds` parameter), valid only for physical (non-bond) ports
	NativeVlanId pulumi.StringPtrInput
	// ID of the port to read
	PortId pulumi.StringInput
	// Behavioral setting to reset the port to default settings. For a bond port it means layer3 without vlans attached, eth ports will be bonded without native vlan and vlans attached
	ResetOnDelete pulumi.BoolPtrInput
	// List of VLAN UUIDs to attach to the port, valid only for L2 and Hybrid ports
	VlanIds pulumi.StringArrayInput
	// List of VXLAN IDs to attach to the port, valid only for L2 and Hybrid ports
	VxlanIds pulumi.IntArrayInput
}

The set of arguments for constructing a Port resource.

func (PortArgs) ElementType added in v3.1.0

func (PortArgs) ElementType() reflect.Type

type PortArray added in v3.1.0

type PortArray []PortInput

func (PortArray) ElementType added in v3.1.0

func (PortArray) ElementType() reflect.Type

func (PortArray) ToPortArrayOutput added in v3.1.0

func (i PortArray) ToPortArrayOutput() PortArrayOutput

func (PortArray) ToPortArrayOutputWithContext added in v3.1.0

func (i PortArray) ToPortArrayOutputWithContext(ctx context.Context) PortArrayOutput

type PortArrayInput added in v3.1.0

type PortArrayInput interface {
	pulumi.Input

	ToPortArrayOutput() PortArrayOutput
	ToPortArrayOutputWithContext(context.Context) PortArrayOutput
}

PortArrayInput is an input type that accepts PortArray and PortArrayOutput values. You can construct a concrete instance of `PortArrayInput` via:

PortArray{ PortArgs{...} }

type PortArrayOutput added in v3.1.0

type PortArrayOutput struct{ *pulumi.OutputState }

func (PortArrayOutput) ElementType added in v3.1.0

func (PortArrayOutput) ElementType() reflect.Type

func (PortArrayOutput) Index added in v3.1.0

func (PortArrayOutput) ToPortArrayOutput added in v3.1.0

func (o PortArrayOutput) ToPortArrayOutput() PortArrayOutput

func (PortArrayOutput) ToPortArrayOutputWithContext added in v3.1.0

func (o PortArrayOutput) ToPortArrayOutputWithContext(ctx context.Context) PortArrayOutput

type PortInput added in v3.1.0

type PortInput interface {
	pulumi.Input

	ToPortOutput() PortOutput
	ToPortOutputWithContext(ctx context.Context) PortOutput
}

type PortMap added in v3.1.0

type PortMap map[string]PortInput

func (PortMap) ElementType added in v3.1.0

func (PortMap) ElementType() reflect.Type

func (PortMap) ToPortMapOutput added in v3.1.0

func (i PortMap) ToPortMapOutput() PortMapOutput

func (PortMap) ToPortMapOutputWithContext added in v3.1.0

func (i PortMap) ToPortMapOutputWithContext(ctx context.Context) PortMapOutput

type PortMapInput added in v3.1.0

type PortMapInput interface {
	pulumi.Input

	ToPortMapOutput() PortMapOutput
	ToPortMapOutputWithContext(context.Context) PortMapOutput
}

PortMapInput is an input type that accepts PortMap and PortMapOutput values. You can construct a concrete instance of `PortMapInput` via:

PortMap{ "key": PortArgs{...} }

type PortMapOutput added in v3.1.0

type PortMapOutput struct{ *pulumi.OutputState }

func (PortMapOutput) ElementType added in v3.1.0

func (PortMapOutput) ElementType() reflect.Type

func (PortMapOutput) MapIndex added in v3.1.0

func (PortMapOutput) ToPortMapOutput added in v3.1.0

func (o PortMapOutput) ToPortMapOutput() PortMapOutput

func (PortMapOutput) ToPortMapOutputWithContext added in v3.1.0

func (o PortMapOutput) ToPortMapOutputWithContext(ctx context.Context) PortMapOutput

type PortOutput added in v3.1.0

type PortOutput struct{ *pulumi.OutputState }

func (PortOutput) ElementType added in v3.1.0

func (PortOutput) ElementType() reflect.Type

func (PortOutput) ToPortOutput added in v3.1.0

func (o PortOutput) ToPortOutput() PortOutput

func (PortOutput) ToPortOutputWithContext added in v3.1.0

func (o PortOutput) ToPortOutputWithContext(ctx context.Context) PortOutput

func (PortOutput) ToPortPtrOutput added in v3.1.0

func (o PortOutput) ToPortPtrOutput() PortPtrOutput

func (PortOutput) ToPortPtrOutputWithContext added in v3.1.0

func (o PortOutput) ToPortPtrOutputWithContext(ctx context.Context) PortPtrOutput

type PortPtrInput added in v3.1.0

type PortPtrInput interface {
	pulumi.Input

	ToPortPtrOutput() PortPtrOutput
	ToPortPtrOutputWithContext(ctx context.Context) PortPtrOutput
}

type PortPtrOutput added in v3.1.0

type PortPtrOutput struct{ *pulumi.OutputState }

func (PortPtrOutput) Elem added in v3.2.0

func (o PortPtrOutput) Elem() PortOutput

func (PortPtrOutput) ElementType added in v3.1.0

func (PortPtrOutput) ElementType() reflect.Type

func (PortPtrOutput) ToPortPtrOutput added in v3.1.0

func (o PortPtrOutput) ToPortPtrOutput() PortPtrOutput

func (PortPtrOutput) ToPortPtrOutputWithContext added in v3.1.0

func (o PortPtrOutput) ToPortPtrOutputWithContext(ctx context.Context) PortPtrOutput

type PortState added in v3.1.0

type PortState struct {
	// UUID of the bond port
	BondId pulumi.StringPtrInput
	// Name of the bond port
	BondName pulumi.StringPtrInput
	// Whether the port should be bonded
	Bonded pulumi.BoolPtrInput
	// Flag indicating whether the port can be removed from a bond
	DisbondSupported pulumi.BoolPtrInput
	// Whether to put the port to Layer 2 mode, valid only for bond ports
	Layer2 pulumi.BoolPtrInput
	// MAC address of the port
	Mac pulumi.StringPtrInput
	// Name of the port, e.g. `bond0` or `eth0`
	Name pulumi.StringPtrInput
	// UUID of a VLAN to assign as a native VLAN. It must be one of attached VLANs (from `vlanIds` parameter), valid only for physical (non-bond) ports
	NativeVlanId pulumi.StringPtrInput
	// One of layer2-bonded, layer2-individual, layer3, hybrid and hybrid-bonded. This attribute is only set on bond ports.
	NetworkType pulumi.StringPtrInput
	// ID of the port to read
	PortId pulumi.StringPtrInput
	// Behavioral setting to reset the port to default settings. For a bond port it means layer3 without vlans attached, eth ports will be bonded without native vlan and vlans attached
	ResetOnDelete pulumi.BoolPtrInput
	// Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports
	Type pulumi.StringPtrInput
	// List of VLAN UUIDs to attach to the port, valid only for L2 and Hybrid ports
	VlanIds pulumi.StringArrayInput
	// List of VXLAN IDs to attach to the port, valid only for L2 and Hybrid ports
	VxlanIds pulumi.IntArrayInput
}

func (PortState) ElementType added in v3.1.0

func (PortState) ElementType() reflect.Type

type PortVlanAttachment

type PortVlanAttachment struct {
	pulumi.CustomResourceState

	// ID of device to be assigned to the VLAN
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// Add port back to the bond when this resource is removed. Default is false.
	ForceBond pulumi.BoolPtrOutput `pulumi:"forceBond"`
	// Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use `dependsOn` pointing to another metal_port_vlan_attachment, just like in the layer2-individual example above.
	Native pulumi.BoolPtrOutput `pulumi:"native"`
	// UUID of device port
	PortId pulumi.StringOutput `pulumi:"portId"`
	// Name of network port to be assigned to the VLAN
	PortName pulumi.StringOutput `pulumi:"portName"`
	// UUID of VLAN API resource
	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 Equinix Metal, refer to

* <https://metal.equinix.com/developers/docs/networking/layer2/> * <https://metal.equinix.com/developers/docs/networking/layer2-configs/>

## Example Usage ### Hybrid network type

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testVlan, err := equinix - metal.NewVlan(ctx, "testVlan", &equinix-metal.VlanArgs{
			Description: pulumi.String("VLAN in New Jersey"),
			Facility:    pulumi.String("ny5"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		testDevice, err := equinix - metal.NewDevice(ctx, "testDevice", &equinix-metal.DeviceArgs{
			Hostname: pulumi.String("test"),
			Plan:     pulumi.String("c3.small.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("ny5"),
			},
			OperatingSystem: pulumi.String("ubuntu_20_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		testDeviceNetworkType, err := equinix - metal.NewDeviceNetworkType(ctx, "testDeviceNetworkType", &equinix-metal.DeviceNetworkTypeArgs{
			DeviceId: testDevice.ID(),
			Type:     pulumi.String("hybrid"),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewPortVlanAttachment(ctx, "testPortVlanAttachment", &equinix-metal.PortVlanAttachmentArgs{
			DeviceId: testDeviceNetworkType.ID(),
			PortName: pulumi.String("eth1"),
			VlanVnid: testVlan.Vxlan,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Layer 2 network

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testDevice, err := equinix - metal.NewDevice(ctx, "testDevice", &equinix-metal.DeviceArgs{
			Hostname: pulumi.String("test"),
			Plan:     pulumi.String("c3.small.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("ny5"),
			},
			OperatingSystem: pulumi.String("ubuntu_20_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		testDeviceNetworkType, err := equinix - metal.NewDeviceNetworkType(ctx, "testDeviceNetworkType", &equinix-metal.DeviceNetworkTypeArgs{
			DeviceId: testDevice.ID(),
			Type:     pulumi.String("layer2-individual"),
		})
		if err != nil {
			return err
		}
		test1Vlan, err := equinix - metal.NewVlan(ctx, "test1Vlan", &equinix-metal.VlanArgs{
			Description: pulumi.String("VLAN in New Jersey"),
			Facility:    pulumi.String("ny5"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		test2Vlan, err := equinix - metal.NewVlan(ctx, "test2Vlan", &equinix-metal.VlanArgs{
			Description: pulumi.String("VLAN in New Jersey"),
			Facility:    pulumi.String("ny5"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewPortVlanAttachment(ctx, "test1PortVlanAttachment", &equinix-metal.PortVlanAttachmentArgs{
			DeviceId: testDeviceNetworkType.ID(),
			VlanVnid: test1Vlan.Vxlan,
			PortName: pulumi.String("eth1"),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewPortVlanAttachment(ctx, "test2PortVlanAttachment", &equinix-metal.PortVlanAttachmentArgs{
			DeviceId: testDeviceNetworkType.ID(),
			VlanVnid: test2Vlan.Vxlan,
			PortName: pulumi.String("eth1"),
			Native:   pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			pulumi.Resource("metal_port_vlan_attachment.test1"),
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attribute Referece

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

func GetPortVlanAttachment

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

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

func NewPortVlanAttachment

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

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

func (*PortVlanAttachment) ElementType

func (*PortVlanAttachment) ElementType() reflect.Type

func (*PortVlanAttachment) ToPortVlanAttachmentOutput

func (i *PortVlanAttachment) ToPortVlanAttachmentOutput() PortVlanAttachmentOutput

func (*PortVlanAttachment) ToPortVlanAttachmentOutputWithContext

func (i *PortVlanAttachment) ToPortVlanAttachmentOutputWithContext(ctx context.Context) PortVlanAttachmentOutput

func (*PortVlanAttachment) ToPortVlanAttachmentPtrOutput

func (i *PortVlanAttachment) ToPortVlanAttachmentPtrOutput() PortVlanAttachmentPtrOutput

func (*PortVlanAttachment) ToPortVlanAttachmentPtrOutputWithContext

func (i *PortVlanAttachment) ToPortVlanAttachmentPtrOutputWithContext(ctx context.Context) PortVlanAttachmentPtrOutput

type PortVlanAttachmentArgs

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

The set of arguments for constructing a PortVlanAttachment resource.

func (PortVlanAttachmentArgs) ElementType

func (PortVlanAttachmentArgs) ElementType() reflect.Type

type PortVlanAttachmentArray

type PortVlanAttachmentArray []PortVlanAttachmentInput

func (PortVlanAttachmentArray) ElementType

func (PortVlanAttachmentArray) ElementType() reflect.Type

func (PortVlanAttachmentArray) ToPortVlanAttachmentArrayOutput

func (i PortVlanAttachmentArray) ToPortVlanAttachmentArrayOutput() PortVlanAttachmentArrayOutput

func (PortVlanAttachmentArray) ToPortVlanAttachmentArrayOutputWithContext

func (i PortVlanAttachmentArray) ToPortVlanAttachmentArrayOutputWithContext(ctx context.Context) PortVlanAttachmentArrayOutput

type PortVlanAttachmentArrayInput

type PortVlanAttachmentArrayInput interface {
	pulumi.Input

	ToPortVlanAttachmentArrayOutput() PortVlanAttachmentArrayOutput
	ToPortVlanAttachmentArrayOutputWithContext(context.Context) PortVlanAttachmentArrayOutput
}

PortVlanAttachmentArrayInput is an input type that accepts PortVlanAttachmentArray and PortVlanAttachmentArrayOutput values. You can construct a concrete instance of `PortVlanAttachmentArrayInput` via:

PortVlanAttachmentArray{ PortVlanAttachmentArgs{...} }

type PortVlanAttachmentArrayOutput

type PortVlanAttachmentArrayOutput struct{ *pulumi.OutputState }

func (PortVlanAttachmentArrayOutput) ElementType

func (PortVlanAttachmentArrayOutput) Index

func (PortVlanAttachmentArrayOutput) ToPortVlanAttachmentArrayOutput

func (o PortVlanAttachmentArrayOutput) ToPortVlanAttachmentArrayOutput() PortVlanAttachmentArrayOutput

func (PortVlanAttachmentArrayOutput) ToPortVlanAttachmentArrayOutputWithContext

func (o PortVlanAttachmentArrayOutput) ToPortVlanAttachmentArrayOutputWithContext(ctx context.Context) PortVlanAttachmentArrayOutput

type PortVlanAttachmentInput

type PortVlanAttachmentInput interface {
	pulumi.Input

	ToPortVlanAttachmentOutput() PortVlanAttachmentOutput
	ToPortVlanAttachmentOutputWithContext(ctx context.Context) PortVlanAttachmentOutput
}

type PortVlanAttachmentMap

type PortVlanAttachmentMap map[string]PortVlanAttachmentInput

func (PortVlanAttachmentMap) ElementType

func (PortVlanAttachmentMap) ElementType() reflect.Type

func (PortVlanAttachmentMap) ToPortVlanAttachmentMapOutput

func (i PortVlanAttachmentMap) ToPortVlanAttachmentMapOutput() PortVlanAttachmentMapOutput

func (PortVlanAttachmentMap) ToPortVlanAttachmentMapOutputWithContext

func (i PortVlanAttachmentMap) ToPortVlanAttachmentMapOutputWithContext(ctx context.Context) PortVlanAttachmentMapOutput

type PortVlanAttachmentMapInput

type PortVlanAttachmentMapInput interface {
	pulumi.Input

	ToPortVlanAttachmentMapOutput() PortVlanAttachmentMapOutput
	ToPortVlanAttachmentMapOutputWithContext(context.Context) PortVlanAttachmentMapOutput
}

PortVlanAttachmentMapInput is an input type that accepts PortVlanAttachmentMap and PortVlanAttachmentMapOutput values. You can construct a concrete instance of `PortVlanAttachmentMapInput` via:

PortVlanAttachmentMap{ "key": PortVlanAttachmentArgs{...} }

type PortVlanAttachmentMapOutput

type PortVlanAttachmentMapOutput struct{ *pulumi.OutputState }

func (PortVlanAttachmentMapOutput) ElementType

func (PortVlanAttachmentMapOutput) MapIndex

func (PortVlanAttachmentMapOutput) ToPortVlanAttachmentMapOutput

func (o PortVlanAttachmentMapOutput) ToPortVlanAttachmentMapOutput() PortVlanAttachmentMapOutput

func (PortVlanAttachmentMapOutput) ToPortVlanAttachmentMapOutputWithContext

func (o PortVlanAttachmentMapOutput) ToPortVlanAttachmentMapOutputWithContext(ctx context.Context) PortVlanAttachmentMapOutput

type PortVlanAttachmentOutput

type PortVlanAttachmentOutput struct{ *pulumi.OutputState }

func (PortVlanAttachmentOutput) ElementType

func (PortVlanAttachmentOutput) ElementType() reflect.Type

func (PortVlanAttachmentOutput) ToPortVlanAttachmentOutput

func (o PortVlanAttachmentOutput) ToPortVlanAttachmentOutput() PortVlanAttachmentOutput

func (PortVlanAttachmentOutput) ToPortVlanAttachmentOutputWithContext

func (o PortVlanAttachmentOutput) ToPortVlanAttachmentOutputWithContext(ctx context.Context) PortVlanAttachmentOutput

func (PortVlanAttachmentOutput) ToPortVlanAttachmentPtrOutput

func (o PortVlanAttachmentOutput) ToPortVlanAttachmentPtrOutput() PortVlanAttachmentPtrOutput

func (PortVlanAttachmentOutput) ToPortVlanAttachmentPtrOutputWithContext

func (o PortVlanAttachmentOutput) ToPortVlanAttachmentPtrOutputWithContext(ctx context.Context) PortVlanAttachmentPtrOutput

type PortVlanAttachmentPtrInput

type PortVlanAttachmentPtrInput interface {
	pulumi.Input

	ToPortVlanAttachmentPtrOutput() PortVlanAttachmentPtrOutput
	ToPortVlanAttachmentPtrOutputWithContext(ctx context.Context) PortVlanAttachmentPtrOutput
}

type PortVlanAttachmentPtrOutput

type PortVlanAttachmentPtrOutput struct{ *pulumi.OutputState }

func (PortVlanAttachmentPtrOutput) Elem added in v3.2.0

func (PortVlanAttachmentPtrOutput) ElementType

func (PortVlanAttachmentPtrOutput) ToPortVlanAttachmentPtrOutput

func (o PortVlanAttachmentPtrOutput) ToPortVlanAttachmentPtrOutput() PortVlanAttachmentPtrOutput

func (PortVlanAttachmentPtrOutput) ToPortVlanAttachmentPtrOutputWithContext

func (o PortVlanAttachmentPtrOutput) ToPortVlanAttachmentPtrOutputWithContext(ctx context.Context) PortVlanAttachmentPtrOutput

type PortVlanAttachmentState

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

func (PortVlanAttachmentState) ElementType

func (PortVlanAttachmentState) ElementType() reflect.Type

type Project

type Project struct {
	pulumi.CustomResourceState

	// Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is false
	BackendTransfer pulumi.BoolPtrOutput `pulumi:"backendTransfer"`
	// Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-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"`
}

## Import

This resource can be imported using an existing project ID

```sh

$ pulumi import equinix-metal:index/project:Project metal_project {existing_project_id}

```

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.

func (*Project) ElementType

func (*Project) ElementType() reflect.Type

func (*Project) ToProjectOutput

func (i *Project) ToProjectOutput() ProjectOutput

func (*Project) ToProjectOutputWithContext

func (i *Project) ToProjectOutputWithContext(ctx context.Context) ProjectOutput

func (*Project) ToProjectPtrOutput

func (i *Project) ToProjectPtrOutput() ProjectPtrOutput

func (*Project) ToProjectPtrOutputWithContext

func (i *Project) ToProjectPtrOutputWithContext(ctx context.Context) ProjectPtrOutput

type ProjectApiKey

type ProjectApiKey struct {
	pulumi.CustomResourceState

	// Description string for the Project API Key resource
	// * `read-only` - Flag indicating whether the API key shoud be read-only
	Description pulumi.StringOutput `pulumi:"description"`
	// UUID of the project where the API key is scoped to
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Flag indicating whether the API key shoud be read-only
	ReadOnly pulumi.BoolOutput `pulumi:"readOnly"`
	// API token which can be used in Equinix Metal API clients
	Token pulumi.StringOutput `pulumi:"token"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewProjectApiKey(ctx, "test", &equinix-metal.ProjectApiKeyArgs{
			ProjectId:   pulumi.Any(local.Existing_project_id),
			Description: pulumi.String("Read-only key scoped to a projct"),
			ReadOnly:    pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetProjectApiKey

func GetProjectApiKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProjectApiKeyState, opts ...pulumi.ResourceOption) (*ProjectApiKey, error)

GetProjectApiKey gets an existing ProjectApiKey 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 NewProjectApiKey

func NewProjectApiKey(ctx *pulumi.Context,
	name string, args *ProjectApiKeyArgs, opts ...pulumi.ResourceOption) (*ProjectApiKey, error)

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

func (*ProjectApiKey) ElementType

func (*ProjectApiKey) ElementType() reflect.Type

func (*ProjectApiKey) ToProjectApiKeyOutput

func (i *ProjectApiKey) ToProjectApiKeyOutput() ProjectApiKeyOutput

func (*ProjectApiKey) ToProjectApiKeyOutputWithContext

func (i *ProjectApiKey) ToProjectApiKeyOutputWithContext(ctx context.Context) ProjectApiKeyOutput

func (*ProjectApiKey) ToProjectApiKeyPtrOutput

func (i *ProjectApiKey) ToProjectApiKeyPtrOutput() ProjectApiKeyPtrOutput

func (*ProjectApiKey) ToProjectApiKeyPtrOutputWithContext

func (i *ProjectApiKey) ToProjectApiKeyPtrOutputWithContext(ctx context.Context) ProjectApiKeyPtrOutput

type ProjectApiKeyArgs

type ProjectApiKeyArgs struct {
	// Description string for the Project API Key resource
	// * `read-only` - Flag indicating whether the API key shoud be read-only
	Description pulumi.StringInput
	// UUID of the project where the API key is scoped to
	ProjectId pulumi.StringInput
	// Flag indicating whether the API key shoud be read-only
	ReadOnly pulumi.BoolInput
}

The set of arguments for constructing a ProjectApiKey resource.

func (ProjectApiKeyArgs) ElementType

func (ProjectApiKeyArgs) ElementType() reflect.Type

type ProjectApiKeyArray

type ProjectApiKeyArray []ProjectApiKeyInput

func (ProjectApiKeyArray) ElementType

func (ProjectApiKeyArray) ElementType() reflect.Type

func (ProjectApiKeyArray) ToProjectApiKeyArrayOutput

func (i ProjectApiKeyArray) ToProjectApiKeyArrayOutput() ProjectApiKeyArrayOutput

func (ProjectApiKeyArray) ToProjectApiKeyArrayOutputWithContext

func (i ProjectApiKeyArray) ToProjectApiKeyArrayOutputWithContext(ctx context.Context) ProjectApiKeyArrayOutput

type ProjectApiKeyArrayInput

type ProjectApiKeyArrayInput interface {
	pulumi.Input

	ToProjectApiKeyArrayOutput() ProjectApiKeyArrayOutput
	ToProjectApiKeyArrayOutputWithContext(context.Context) ProjectApiKeyArrayOutput
}

ProjectApiKeyArrayInput is an input type that accepts ProjectApiKeyArray and ProjectApiKeyArrayOutput values. You can construct a concrete instance of `ProjectApiKeyArrayInput` via:

ProjectApiKeyArray{ ProjectApiKeyArgs{...} }

type ProjectApiKeyArrayOutput

type ProjectApiKeyArrayOutput struct{ *pulumi.OutputState }

func (ProjectApiKeyArrayOutput) ElementType

func (ProjectApiKeyArrayOutput) ElementType() reflect.Type

func (ProjectApiKeyArrayOutput) Index

func (ProjectApiKeyArrayOutput) ToProjectApiKeyArrayOutput

func (o ProjectApiKeyArrayOutput) ToProjectApiKeyArrayOutput() ProjectApiKeyArrayOutput

func (ProjectApiKeyArrayOutput) ToProjectApiKeyArrayOutputWithContext

func (o ProjectApiKeyArrayOutput) ToProjectApiKeyArrayOutputWithContext(ctx context.Context) ProjectApiKeyArrayOutput

type ProjectApiKeyInput

type ProjectApiKeyInput interface {
	pulumi.Input

	ToProjectApiKeyOutput() ProjectApiKeyOutput
	ToProjectApiKeyOutputWithContext(ctx context.Context) ProjectApiKeyOutput
}

type ProjectApiKeyMap

type ProjectApiKeyMap map[string]ProjectApiKeyInput

func (ProjectApiKeyMap) ElementType

func (ProjectApiKeyMap) ElementType() reflect.Type

func (ProjectApiKeyMap) ToProjectApiKeyMapOutput

func (i ProjectApiKeyMap) ToProjectApiKeyMapOutput() ProjectApiKeyMapOutput

func (ProjectApiKeyMap) ToProjectApiKeyMapOutputWithContext

func (i ProjectApiKeyMap) ToProjectApiKeyMapOutputWithContext(ctx context.Context) ProjectApiKeyMapOutput

type ProjectApiKeyMapInput

type ProjectApiKeyMapInput interface {
	pulumi.Input

	ToProjectApiKeyMapOutput() ProjectApiKeyMapOutput
	ToProjectApiKeyMapOutputWithContext(context.Context) ProjectApiKeyMapOutput
}

ProjectApiKeyMapInput is an input type that accepts ProjectApiKeyMap and ProjectApiKeyMapOutput values. You can construct a concrete instance of `ProjectApiKeyMapInput` via:

ProjectApiKeyMap{ "key": ProjectApiKeyArgs{...} }

type ProjectApiKeyMapOutput

type ProjectApiKeyMapOutput struct{ *pulumi.OutputState }

func (ProjectApiKeyMapOutput) ElementType

func (ProjectApiKeyMapOutput) ElementType() reflect.Type

func (ProjectApiKeyMapOutput) MapIndex

func (ProjectApiKeyMapOutput) ToProjectApiKeyMapOutput

func (o ProjectApiKeyMapOutput) ToProjectApiKeyMapOutput() ProjectApiKeyMapOutput

func (ProjectApiKeyMapOutput) ToProjectApiKeyMapOutputWithContext

func (o ProjectApiKeyMapOutput) ToProjectApiKeyMapOutputWithContext(ctx context.Context) ProjectApiKeyMapOutput

type ProjectApiKeyOutput

type ProjectApiKeyOutput struct{ *pulumi.OutputState }

func (ProjectApiKeyOutput) ElementType

func (ProjectApiKeyOutput) ElementType() reflect.Type

func (ProjectApiKeyOutput) ToProjectApiKeyOutput

func (o ProjectApiKeyOutput) ToProjectApiKeyOutput() ProjectApiKeyOutput

func (ProjectApiKeyOutput) ToProjectApiKeyOutputWithContext

func (o ProjectApiKeyOutput) ToProjectApiKeyOutputWithContext(ctx context.Context) ProjectApiKeyOutput

func (ProjectApiKeyOutput) ToProjectApiKeyPtrOutput

func (o ProjectApiKeyOutput) ToProjectApiKeyPtrOutput() ProjectApiKeyPtrOutput

func (ProjectApiKeyOutput) ToProjectApiKeyPtrOutputWithContext

func (o ProjectApiKeyOutput) ToProjectApiKeyPtrOutputWithContext(ctx context.Context) ProjectApiKeyPtrOutput

type ProjectApiKeyPtrInput

type ProjectApiKeyPtrInput interface {
	pulumi.Input

	ToProjectApiKeyPtrOutput() ProjectApiKeyPtrOutput
	ToProjectApiKeyPtrOutputWithContext(ctx context.Context) ProjectApiKeyPtrOutput
}

type ProjectApiKeyPtrOutput

type ProjectApiKeyPtrOutput struct{ *pulumi.OutputState }

func (ProjectApiKeyPtrOutput) Elem added in v3.2.0

func (ProjectApiKeyPtrOutput) ElementType

func (ProjectApiKeyPtrOutput) ElementType() reflect.Type

func (ProjectApiKeyPtrOutput) ToProjectApiKeyPtrOutput

func (o ProjectApiKeyPtrOutput) ToProjectApiKeyPtrOutput() ProjectApiKeyPtrOutput

func (ProjectApiKeyPtrOutput) ToProjectApiKeyPtrOutputWithContext

func (o ProjectApiKeyPtrOutput) ToProjectApiKeyPtrOutputWithContext(ctx context.Context) ProjectApiKeyPtrOutput

type ProjectApiKeyState

type ProjectApiKeyState struct {
	// Description string for the Project API Key resource
	// * `read-only` - Flag indicating whether the API key shoud be read-only
	Description pulumi.StringPtrInput
	// UUID of the project where the API key is scoped to
	ProjectId pulumi.StringPtrInput
	// Flag indicating whether the API key shoud be read-only
	ReadOnly pulumi.BoolPtrInput
	// API token which can be used in Equinix Metal API clients
	Token pulumi.StringPtrInput
}

func (ProjectApiKeyState) ElementType

func (ProjectApiKeyState) ElementType() reflect.Type

type ProjectArgs

type ProjectArgs struct {
	// Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is false
	BackendTransfer pulumi.BoolPtrInput
	// Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/).
	BgpConfig ProjectBgpConfigPtrInput
	// 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 set of arguments for constructing a Project resource.

func (ProjectArgs) ElementType

func (ProjectArgs) ElementType() reflect.Type

type ProjectArray

type ProjectArray []ProjectInput

func (ProjectArray) ElementType

func (ProjectArray) ElementType() reflect.Type

func (ProjectArray) ToProjectArrayOutput

func (i ProjectArray) ToProjectArrayOutput() ProjectArrayOutput

func (ProjectArray) ToProjectArrayOutputWithContext

func (i ProjectArray) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput

type ProjectArrayInput

type ProjectArrayInput interface {
	pulumi.Input

	ToProjectArrayOutput() ProjectArrayOutput
	ToProjectArrayOutputWithContext(context.Context) ProjectArrayOutput
}

ProjectArrayInput is an input type that accepts ProjectArray and ProjectArrayOutput values. You can construct a concrete instance of `ProjectArrayInput` via:

ProjectArray{ ProjectArgs{...} }

type ProjectArrayOutput

type ProjectArrayOutput struct{ *pulumi.OutputState }

func (ProjectArrayOutput) ElementType

func (ProjectArrayOutput) ElementType() reflect.Type

func (ProjectArrayOutput) Index

func (ProjectArrayOutput) ToProjectArrayOutput

func (o ProjectArrayOutput) ToProjectArrayOutput() ProjectArrayOutput

func (ProjectArrayOutput) ToProjectArrayOutputWithContext

func (o ProjectArrayOutput) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput

type ProjectBgpConfig

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

type ProjectBgpConfigArgs

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

func (ProjectBgpConfigArgs) ElementType

func (ProjectBgpConfigArgs) ElementType() reflect.Type

func (ProjectBgpConfigArgs) ToProjectBgpConfigOutput

func (i ProjectBgpConfigArgs) ToProjectBgpConfigOutput() ProjectBgpConfigOutput

func (ProjectBgpConfigArgs) ToProjectBgpConfigOutputWithContext

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

func (ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutput

func (i ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput

func (ProjectBgpConfigArgs) ToProjectBgpConfigPtrOutputWithContext

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

type ProjectBgpConfigInput

type ProjectBgpConfigInput interface {
	pulumi.Input

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

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

ProjectBgpConfigArgs{...}

type ProjectBgpConfigOutput

type ProjectBgpConfigOutput struct{ *pulumi.OutputState }

func (ProjectBgpConfigOutput) Asn

Autonomous System Number for local BGP deployment

func (ProjectBgpConfigOutput) DeploymentType

func (o ProjectBgpConfigOutput) DeploymentType() pulumi.StringOutput

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

func (ProjectBgpConfigOutput) ElementType

func (ProjectBgpConfigOutput) ElementType() reflect.Type

func (ProjectBgpConfigOutput) MaxPrefix

The maximum number of route filters allowed per server

func (ProjectBgpConfigOutput) Md5

Password for BGP session in plaintext (not a checksum)

func (ProjectBgpConfigOutput) Status

status of BGP configuration in the project

func (ProjectBgpConfigOutput) ToProjectBgpConfigOutput

func (o ProjectBgpConfigOutput) ToProjectBgpConfigOutput() ProjectBgpConfigOutput

func (ProjectBgpConfigOutput) ToProjectBgpConfigOutputWithContext

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

func (ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutput

func (o ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput

func (ProjectBgpConfigOutput) ToProjectBgpConfigPtrOutputWithContext

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

type ProjectBgpConfigPtrInput

type ProjectBgpConfigPtrInput interface {
	pulumi.Input

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

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

        ProjectBgpConfigArgs{...}

or:

        nil

type ProjectBgpConfigPtrOutput

type ProjectBgpConfigPtrOutput struct{ *pulumi.OutputState }

func (ProjectBgpConfigPtrOutput) Asn

Autonomous System Number for local BGP deployment

func (ProjectBgpConfigPtrOutput) DeploymentType

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

func (ProjectBgpConfigPtrOutput) Elem

func (ProjectBgpConfigPtrOutput) ElementType

func (ProjectBgpConfigPtrOutput) ElementType() reflect.Type

func (ProjectBgpConfigPtrOutput) MaxPrefix

The maximum number of route filters allowed per server

func (ProjectBgpConfigPtrOutput) Md5

Password for BGP session in plaintext (not a checksum)

func (ProjectBgpConfigPtrOutput) Status

status of BGP configuration in the project

func (ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutput

func (o ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutput() ProjectBgpConfigPtrOutput

func (ProjectBgpConfigPtrOutput) ToProjectBgpConfigPtrOutputWithContext

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

type ProjectInput

type ProjectInput interface {
	pulumi.Input

	ToProjectOutput() ProjectOutput
	ToProjectOutputWithContext(ctx context.Context) ProjectOutput
}

type ProjectMap

type ProjectMap map[string]ProjectInput

func (ProjectMap) ElementType

func (ProjectMap) ElementType() reflect.Type

func (ProjectMap) ToProjectMapOutput

func (i ProjectMap) ToProjectMapOutput() ProjectMapOutput

func (ProjectMap) ToProjectMapOutputWithContext

func (i ProjectMap) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput

type ProjectMapInput

type ProjectMapInput interface {
	pulumi.Input

	ToProjectMapOutput() ProjectMapOutput
	ToProjectMapOutputWithContext(context.Context) ProjectMapOutput
}

ProjectMapInput is an input type that accepts ProjectMap and ProjectMapOutput values. You can construct a concrete instance of `ProjectMapInput` via:

ProjectMap{ "key": ProjectArgs{...} }

type ProjectMapOutput

type ProjectMapOutput struct{ *pulumi.OutputState }

func (ProjectMapOutput) ElementType

func (ProjectMapOutput) ElementType() reflect.Type

func (ProjectMapOutput) MapIndex

func (ProjectMapOutput) ToProjectMapOutput

func (o ProjectMapOutput) ToProjectMapOutput() ProjectMapOutput

func (ProjectMapOutput) ToProjectMapOutputWithContext

func (o ProjectMapOutput) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput

type ProjectOutput

type ProjectOutput struct{ *pulumi.OutputState }

func (ProjectOutput) ElementType

func (ProjectOutput) ElementType() reflect.Type

func (ProjectOutput) ToProjectOutput

func (o ProjectOutput) ToProjectOutput() ProjectOutput

func (ProjectOutput) ToProjectOutputWithContext

func (o ProjectOutput) ToProjectOutputWithContext(ctx context.Context) ProjectOutput

func (ProjectOutput) ToProjectPtrOutput

func (o ProjectOutput) ToProjectPtrOutput() ProjectPtrOutput

func (ProjectOutput) ToProjectPtrOutputWithContext

func (o ProjectOutput) ToProjectPtrOutputWithContext(ctx context.Context) ProjectPtrOutput

type ProjectPtrInput

type ProjectPtrInput interface {
	pulumi.Input

	ToProjectPtrOutput() ProjectPtrOutput
	ToProjectPtrOutputWithContext(ctx context.Context) ProjectPtrOutput
}

type ProjectPtrOutput

type ProjectPtrOutput struct{ *pulumi.OutputState }

func (ProjectPtrOutput) Elem added in v3.2.0

func (ProjectPtrOutput) ElementType

func (ProjectPtrOutput) ElementType() reflect.Type

func (ProjectPtrOutput) ToProjectPtrOutput

func (o ProjectPtrOutput) ToProjectPtrOutput() ProjectPtrOutput

func (ProjectPtrOutput) ToProjectPtrOutputWithContext

func (o ProjectPtrOutput) ToProjectPtrOutputWithContext(ctx context.Context) ProjectPtrOutput

type ProjectSshKey

type ProjectSshKey struct {
	pulumi.CustomResourceState

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

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		projectId := "<UUID_of_your_project>"
		testProjectSshKey, err := equinix - metal.NewProjectSshKey(ctx, "testProjectSshKey", &equinix-metal.ProjectSshKeyArgs{
			PublicKey: pulumi.String("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDM/unxJeFqxsTJcu6mhqsMHSaVlpu+Jj/P+44zrm6X/MAoHSX3X9oLgujEjjZ74yLfdfe0bJrbL2YgJzNaEkIQQ1VPMHB5EhTKUBGnzlPP0hHTnxsjAm9qDHgUPgvgFDQSAMzdJRJ0Cexo16Ph9VxCoLh3dxiE7s2gaM2FdVg7P8aSxKypsxAhYV3D0AwqzoOyT6WWhBoQ0xZ85XevOTnJCpImSemEGs6nVGEsWcEc1d1YvdxFjAK4SdsKUMkj4Dsy/leKsdi/DEAf356vbMT1UHsXXvy5TlHu/Pa6qF53v32Enz+nhKy7/8W2Yt2yWx8HnQcT2rug9lvCXagJO6oauqRTO77C4QZn13ZLMZgLT66S/tNh2EX0gi6vmIs5dth8uF+K6nxIyKJXbcA4ASg7F1OJrHKFZdTc5v1cPeq6PcbqGgc+8SrPYQmzvQqLoMBuxyos2hUkYOmw3aeWJj9nFa8Wu5WaN89mUeOqSkU4S5cgUzWUOmKey56B/j/s1sVys9rMhZapVs0wL4L9GBBM48N5jAQZnnpo85A8KsZq5ME22bTLqnxsDXqDYZvS7PSI6Dxi7eleOFE/NYYDkrgDLHTQri8ucDMVeVWHgoMY2bPXdn7KKy5jW5jKsf8EPARXg77A4gRYmgKrcwIKqJEUPqyxJBe0CPoGTqgXPRsUiQ== tomk@hp2"),
			ProjectId: pulumi.String(projectId),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewDevice(ctx, "testDevice", &equinix-metal.DeviceArgs{
			Hostname: pulumi.String("test"),
			Plan:     pulumi.String("c3.medium.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("ny5"),
			},
			OperatingSystem: pulumi.String("ubuntu_20_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectSshKeyIds: pulumi.StringArray{
				testProjectSshKey.ID(),
			},
			ProjectId: pulumi.String(projectId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetProjectSshKey

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

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

func NewProjectSshKey

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

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

func (*ProjectSshKey) ElementType

func (*ProjectSshKey) ElementType() reflect.Type

func (*ProjectSshKey) ToProjectSshKeyOutput

func (i *ProjectSshKey) ToProjectSshKeyOutput() ProjectSshKeyOutput

func (*ProjectSshKey) ToProjectSshKeyOutputWithContext

func (i *ProjectSshKey) ToProjectSshKeyOutputWithContext(ctx context.Context) ProjectSshKeyOutput

func (*ProjectSshKey) ToProjectSshKeyPtrOutput

func (i *ProjectSshKey) ToProjectSshKeyPtrOutput() ProjectSshKeyPtrOutput

func (*ProjectSshKey) ToProjectSshKeyPtrOutputWithContext

func (i *ProjectSshKey) ToProjectSshKeyPtrOutputWithContext(ctx context.Context) ProjectSshKeyPtrOutput

type ProjectSshKeyArgs

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

The set of arguments for constructing a ProjectSshKey resource.

func (ProjectSshKeyArgs) ElementType

func (ProjectSshKeyArgs) ElementType() reflect.Type

type ProjectSshKeyArray

type ProjectSshKeyArray []ProjectSshKeyInput

func (ProjectSshKeyArray) ElementType

func (ProjectSshKeyArray) ElementType() reflect.Type

func (ProjectSshKeyArray) ToProjectSshKeyArrayOutput

func (i ProjectSshKeyArray) ToProjectSshKeyArrayOutput() ProjectSshKeyArrayOutput

func (ProjectSshKeyArray) ToProjectSshKeyArrayOutputWithContext

func (i ProjectSshKeyArray) ToProjectSshKeyArrayOutputWithContext(ctx context.Context) ProjectSshKeyArrayOutput

type ProjectSshKeyArrayInput

type ProjectSshKeyArrayInput interface {
	pulumi.Input

	ToProjectSshKeyArrayOutput() ProjectSshKeyArrayOutput
	ToProjectSshKeyArrayOutputWithContext(context.Context) ProjectSshKeyArrayOutput
}

ProjectSshKeyArrayInput is an input type that accepts ProjectSshKeyArray and ProjectSshKeyArrayOutput values. You can construct a concrete instance of `ProjectSshKeyArrayInput` via:

ProjectSshKeyArray{ ProjectSshKeyArgs{...} }

type ProjectSshKeyArrayOutput

type ProjectSshKeyArrayOutput struct{ *pulumi.OutputState }

func (ProjectSshKeyArrayOutput) ElementType

func (ProjectSshKeyArrayOutput) ElementType() reflect.Type

func (ProjectSshKeyArrayOutput) Index

func (ProjectSshKeyArrayOutput) ToProjectSshKeyArrayOutput

func (o ProjectSshKeyArrayOutput) ToProjectSshKeyArrayOutput() ProjectSshKeyArrayOutput

func (ProjectSshKeyArrayOutput) ToProjectSshKeyArrayOutputWithContext

func (o ProjectSshKeyArrayOutput) ToProjectSshKeyArrayOutputWithContext(ctx context.Context) ProjectSshKeyArrayOutput

type ProjectSshKeyInput

type ProjectSshKeyInput interface {
	pulumi.Input

	ToProjectSshKeyOutput() ProjectSshKeyOutput
	ToProjectSshKeyOutputWithContext(ctx context.Context) ProjectSshKeyOutput
}

type ProjectSshKeyMap

type ProjectSshKeyMap map[string]ProjectSshKeyInput

func (ProjectSshKeyMap) ElementType

func (ProjectSshKeyMap) ElementType() reflect.Type

func (ProjectSshKeyMap) ToProjectSshKeyMapOutput

func (i ProjectSshKeyMap) ToProjectSshKeyMapOutput() ProjectSshKeyMapOutput

func (ProjectSshKeyMap) ToProjectSshKeyMapOutputWithContext

func (i ProjectSshKeyMap) ToProjectSshKeyMapOutputWithContext(ctx context.Context) ProjectSshKeyMapOutput

type ProjectSshKeyMapInput

type ProjectSshKeyMapInput interface {
	pulumi.Input

	ToProjectSshKeyMapOutput() ProjectSshKeyMapOutput
	ToProjectSshKeyMapOutputWithContext(context.Context) ProjectSshKeyMapOutput
}

ProjectSshKeyMapInput is an input type that accepts ProjectSshKeyMap and ProjectSshKeyMapOutput values. You can construct a concrete instance of `ProjectSshKeyMapInput` via:

ProjectSshKeyMap{ "key": ProjectSshKeyArgs{...} }

type ProjectSshKeyMapOutput

type ProjectSshKeyMapOutput struct{ *pulumi.OutputState }

func (ProjectSshKeyMapOutput) ElementType

func (ProjectSshKeyMapOutput) ElementType() reflect.Type

func (ProjectSshKeyMapOutput) MapIndex

func (ProjectSshKeyMapOutput) ToProjectSshKeyMapOutput

func (o ProjectSshKeyMapOutput) ToProjectSshKeyMapOutput() ProjectSshKeyMapOutput

func (ProjectSshKeyMapOutput) ToProjectSshKeyMapOutputWithContext

func (o ProjectSshKeyMapOutput) ToProjectSshKeyMapOutputWithContext(ctx context.Context) ProjectSshKeyMapOutput

type ProjectSshKeyOutput

type ProjectSshKeyOutput struct{ *pulumi.OutputState }

func (ProjectSshKeyOutput) ElementType

func (ProjectSshKeyOutput) ElementType() reflect.Type

func (ProjectSshKeyOutput) ToProjectSshKeyOutput

func (o ProjectSshKeyOutput) ToProjectSshKeyOutput() ProjectSshKeyOutput

func (ProjectSshKeyOutput) ToProjectSshKeyOutputWithContext

func (o ProjectSshKeyOutput) ToProjectSshKeyOutputWithContext(ctx context.Context) ProjectSshKeyOutput

func (ProjectSshKeyOutput) ToProjectSshKeyPtrOutput

func (o ProjectSshKeyOutput) ToProjectSshKeyPtrOutput() ProjectSshKeyPtrOutput

func (ProjectSshKeyOutput) ToProjectSshKeyPtrOutputWithContext

func (o ProjectSshKeyOutput) ToProjectSshKeyPtrOutputWithContext(ctx context.Context) ProjectSshKeyPtrOutput

type ProjectSshKeyPtrInput

type ProjectSshKeyPtrInput interface {
	pulumi.Input

	ToProjectSshKeyPtrOutput() ProjectSshKeyPtrOutput
	ToProjectSshKeyPtrOutputWithContext(ctx context.Context) ProjectSshKeyPtrOutput
}

type ProjectSshKeyPtrOutput

type ProjectSshKeyPtrOutput struct{ *pulumi.OutputState }

func (ProjectSshKeyPtrOutput) Elem added in v3.2.0

func (ProjectSshKeyPtrOutput) ElementType

func (ProjectSshKeyPtrOutput) ElementType() reflect.Type

func (ProjectSshKeyPtrOutput) ToProjectSshKeyPtrOutput

func (o ProjectSshKeyPtrOutput) ToProjectSshKeyPtrOutput() ProjectSshKeyPtrOutput

func (ProjectSshKeyPtrOutput) ToProjectSshKeyPtrOutputWithContext

func (o ProjectSshKeyPtrOutput) ToProjectSshKeyPtrOutputWithContext(ctx context.Context) ProjectSshKeyPtrOutput

type ProjectSshKeyState

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

func (ProjectSshKeyState) ElementType

func (ProjectSshKeyState) ElementType() reflect.Type

type ProjectState

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

func (ProjectState) ElementType

func (ProjectState) ElementType() reflect.Type

type Provider

type Provider struct {
	pulumi.ProviderResourceState

	// The API auth key for API operations.
	AuthToken pulumi.StringOutput `pulumi:"authToken"`
}

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

func NewProvider

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

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

func (*Provider) ElementType

func (*Provider) ElementType() reflect.Type

func (*Provider) ToProviderOutput

func (i *Provider) ToProviderOutput() ProviderOutput

func (*Provider) ToProviderOutputWithContext

func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

func (*Provider) ToProviderPtrOutput

func (i *Provider) ToProviderPtrOutput() ProviderPtrOutput

func (*Provider) ToProviderPtrOutputWithContext

func (i *Provider) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput

type ProviderArgs

type ProviderArgs struct {
	// The API auth key for API operations.
	AuthToken           pulumi.StringInput
	MaxRetries          pulumi.IntPtrInput
	MaxRetryWaitSeconds pulumi.IntPtrInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type ProviderInput

type ProviderInput interface {
	pulumi.Input

	ToProviderOutput() ProviderOutput
	ToProviderOutputWithContext(ctx context.Context) ProviderOutput
}

type ProviderOutput

type ProviderOutput struct{ *pulumi.OutputState }

func (ProviderOutput) ElementType

func (ProviderOutput) ElementType() reflect.Type

func (ProviderOutput) ToProviderOutput

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext

func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

func (ProviderOutput) ToProviderPtrOutput

func (o ProviderOutput) ToProviderPtrOutput() ProviderPtrOutput

func (ProviderOutput) ToProviderPtrOutputWithContext

func (o ProviderOutput) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput

type ProviderPtrInput

type ProviderPtrInput interface {
	pulumi.Input

	ToProviderPtrOutput() ProviderPtrOutput
	ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput
}

type ProviderPtrOutput

type ProviderPtrOutput struct{ *pulumi.OutputState }

func (ProviderPtrOutput) Elem added in v3.2.0

func (ProviderPtrOutput) ElementType

func (ProviderPtrOutput) ElementType() reflect.Type

func (ProviderPtrOutput) ToProviderPtrOutput

func (o ProviderPtrOutput) ToProviderPtrOutput() ProviderPtrOutput

func (ProviderPtrOutput) ToProviderPtrOutputWithContext

func (o ProviderPtrOutput) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput

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, conflicts with `metro`
	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"`
	// Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with `facility`
	Metro pulumi.StringPtrOutput `pulumi:"metro"`
	// 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 metal 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"`
	// String list of tags
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// 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, Equinix Metal 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.

## Example Usage

Allocate reserved IP blocks:

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewReservedIpBlock(ctx, "twoElasticAddresses", &equinix-metal.ReservedIpBlockArgs{
			ProjectId: pulumi.Any(local.Project_id),
			Facility:  pulumi.String("sv15"),
			Quantity:  pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewReservedIpBlock(ctx, "testReservedIpBlock", &equinix-metal.ReservedIpBlockArgs{
			ProjectId: pulumi.Any(local.Project_id),
			Type:      pulumi.String("public_ipv4"),
			Metro:     pulumi.String("sv"),
			Quantity:  pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewReservedIpBlock(ctx, "testIndex_reservedIpBlockReservedIpBlock", &equinix-metal.ReservedIpBlockArgs{
			ProjectId: pulumi.Any(local.Project_id),
			Type:      pulumi.String("global_ipv4"),
			Quantity:  pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

Allocate a block and run a device with public IPv4 from the block

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := equinix - metal.NewReservedIpBlock(ctx, "example", &equinix-metal.ReservedIpBlockArgs{
			ProjectId: pulumi.Any(local.Project_id),
			Facility:  pulumi.String("sv15"),
			Quantity:  pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewDevice(ctx, "nodes", &equinix-metal.DeviceArgs{
			ProjectId: pulumi.Any(local.Project_id),
			Facilities: pulumi.StringArray{
				pulumi.String("sv15"),
			},
			Plan:            pulumi.String("c3.small.x86"),
			OperatingSystem: pulumi.String("ubuntu_20_04"),
			Hostname:        pulumi.String("test"),
			BillingCycle:    pulumi.String("hourly"),
			IpAddresses: DeviceIpAddressArray{
				&DeviceIpAddressArgs{
					Type: pulumi.String("public_ipv4"),
					Cidr: pulumi.Int(31),
					ReservationIds: pulumi.StringArray{
						example.ID(),
					},
				},
				&DeviceIpAddressArgs{
					Type: pulumi.String("private_ipv4"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource can be imported using an existing IP reservation ID

```sh

$ pulumi import equinix-metal:index/reservedIpBlock:ReservedIpBlock metal_reserved_ip_block {existing_ip_reservation_id}

```

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.

func (*ReservedIpBlock) ElementType

func (*ReservedIpBlock) ElementType() reflect.Type

func (*ReservedIpBlock) ToReservedIpBlockOutput

func (i *ReservedIpBlock) ToReservedIpBlockOutput() ReservedIpBlockOutput

func (*ReservedIpBlock) ToReservedIpBlockOutputWithContext

func (i *ReservedIpBlock) ToReservedIpBlockOutputWithContext(ctx context.Context) ReservedIpBlockOutput

func (*ReservedIpBlock) ToReservedIpBlockPtrOutput

func (i *ReservedIpBlock) ToReservedIpBlockPtrOutput() ReservedIpBlockPtrOutput

func (*ReservedIpBlock) ToReservedIpBlockPtrOutputWithContext

func (i *ReservedIpBlock) ToReservedIpBlockPtrOutputWithContext(ctx context.Context) ReservedIpBlockPtrOutput

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, conflicts with `metro`
	Facility pulumi.StringPtrInput
	// Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with `facility`
	Metro pulumi.StringPtrInput
	// The metal project ID where to allocate the address block
	ProjectId pulumi.StringInput
	// The number of allocated /32 addresses, a power of 2
	Quantity pulumi.IntInput
	// String list of tags
	Tags pulumi.StringArrayInput
	// Either "globalIpv4" or "publicIpv4", defaults to "publicIpv4" for backward compatibility
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a ReservedIpBlock resource.

func (ReservedIpBlockArgs) ElementType

func (ReservedIpBlockArgs) ElementType() reflect.Type

type ReservedIpBlockArray

type ReservedIpBlockArray []ReservedIpBlockInput

func (ReservedIpBlockArray) ElementType

func (ReservedIpBlockArray) ElementType() reflect.Type

func (ReservedIpBlockArray) ToReservedIpBlockArrayOutput

func (i ReservedIpBlockArray) ToReservedIpBlockArrayOutput() ReservedIpBlockArrayOutput

func (ReservedIpBlockArray) ToReservedIpBlockArrayOutputWithContext

func (i ReservedIpBlockArray) ToReservedIpBlockArrayOutputWithContext(ctx context.Context) ReservedIpBlockArrayOutput

type ReservedIpBlockArrayInput

type ReservedIpBlockArrayInput interface {
	pulumi.Input

	ToReservedIpBlockArrayOutput() ReservedIpBlockArrayOutput
	ToReservedIpBlockArrayOutputWithContext(context.Context) ReservedIpBlockArrayOutput
}

ReservedIpBlockArrayInput is an input type that accepts ReservedIpBlockArray and ReservedIpBlockArrayOutput values. You can construct a concrete instance of `ReservedIpBlockArrayInput` via:

ReservedIpBlockArray{ ReservedIpBlockArgs{...} }

type ReservedIpBlockArrayOutput

type ReservedIpBlockArrayOutput struct{ *pulumi.OutputState }

func (ReservedIpBlockArrayOutput) ElementType

func (ReservedIpBlockArrayOutput) ElementType() reflect.Type

func (ReservedIpBlockArrayOutput) Index

func (ReservedIpBlockArrayOutput) ToReservedIpBlockArrayOutput

func (o ReservedIpBlockArrayOutput) ToReservedIpBlockArrayOutput() ReservedIpBlockArrayOutput

func (ReservedIpBlockArrayOutput) ToReservedIpBlockArrayOutputWithContext

func (o ReservedIpBlockArrayOutput) ToReservedIpBlockArrayOutputWithContext(ctx context.Context) ReservedIpBlockArrayOutput

type ReservedIpBlockInput

type ReservedIpBlockInput interface {
	pulumi.Input

	ToReservedIpBlockOutput() ReservedIpBlockOutput
	ToReservedIpBlockOutputWithContext(ctx context.Context) ReservedIpBlockOutput
}

type ReservedIpBlockMap

type ReservedIpBlockMap map[string]ReservedIpBlockInput

func (ReservedIpBlockMap) ElementType

func (ReservedIpBlockMap) ElementType() reflect.Type

func (ReservedIpBlockMap) ToReservedIpBlockMapOutput

func (i ReservedIpBlockMap) ToReservedIpBlockMapOutput() ReservedIpBlockMapOutput

func (ReservedIpBlockMap) ToReservedIpBlockMapOutputWithContext

func (i ReservedIpBlockMap) ToReservedIpBlockMapOutputWithContext(ctx context.Context) ReservedIpBlockMapOutput

type ReservedIpBlockMapInput

type ReservedIpBlockMapInput interface {
	pulumi.Input

	ToReservedIpBlockMapOutput() ReservedIpBlockMapOutput
	ToReservedIpBlockMapOutputWithContext(context.Context) ReservedIpBlockMapOutput
}

ReservedIpBlockMapInput is an input type that accepts ReservedIpBlockMap and ReservedIpBlockMapOutput values. You can construct a concrete instance of `ReservedIpBlockMapInput` via:

ReservedIpBlockMap{ "key": ReservedIpBlockArgs{...} }

type ReservedIpBlockMapOutput

type ReservedIpBlockMapOutput struct{ *pulumi.OutputState }

func (ReservedIpBlockMapOutput) ElementType

func (ReservedIpBlockMapOutput) ElementType() reflect.Type

func (ReservedIpBlockMapOutput) MapIndex

func (ReservedIpBlockMapOutput) ToReservedIpBlockMapOutput

func (o ReservedIpBlockMapOutput) ToReservedIpBlockMapOutput() ReservedIpBlockMapOutput

func (ReservedIpBlockMapOutput) ToReservedIpBlockMapOutputWithContext

func (o ReservedIpBlockMapOutput) ToReservedIpBlockMapOutputWithContext(ctx context.Context) ReservedIpBlockMapOutput

type ReservedIpBlockOutput

type ReservedIpBlockOutput struct{ *pulumi.OutputState }

func (ReservedIpBlockOutput) ElementType

func (ReservedIpBlockOutput) ElementType() reflect.Type

func (ReservedIpBlockOutput) ToReservedIpBlockOutput

func (o ReservedIpBlockOutput) ToReservedIpBlockOutput() ReservedIpBlockOutput

func (ReservedIpBlockOutput) ToReservedIpBlockOutputWithContext

func (o ReservedIpBlockOutput) ToReservedIpBlockOutputWithContext(ctx context.Context) ReservedIpBlockOutput

func (ReservedIpBlockOutput) ToReservedIpBlockPtrOutput

func (o ReservedIpBlockOutput) ToReservedIpBlockPtrOutput() ReservedIpBlockPtrOutput

func (ReservedIpBlockOutput) ToReservedIpBlockPtrOutputWithContext

func (o ReservedIpBlockOutput) ToReservedIpBlockPtrOutputWithContext(ctx context.Context) ReservedIpBlockPtrOutput

type ReservedIpBlockPtrInput

type ReservedIpBlockPtrInput interface {
	pulumi.Input

	ToReservedIpBlockPtrOutput() ReservedIpBlockPtrOutput
	ToReservedIpBlockPtrOutputWithContext(ctx context.Context) ReservedIpBlockPtrOutput
}

type ReservedIpBlockPtrOutput

type ReservedIpBlockPtrOutput struct{ *pulumi.OutputState }

func (ReservedIpBlockPtrOutput) Elem added in v3.2.0

func (ReservedIpBlockPtrOutput) ElementType

func (ReservedIpBlockPtrOutput) ElementType() reflect.Type

func (ReservedIpBlockPtrOutput) ToReservedIpBlockPtrOutput

func (o ReservedIpBlockPtrOutput) ToReservedIpBlockPtrOutput() ReservedIpBlockPtrOutput

func (ReservedIpBlockPtrOutput) ToReservedIpBlockPtrOutputWithContext

func (o ReservedIpBlockPtrOutput) ToReservedIpBlockPtrOutputWithContext(ctx context.Context) ReservedIpBlockPtrOutput

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, conflicts with `metro`
	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
	// Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with `facility`
	Metro pulumi.StringPtrInput
	// 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 metal 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
	// String list of tags
	Tags pulumi.StringArrayInput
	// Either "globalIpv4" or "publicIpv4", defaults to "publicIpv4" for backward compatibility
	Type pulumi.StringPtrInput
}

func (ReservedIpBlockState) ElementType

func (ReservedIpBlockState) ElementType() reflect.Type

type SpotMarketRequest

type SpotMarketRequest struct {
	pulumi.CustomResourceState

	// Maximum number devices to be created
	DevicesMax pulumi.IntOutput `pulumi:"devicesMax"`
	// Miniumum number devices to be created
	DevicesMin pulumi.IntOutput `pulumi:"devicesMin"`
	// Facility IDs where devices should be created
	Facilities pulumi.StringArrayOutput `pulumi:"facilities"`
	// Parameters for devices provisioned from this request. You can find the parameter description from the Device doc.
	// * `billingCycle`
	// * `plan`
	// * `operatingSystem`
	// * `hostname`
	// * `termintationTime`
	// * `alwaysPxe`
	// * `description`
	// * `features`
	// * `locked`
	// * `projectSshKeys`
	// * `userSshKeys`
	// * `userdata`
	// * `customdata`
	// * `ipxeScriptUrl`
	// * `tags`
	InstanceParameters SpotMarketRequestInstanceParametersOutput `pulumi:"instanceParameters"`
	// Maximum price user is willing to pay per hour per device
	MaxBidPrice pulumi.Float64Output `pulumi:"maxBidPrice"`
	// Metro where devices should be created
	Metro pulumi.StringPtrOutput `pulumi:"metro"`
	// 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 an Equinix Metal 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 Equinix Metal documentation](https://metal.equinix.com/developers/docs/deploy/spot-market/).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewSpotMarketRequest(ctx, "req", &equinix-metal.SpotMarketRequestArgs{
			ProjectId:   pulumi.Any(local.Project_id),
			MaxBidPrice: pulumi.Float64(0.03),
			Facilities: pulumi.StringArray{
				pulumi.String("ny5"),
			},
			DevicesMin: pulumi.Int(1),
			DevicesMax: pulumi.Int(1),
			InstanceParameters: &SpotMarketRequestInstanceParametersArgs{
				Hostname:        pulumi.String("testspot"),
				BillingCycle:    pulumi.String("hourly"),
				OperatingSystem: pulumi.String("ubuntu_20_04"),
				Plan:            pulumi.String("c3.small.x86"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource can be imported using an existing spot market request ID

```sh

$ pulumi import equinix-metal:index/spotMarketRequest:SpotMarketRequest metal_spot_market_request {existing_spot_market_request_id}

```

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.

func (*SpotMarketRequest) ElementType

func (*SpotMarketRequest) ElementType() reflect.Type

func (*SpotMarketRequest) ToSpotMarketRequestOutput

func (i *SpotMarketRequest) ToSpotMarketRequestOutput() SpotMarketRequestOutput

func (*SpotMarketRequest) ToSpotMarketRequestOutputWithContext

func (i *SpotMarketRequest) ToSpotMarketRequestOutputWithContext(ctx context.Context) SpotMarketRequestOutput

func (*SpotMarketRequest) ToSpotMarketRequestPtrOutput

func (i *SpotMarketRequest) ToSpotMarketRequestPtrOutput() SpotMarketRequestPtrOutput

func (*SpotMarketRequest) ToSpotMarketRequestPtrOutputWithContext

func (i *SpotMarketRequest) ToSpotMarketRequestPtrOutputWithContext(ctx context.Context) SpotMarketRequestPtrOutput

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
	// Parameters for devices provisioned from this request. You can find the parameter description from the Device doc.
	// * `billingCycle`
	// * `plan`
	// * `operatingSystem`
	// * `hostname`
	// * `termintationTime`
	// * `alwaysPxe`
	// * `description`
	// * `features`
	// * `locked`
	// * `projectSshKeys`
	// * `userSshKeys`
	// * `userdata`
	// * `customdata`
	// * `ipxeScriptUrl`
	// * `tags`
	InstanceParameters SpotMarketRequestInstanceParametersInput
	// Maximum price user is willing to pay per hour per device
	MaxBidPrice pulumi.Float64Input
	// Metro where devices should be created
	Metro pulumi.StringPtrInput
	// Project ID
	ProjectId pulumi.StringInput
	// On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
	WaitForDevices pulumi.BoolPtrInput
}

The set of arguments for constructing a SpotMarketRequest resource.

func (SpotMarketRequestArgs) ElementType

func (SpotMarketRequestArgs) ElementType() reflect.Type

type SpotMarketRequestArray

type SpotMarketRequestArray []SpotMarketRequestInput

func (SpotMarketRequestArray) ElementType

func (SpotMarketRequestArray) ElementType() reflect.Type

func (SpotMarketRequestArray) ToSpotMarketRequestArrayOutput

func (i SpotMarketRequestArray) ToSpotMarketRequestArrayOutput() SpotMarketRequestArrayOutput

func (SpotMarketRequestArray) ToSpotMarketRequestArrayOutputWithContext

func (i SpotMarketRequestArray) ToSpotMarketRequestArrayOutputWithContext(ctx context.Context) SpotMarketRequestArrayOutput

type SpotMarketRequestArrayInput

type SpotMarketRequestArrayInput interface {
	pulumi.Input

	ToSpotMarketRequestArrayOutput() SpotMarketRequestArrayOutput
	ToSpotMarketRequestArrayOutputWithContext(context.Context) SpotMarketRequestArrayOutput
}

SpotMarketRequestArrayInput is an input type that accepts SpotMarketRequestArray and SpotMarketRequestArrayOutput values. You can construct a concrete instance of `SpotMarketRequestArrayInput` via:

SpotMarketRequestArray{ SpotMarketRequestArgs{...} }

type SpotMarketRequestArrayOutput

type SpotMarketRequestArrayOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestArrayOutput) ElementType

func (SpotMarketRequestArrayOutput) Index

func (SpotMarketRequestArrayOutput) ToSpotMarketRequestArrayOutput

func (o SpotMarketRequestArrayOutput) ToSpotMarketRequestArrayOutput() SpotMarketRequestArrayOutput

func (SpotMarketRequestArrayOutput) ToSpotMarketRequestArrayOutputWithContext

func (o SpotMarketRequestArrayOutput) ToSpotMarketRequestArrayOutputWithContext(ctx context.Context) SpotMarketRequestArrayOutput

type SpotMarketRequestInput

type SpotMarketRequestInput interface {
	pulumi.Input

	ToSpotMarketRequestOutput() SpotMarketRequestOutput
	ToSpotMarketRequestOutputWithContext(ctx context.Context) SpotMarketRequestOutput
}

type SpotMarketRequestInstanceParameters

type SpotMarketRequestInstanceParameters struct {
	AlwaysPxe     *bool    `pulumi:"alwaysPxe"`
	BillingCycle  string   `pulumi:"billingCycle"`
	Customdata    *string  `pulumi:"customdata"`
	Description   *string  `pulumi:"description"`
	Features      []string `pulumi:"features"`
	Hostname      string   `pulumi:"hostname"`
	IpxeScriptUrl *string  `pulumi:"ipxeScriptUrl"`
	// Blocks deletion of the SpotMarketRequest device until the lock is disabled
	Locked           *bool    `pulumi:"locked"`
	OperatingSystem  string   `pulumi:"operatingSystem"`
	Plan             string   `pulumi:"plan"`
	ProjectSshKeys   []string `pulumi:"projectSshKeys"`
	Tags             []string `pulumi:"tags"`
	TermintationTime *string  `pulumi:"termintationTime"`
	UserSshKeys      []string `pulumi:"userSshKeys"`
	Userdata         *string  `pulumi:"userdata"`
}

type SpotMarketRequestInstanceParametersArgs

type SpotMarketRequestInstanceParametersArgs struct {
	AlwaysPxe     pulumi.BoolPtrInput     `pulumi:"alwaysPxe"`
	BillingCycle  pulumi.StringInput      `pulumi:"billingCycle"`
	Customdata    pulumi.StringPtrInput   `pulumi:"customdata"`
	Description   pulumi.StringPtrInput   `pulumi:"description"`
	Features      pulumi.StringArrayInput `pulumi:"features"`
	Hostname      pulumi.StringInput      `pulumi:"hostname"`
	IpxeScriptUrl pulumi.StringPtrInput   `pulumi:"ipxeScriptUrl"`
	// Blocks deletion of the SpotMarketRequest device until the lock is disabled
	Locked           pulumi.BoolPtrInput     `pulumi:"locked"`
	OperatingSystem  pulumi.StringInput      `pulumi:"operatingSystem"`
	Plan             pulumi.StringInput      `pulumi:"plan"`
	ProjectSshKeys   pulumi.StringArrayInput `pulumi:"projectSshKeys"`
	Tags             pulumi.StringArrayInput `pulumi:"tags"`
	TermintationTime pulumi.StringPtrInput   `pulumi:"termintationTime"`
	UserSshKeys      pulumi.StringArrayInput `pulumi:"userSshKeys"`
	Userdata         pulumi.StringPtrInput   `pulumi:"userdata"`
}

func (SpotMarketRequestInstanceParametersArgs) ElementType

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutput

func (i SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutput() SpotMarketRequestInstanceParametersOutput

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersOutputWithContext

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

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutput

func (i SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersArgs) ToSpotMarketRequestInstanceParametersPtrOutputWithContext

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

type SpotMarketRequestInstanceParametersInput

type SpotMarketRequestInstanceParametersInput interface {
	pulumi.Input

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

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

SpotMarketRequestInstanceParametersArgs{...}

type SpotMarketRequestInstanceParametersOutput

type SpotMarketRequestInstanceParametersOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestInstanceParametersOutput) AlwaysPxe

func (SpotMarketRequestInstanceParametersOutput) BillingCycle

func (SpotMarketRequestInstanceParametersOutput) Customdata

func (SpotMarketRequestInstanceParametersOutput) Description

func (SpotMarketRequestInstanceParametersOutput) ElementType

func (SpotMarketRequestInstanceParametersOutput) Features

func (SpotMarketRequestInstanceParametersOutput) Hostname

func (SpotMarketRequestInstanceParametersOutput) IpxeScriptUrl

func (SpotMarketRequestInstanceParametersOutput) Locked

Blocks deletion of the SpotMarketRequest device until the lock is disabled

func (SpotMarketRequestInstanceParametersOutput) OperatingSystem

func (SpotMarketRequestInstanceParametersOutput) Plan

func (SpotMarketRequestInstanceParametersOutput) ProjectSshKeys

func (SpotMarketRequestInstanceParametersOutput) Tags

func (SpotMarketRequestInstanceParametersOutput) TermintationTime

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutput

func (o SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutput() SpotMarketRequestInstanceParametersOutput

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersOutputWithContext

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

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutput

func (o SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersOutput) ToSpotMarketRequestInstanceParametersPtrOutputWithContext

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

func (SpotMarketRequestInstanceParametersOutput) UserSshKeys

func (SpotMarketRequestInstanceParametersOutput) Userdata

type SpotMarketRequestInstanceParametersPtrInput

type SpotMarketRequestInstanceParametersPtrInput interface {
	pulumi.Input

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

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

        SpotMarketRequestInstanceParametersArgs{...}

or:

        nil

type SpotMarketRequestInstanceParametersPtrOutput

type SpotMarketRequestInstanceParametersPtrOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestInstanceParametersPtrOutput) AlwaysPxe

func (SpotMarketRequestInstanceParametersPtrOutput) BillingCycle

func (SpotMarketRequestInstanceParametersPtrOutput) Customdata

func (SpotMarketRequestInstanceParametersPtrOutput) Description

func (SpotMarketRequestInstanceParametersPtrOutput) Elem

func (SpotMarketRequestInstanceParametersPtrOutput) ElementType

func (SpotMarketRequestInstanceParametersPtrOutput) Features

func (SpotMarketRequestInstanceParametersPtrOutput) Hostname

func (SpotMarketRequestInstanceParametersPtrOutput) IpxeScriptUrl

func (SpotMarketRequestInstanceParametersPtrOutput) Locked

Blocks deletion of the SpotMarketRequest device until the lock is disabled

func (SpotMarketRequestInstanceParametersPtrOutput) OperatingSystem

func (SpotMarketRequestInstanceParametersPtrOutput) Plan

func (SpotMarketRequestInstanceParametersPtrOutput) ProjectSshKeys

func (SpotMarketRequestInstanceParametersPtrOutput) Tags

func (SpotMarketRequestInstanceParametersPtrOutput) TermintationTime

func (SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutput

func (o SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutput() SpotMarketRequestInstanceParametersPtrOutput

func (SpotMarketRequestInstanceParametersPtrOutput) ToSpotMarketRequestInstanceParametersPtrOutputWithContext

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

func (SpotMarketRequestInstanceParametersPtrOutput) UserSshKeys

func (SpotMarketRequestInstanceParametersPtrOutput) Userdata

type SpotMarketRequestMap

type SpotMarketRequestMap map[string]SpotMarketRequestInput

func (SpotMarketRequestMap) ElementType

func (SpotMarketRequestMap) ElementType() reflect.Type

func (SpotMarketRequestMap) ToSpotMarketRequestMapOutput

func (i SpotMarketRequestMap) ToSpotMarketRequestMapOutput() SpotMarketRequestMapOutput

func (SpotMarketRequestMap) ToSpotMarketRequestMapOutputWithContext

func (i SpotMarketRequestMap) ToSpotMarketRequestMapOutputWithContext(ctx context.Context) SpotMarketRequestMapOutput

type SpotMarketRequestMapInput

type SpotMarketRequestMapInput interface {
	pulumi.Input

	ToSpotMarketRequestMapOutput() SpotMarketRequestMapOutput
	ToSpotMarketRequestMapOutputWithContext(context.Context) SpotMarketRequestMapOutput
}

SpotMarketRequestMapInput is an input type that accepts SpotMarketRequestMap and SpotMarketRequestMapOutput values. You can construct a concrete instance of `SpotMarketRequestMapInput` via:

SpotMarketRequestMap{ "key": SpotMarketRequestArgs{...} }

type SpotMarketRequestMapOutput

type SpotMarketRequestMapOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestMapOutput) ElementType

func (SpotMarketRequestMapOutput) ElementType() reflect.Type

func (SpotMarketRequestMapOutput) MapIndex

func (SpotMarketRequestMapOutput) ToSpotMarketRequestMapOutput

func (o SpotMarketRequestMapOutput) ToSpotMarketRequestMapOutput() SpotMarketRequestMapOutput

func (SpotMarketRequestMapOutput) ToSpotMarketRequestMapOutputWithContext

func (o SpotMarketRequestMapOutput) ToSpotMarketRequestMapOutputWithContext(ctx context.Context) SpotMarketRequestMapOutput

type SpotMarketRequestOutput

type SpotMarketRequestOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestOutput) ElementType

func (SpotMarketRequestOutput) ElementType() reflect.Type

func (SpotMarketRequestOutput) ToSpotMarketRequestOutput

func (o SpotMarketRequestOutput) ToSpotMarketRequestOutput() SpotMarketRequestOutput

func (SpotMarketRequestOutput) ToSpotMarketRequestOutputWithContext

func (o SpotMarketRequestOutput) ToSpotMarketRequestOutputWithContext(ctx context.Context) SpotMarketRequestOutput

func (SpotMarketRequestOutput) ToSpotMarketRequestPtrOutput

func (o SpotMarketRequestOutput) ToSpotMarketRequestPtrOutput() SpotMarketRequestPtrOutput

func (SpotMarketRequestOutput) ToSpotMarketRequestPtrOutputWithContext

func (o SpotMarketRequestOutput) ToSpotMarketRequestPtrOutputWithContext(ctx context.Context) SpotMarketRequestPtrOutput

type SpotMarketRequestPtrInput

type SpotMarketRequestPtrInput interface {
	pulumi.Input

	ToSpotMarketRequestPtrOutput() SpotMarketRequestPtrOutput
	ToSpotMarketRequestPtrOutputWithContext(ctx context.Context) SpotMarketRequestPtrOutput
}

type SpotMarketRequestPtrOutput

type SpotMarketRequestPtrOutput struct{ *pulumi.OutputState }

func (SpotMarketRequestPtrOutput) Elem added in v3.2.0

func (SpotMarketRequestPtrOutput) ElementType

func (SpotMarketRequestPtrOutput) ElementType() reflect.Type

func (SpotMarketRequestPtrOutput) ToSpotMarketRequestPtrOutput

func (o SpotMarketRequestPtrOutput) ToSpotMarketRequestPtrOutput() SpotMarketRequestPtrOutput

func (SpotMarketRequestPtrOutput) ToSpotMarketRequestPtrOutputWithContext

func (o SpotMarketRequestPtrOutput) ToSpotMarketRequestPtrOutputWithContext(ctx context.Context) SpotMarketRequestPtrOutput

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
	// Parameters for devices provisioned from this request. You can find the parameter description from the Device doc.
	// * `billingCycle`
	// * `plan`
	// * `operatingSystem`
	// * `hostname`
	// * `termintationTime`
	// * `alwaysPxe`
	// * `description`
	// * `features`
	// * `locked`
	// * `projectSshKeys`
	// * `userSshKeys`
	// * `userdata`
	// * `customdata`
	// * `ipxeScriptUrl`
	// * `tags`
	InstanceParameters SpotMarketRequestInstanceParametersPtrInput
	// Maximum price user is willing to pay per hour per device
	MaxBidPrice pulumi.Float64PtrInput
	// Metro where devices should be created
	Metro pulumi.StringPtrInput
	// Project ID
	ProjectId pulumi.StringPtrInput
	// On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
	WaitForDevices pulumi.BoolPtrInput
}

func (SpotMarketRequestState) ElementType

func (SpotMarketRequestState) ElementType() reflect.Type

type SshKey

type SshKey struct {
	pulumi.CustomResourceState

	// The timestamp for when the SSH key was created
	Created pulumi.StringOutput `pulumi:"created"`
	// The fingerprint of the SSH key
	Fingerprint pulumi.StringOutput `pulumi:"fingerprint"`
	// The name of the SSH key for identification
	Name pulumi.StringOutput `pulumi:"name"`
	// The UUID of the Equinix Metal 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 Equinix Metal 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.

## Example Usage

```go package main

import (

"io/ioutil"

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewSshKey(ctx, "key1", &equinix-metal.SshKeyArgs{
			PublicKey: readFileOrPanic("/home/terraform/.ssh/id_rsa.pub"),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewDevice(ctx, "test", &equinix-metal.DeviceArgs{
			Hostname: pulumi.String("test-device"),
			Plan:     pulumi.String("c3.small.x86"),
			Facilities: pulumi.StringArray{
				pulumi.String("sjc1"),
			},
			OperatingSystem: pulumi.String("ubuntu_20_04"),
			BillingCycle:    pulumi.String("hourly"),
			ProjectId:       pulumi.Any(local.Project_id),
		}, pulumi.DependsOn([]pulumi.Resource{
			pulumi.Resource("metal_ssh_key.key1"),
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource can be imported using an existing SSH Key ID

```sh

$ pulumi import equinix-metal:index/sshKey:SshKey metal_ssh_key {existing_sshkey_id}

```

func GetSshKey

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

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

func NewSshKey

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

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

func (*SshKey) ElementType

func (*SshKey) ElementType() reflect.Type

func (*SshKey) ToSshKeyOutput

func (i *SshKey) ToSshKeyOutput() SshKeyOutput

func (*SshKey) ToSshKeyOutputWithContext

func (i *SshKey) ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput

func (*SshKey) ToSshKeyPtrOutput

func (i *SshKey) ToSshKeyPtrOutput() SshKeyPtrOutput

func (*SshKey) ToSshKeyPtrOutputWithContext

func (i *SshKey) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput

type SshKeyArgs

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

The set of arguments for constructing a SshKey resource.

func (SshKeyArgs) ElementType

func (SshKeyArgs) ElementType() reflect.Type

type SshKeyArray

type SshKeyArray []SshKeyInput

func (SshKeyArray) ElementType

func (SshKeyArray) ElementType() reflect.Type

func (SshKeyArray) ToSshKeyArrayOutput

func (i SshKeyArray) ToSshKeyArrayOutput() SshKeyArrayOutput

func (SshKeyArray) ToSshKeyArrayOutputWithContext

func (i SshKeyArray) ToSshKeyArrayOutputWithContext(ctx context.Context) SshKeyArrayOutput

type SshKeyArrayInput

type SshKeyArrayInput interface {
	pulumi.Input

	ToSshKeyArrayOutput() SshKeyArrayOutput
	ToSshKeyArrayOutputWithContext(context.Context) SshKeyArrayOutput
}

SshKeyArrayInput is an input type that accepts SshKeyArray and SshKeyArrayOutput values. You can construct a concrete instance of `SshKeyArrayInput` via:

SshKeyArray{ SshKeyArgs{...} }

type SshKeyArrayOutput

type SshKeyArrayOutput struct{ *pulumi.OutputState }

func (SshKeyArrayOutput) ElementType

func (SshKeyArrayOutput) ElementType() reflect.Type

func (SshKeyArrayOutput) Index

func (SshKeyArrayOutput) ToSshKeyArrayOutput

func (o SshKeyArrayOutput) ToSshKeyArrayOutput() SshKeyArrayOutput

func (SshKeyArrayOutput) ToSshKeyArrayOutputWithContext

func (o SshKeyArrayOutput) ToSshKeyArrayOutputWithContext(ctx context.Context) SshKeyArrayOutput

type SshKeyInput

type SshKeyInput interface {
	pulumi.Input

	ToSshKeyOutput() SshKeyOutput
	ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput
}

type SshKeyMap

type SshKeyMap map[string]SshKeyInput

func (SshKeyMap) ElementType

func (SshKeyMap) ElementType() reflect.Type

func (SshKeyMap) ToSshKeyMapOutput

func (i SshKeyMap) ToSshKeyMapOutput() SshKeyMapOutput

func (SshKeyMap) ToSshKeyMapOutputWithContext

func (i SshKeyMap) ToSshKeyMapOutputWithContext(ctx context.Context) SshKeyMapOutput

type SshKeyMapInput

type SshKeyMapInput interface {
	pulumi.Input

	ToSshKeyMapOutput() SshKeyMapOutput
	ToSshKeyMapOutputWithContext(context.Context) SshKeyMapOutput
}

SshKeyMapInput is an input type that accepts SshKeyMap and SshKeyMapOutput values. You can construct a concrete instance of `SshKeyMapInput` via:

SshKeyMap{ "key": SshKeyArgs{...} }

type SshKeyMapOutput

type SshKeyMapOutput struct{ *pulumi.OutputState }

func (SshKeyMapOutput) ElementType

func (SshKeyMapOutput) ElementType() reflect.Type

func (SshKeyMapOutput) MapIndex

func (SshKeyMapOutput) ToSshKeyMapOutput

func (o SshKeyMapOutput) ToSshKeyMapOutput() SshKeyMapOutput

func (SshKeyMapOutput) ToSshKeyMapOutputWithContext

func (o SshKeyMapOutput) ToSshKeyMapOutputWithContext(ctx context.Context) SshKeyMapOutput

type SshKeyOutput

type SshKeyOutput struct{ *pulumi.OutputState }

func (SshKeyOutput) ElementType

func (SshKeyOutput) ElementType() reflect.Type

func (SshKeyOutput) ToSshKeyOutput

func (o SshKeyOutput) ToSshKeyOutput() SshKeyOutput

func (SshKeyOutput) ToSshKeyOutputWithContext

func (o SshKeyOutput) ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput

func (SshKeyOutput) ToSshKeyPtrOutput

func (o SshKeyOutput) ToSshKeyPtrOutput() SshKeyPtrOutput

func (SshKeyOutput) ToSshKeyPtrOutputWithContext

func (o SshKeyOutput) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput

type SshKeyPtrInput

type SshKeyPtrInput interface {
	pulumi.Input

	ToSshKeyPtrOutput() SshKeyPtrOutput
	ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput
}

type SshKeyPtrOutput

type SshKeyPtrOutput struct{ *pulumi.OutputState }

func (SshKeyPtrOutput) Elem added in v3.2.0

func (o SshKeyPtrOutput) Elem() SshKeyOutput

func (SshKeyPtrOutput) ElementType

func (SshKeyPtrOutput) ElementType() reflect.Type

func (SshKeyPtrOutput) ToSshKeyPtrOutput

func (o SshKeyPtrOutput) ToSshKeyPtrOutput() SshKeyPtrOutput

func (SshKeyPtrOutput) ToSshKeyPtrOutputWithContext

func (o SshKeyPtrOutput) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput

type SshKeyState

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

func (SshKeyState) ElementType

func (SshKeyState) ElementType() reflect.Type

type UserApiKey

type UserApiKey struct {
	pulumi.CustomResourceState

	// Description string for the User API Key resource
	// * `read-only` - Flag indicating whether the API key shoud be read-only
	Description pulumi.StringOutput `pulumi:"description"`
	// Flag indicating whether the API key shoud be read-only
	ReadOnly pulumi.BoolOutput `pulumi:"readOnly"`
	// API token which can be used in Equinix Metal API clients
	Token pulumi.StringOutput `pulumi:"token"`
	// UUID of the owner of the API key
	UserId pulumi.StringOutput `pulumi:"userId"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewUserApiKey(ctx, "test", &equinix-metal.UserApiKeyArgs{
			Description: pulumi.String("Read-only user key"),
			ReadOnly:    pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetUserApiKey

func GetUserApiKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserApiKeyState, opts ...pulumi.ResourceOption) (*UserApiKey, error)

GetUserApiKey gets an existing UserApiKey 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 NewUserApiKey

func NewUserApiKey(ctx *pulumi.Context,
	name string, args *UserApiKeyArgs, opts ...pulumi.ResourceOption) (*UserApiKey, error)

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

func (*UserApiKey) ElementType

func (*UserApiKey) ElementType() reflect.Type

func (*UserApiKey) ToUserApiKeyOutput

func (i *UserApiKey) ToUserApiKeyOutput() UserApiKeyOutput

func (*UserApiKey) ToUserApiKeyOutputWithContext

func (i *UserApiKey) ToUserApiKeyOutputWithContext(ctx context.Context) UserApiKeyOutput

func (*UserApiKey) ToUserApiKeyPtrOutput

func (i *UserApiKey) ToUserApiKeyPtrOutput() UserApiKeyPtrOutput

func (*UserApiKey) ToUserApiKeyPtrOutputWithContext

func (i *UserApiKey) ToUserApiKeyPtrOutputWithContext(ctx context.Context) UserApiKeyPtrOutput

type UserApiKeyArgs

type UserApiKeyArgs struct {
	// Description string for the User API Key resource
	// * `read-only` - Flag indicating whether the API key shoud be read-only
	Description pulumi.StringInput
	// Flag indicating whether the API key shoud be read-only
	ReadOnly pulumi.BoolInput
}

The set of arguments for constructing a UserApiKey resource.

func (UserApiKeyArgs) ElementType

func (UserApiKeyArgs) ElementType() reflect.Type

type UserApiKeyArray

type UserApiKeyArray []UserApiKeyInput

func (UserApiKeyArray) ElementType

func (UserApiKeyArray) ElementType() reflect.Type

func (UserApiKeyArray) ToUserApiKeyArrayOutput

func (i UserApiKeyArray) ToUserApiKeyArrayOutput() UserApiKeyArrayOutput

func (UserApiKeyArray) ToUserApiKeyArrayOutputWithContext

func (i UserApiKeyArray) ToUserApiKeyArrayOutputWithContext(ctx context.Context) UserApiKeyArrayOutput

type UserApiKeyArrayInput

type UserApiKeyArrayInput interface {
	pulumi.Input

	ToUserApiKeyArrayOutput() UserApiKeyArrayOutput
	ToUserApiKeyArrayOutputWithContext(context.Context) UserApiKeyArrayOutput
}

UserApiKeyArrayInput is an input type that accepts UserApiKeyArray and UserApiKeyArrayOutput values. You can construct a concrete instance of `UserApiKeyArrayInput` via:

UserApiKeyArray{ UserApiKeyArgs{...} }

type UserApiKeyArrayOutput

type UserApiKeyArrayOutput struct{ *pulumi.OutputState }

func (UserApiKeyArrayOutput) ElementType

func (UserApiKeyArrayOutput) ElementType() reflect.Type

func (UserApiKeyArrayOutput) Index

func (UserApiKeyArrayOutput) ToUserApiKeyArrayOutput

func (o UserApiKeyArrayOutput) ToUserApiKeyArrayOutput() UserApiKeyArrayOutput

func (UserApiKeyArrayOutput) ToUserApiKeyArrayOutputWithContext

func (o UserApiKeyArrayOutput) ToUserApiKeyArrayOutputWithContext(ctx context.Context) UserApiKeyArrayOutput

type UserApiKeyInput

type UserApiKeyInput interface {
	pulumi.Input

	ToUserApiKeyOutput() UserApiKeyOutput
	ToUserApiKeyOutputWithContext(ctx context.Context) UserApiKeyOutput
}

type UserApiKeyMap

type UserApiKeyMap map[string]UserApiKeyInput

func (UserApiKeyMap) ElementType

func (UserApiKeyMap) ElementType() reflect.Type

func (UserApiKeyMap) ToUserApiKeyMapOutput

func (i UserApiKeyMap) ToUserApiKeyMapOutput() UserApiKeyMapOutput

func (UserApiKeyMap) ToUserApiKeyMapOutputWithContext

func (i UserApiKeyMap) ToUserApiKeyMapOutputWithContext(ctx context.Context) UserApiKeyMapOutput

type UserApiKeyMapInput

type UserApiKeyMapInput interface {
	pulumi.Input

	ToUserApiKeyMapOutput() UserApiKeyMapOutput
	ToUserApiKeyMapOutputWithContext(context.Context) UserApiKeyMapOutput
}

UserApiKeyMapInput is an input type that accepts UserApiKeyMap and UserApiKeyMapOutput values. You can construct a concrete instance of `UserApiKeyMapInput` via:

UserApiKeyMap{ "key": UserApiKeyArgs{...} }

type UserApiKeyMapOutput

type UserApiKeyMapOutput struct{ *pulumi.OutputState }

func (UserApiKeyMapOutput) ElementType

func (UserApiKeyMapOutput) ElementType() reflect.Type

func (UserApiKeyMapOutput) MapIndex

func (UserApiKeyMapOutput) ToUserApiKeyMapOutput

func (o UserApiKeyMapOutput) ToUserApiKeyMapOutput() UserApiKeyMapOutput

func (UserApiKeyMapOutput) ToUserApiKeyMapOutputWithContext

func (o UserApiKeyMapOutput) ToUserApiKeyMapOutputWithContext(ctx context.Context) UserApiKeyMapOutput

type UserApiKeyOutput

type UserApiKeyOutput struct{ *pulumi.OutputState }

func (UserApiKeyOutput) ElementType

func (UserApiKeyOutput) ElementType() reflect.Type

func (UserApiKeyOutput) ToUserApiKeyOutput

func (o UserApiKeyOutput) ToUserApiKeyOutput() UserApiKeyOutput

func (UserApiKeyOutput) ToUserApiKeyOutputWithContext

func (o UserApiKeyOutput) ToUserApiKeyOutputWithContext(ctx context.Context) UserApiKeyOutput

func (UserApiKeyOutput) ToUserApiKeyPtrOutput

func (o UserApiKeyOutput) ToUserApiKeyPtrOutput() UserApiKeyPtrOutput

func (UserApiKeyOutput) ToUserApiKeyPtrOutputWithContext

func (o UserApiKeyOutput) ToUserApiKeyPtrOutputWithContext(ctx context.Context) UserApiKeyPtrOutput

type UserApiKeyPtrInput

type UserApiKeyPtrInput interface {
	pulumi.Input

	ToUserApiKeyPtrOutput() UserApiKeyPtrOutput
	ToUserApiKeyPtrOutputWithContext(ctx context.Context) UserApiKeyPtrOutput
}

type UserApiKeyPtrOutput

type UserApiKeyPtrOutput struct{ *pulumi.OutputState }

func (UserApiKeyPtrOutput) Elem added in v3.2.0

func (UserApiKeyPtrOutput) ElementType

func (UserApiKeyPtrOutput) ElementType() reflect.Type

func (UserApiKeyPtrOutput) ToUserApiKeyPtrOutput

func (o UserApiKeyPtrOutput) ToUserApiKeyPtrOutput() UserApiKeyPtrOutput

func (UserApiKeyPtrOutput) ToUserApiKeyPtrOutputWithContext

func (o UserApiKeyPtrOutput) ToUserApiKeyPtrOutputWithContext(ctx context.Context) UserApiKeyPtrOutput

type UserApiKeyState

type UserApiKeyState struct {
	// Description string for the User API Key resource
	// * `read-only` - Flag indicating whether the API key shoud be read-only
	Description pulumi.StringPtrInput
	// Flag indicating whether the API key shoud be read-only
	ReadOnly pulumi.BoolPtrInput
	// API token which can be used in Equinix Metal API clients
	Token pulumi.StringPtrInput
	// UUID of the owner of the API key
	UserId pulumi.StringPtrInput
}

func (UserApiKeyState) ElementType

func (UserApiKeyState) ElementType() reflect.Type

type VirtualCircuit

type VirtualCircuit struct {
	pulumi.CustomResourceState

	// UUID of Connection where the VC is scoped to
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// Description for the Virtual Circuit resource
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Name of the Virtual Circuit resource
	Name pulumi.StringOutput `pulumi:"name"`
	// Equinix Metal network-to-network VLAN ID
	NniVlan pulumi.IntPtrOutput `pulumi:"nniVlan"`
	// Nni VLAN ID parameter, see https://metal.equinix.com/developers/docs/networking/fabric/
	NniVnid pulumi.IntOutput `pulumi:"nniVnid"`
	// UUID of the Connection Port where the VC is scoped to
	PortId pulumi.StringOutput `pulumi:"portId"`
	// UUID of the Project where the VC is scoped to
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Speed of the Virtual Circuit resource
	Speed pulumi.StringOutput `pulumi:"speed"`
	// Status of the virtal circuit
	// * `vnid`
	Status pulumi.StringOutput `pulumi:"status"`
	// Tags for the Virtual Circuit resource
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// UUID of the VLAN to associate
	VlanId pulumi.StringOutput `pulumi:"vlanId"`
	// VNID VLAN parameter, see https://metal.equinix.com/developers/docs/networking/fabric/
	Vnid pulumi.IntOutput `pulumi:"vnid"`
}

Use this resource to associate VLAN with a Dedicated Port from [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/#associating-a-vlan-with-a-dedicated-port).

## Example Usage

Pick an existing Project and Connection, create a VLAN and use `VirtualCircuit` to associate it with a Primary Port of the Connection.

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		projectId := "52000fb2-ee46-4673-93a8-de2c2bdba33c"
		connId := "73f12f29-3e19-43a0-8e90-ae81580db1e0"
		testConnection, err := equinix - metal.LookupConnection(ctx, &GetConnectionArgs{
			ConnectionId: connId,
		}, nil)
		if err != nil {
			return err
		}
		testVlan, err := equinix - metal.NewVlan(ctx, "testVlan", &equinix-metal.VlanArgs{
			ProjectId: pulumi.String(projectId),
			Metro:     pulumi.String(testConnection.Metro),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewVirtualCircuit(ctx, "testVirtualCircuit", &equinix-metal.VirtualCircuitArgs{
			ConnectionId: pulumi.String(connId),
			ProjectId:    pulumi.String(projectId),
			PortId:       pulumi.String(testConnection.Ports[0].Id),
			VlanId:       testVlan.ID(),
			NniVlan:      pulumi.Int(1056),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetVirtualCircuit

func GetVirtualCircuit(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualCircuitState, opts ...pulumi.ResourceOption) (*VirtualCircuit, error)

GetVirtualCircuit gets an existing VirtualCircuit 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 NewVirtualCircuit

func NewVirtualCircuit(ctx *pulumi.Context,
	name string, args *VirtualCircuitArgs, opts ...pulumi.ResourceOption) (*VirtualCircuit, error)

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

func (*VirtualCircuit) ElementType

func (*VirtualCircuit) ElementType() reflect.Type

func (*VirtualCircuit) ToVirtualCircuitOutput

func (i *VirtualCircuit) ToVirtualCircuitOutput() VirtualCircuitOutput

func (*VirtualCircuit) ToVirtualCircuitOutputWithContext

func (i *VirtualCircuit) ToVirtualCircuitOutputWithContext(ctx context.Context) VirtualCircuitOutput

func (*VirtualCircuit) ToVirtualCircuitPtrOutput

func (i *VirtualCircuit) ToVirtualCircuitPtrOutput() VirtualCircuitPtrOutput

func (*VirtualCircuit) ToVirtualCircuitPtrOutputWithContext

func (i *VirtualCircuit) ToVirtualCircuitPtrOutputWithContext(ctx context.Context) VirtualCircuitPtrOutput

type VirtualCircuitArgs

type VirtualCircuitArgs struct {
	// UUID of Connection where the VC is scoped to
	ConnectionId pulumi.StringInput
	// Description for the Virtual Circuit resource
	Description pulumi.StringPtrInput
	// Name of the Virtual Circuit resource
	Name pulumi.StringPtrInput
	// Equinix Metal network-to-network VLAN ID
	NniVlan pulumi.IntPtrInput
	// UUID of the Connection Port where the VC is scoped to
	PortId pulumi.StringInput
	// UUID of the Project where the VC is scoped to
	ProjectId pulumi.StringInput
	// Speed of the Virtual Circuit resource
	Speed pulumi.StringPtrInput
	// Tags for the Virtual Circuit resource
	Tags pulumi.StringArrayInput
	// UUID of the VLAN to associate
	VlanId pulumi.StringInput
}

The set of arguments for constructing a VirtualCircuit resource.

func (VirtualCircuitArgs) ElementType

func (VirtualCircuitArgs) ElementType() reflect.Type

type VirtualCircuitArray

type VirtualCircuitArray []VirtualCircuitInput

func (VirtualCircuitArray) ElementType

func (VirtualCircuitArray) ElementType() reflect.Type

func (VirtualCircuitArray) ToVirtualCircuitArrayOutput

func (i VirtualCircuitArray) ToVirtualCircuitArrayOutput() VirtualCircuitArrayOutput

func (VirtualCircuitArray) ToVirtualCircuitArrayOutputWithContext

func (i VirtualCircuitArray) ToVirtualCircuitArrayOutputWithContext(ctx context.Context) VirtualCircuitArrayOutput

type VirtualCircuitArrayInput

type VirtualCircuitArrayInput interface {
	pulumi.Input

	ToVirtualCircuitArrayOutput() VirtualCircuitArrayOutput
	ToVirtualCircuitArrayOutputWithContext(context.Context) VirtualCircuitArrayOutput
}

VirtualCircuitArrayInput is an input type that accepts VirtualCircuitArray and VirtualCircuitArrayOutput values. You can construct a concrete instance of `VirtualCircuitArrayInput` via:

VirtualCircuitArray{ VirtualCircuitArgs{...} }

type VirtualCircuitArrayOutput

type VirtualCircuitArrayOutput struct{ *pulumi.OutputState }

func (VirtualCircuitArrayOutput) ElementType

func (VirtualCircuitArrayOutput) ElementType() reflect.Type

func (VirtualCircuitArrayOutput) Index

func (VirtualCircuitArrayOutput) ToVirtualCircuitArrayOutput

func (o VirtualCircuitArrayOutput) ToVirtualCircuitArrayOutput() VirtualCircuitArrayOutput

func (VirtualCircuitArrayOutput) ToVirtualCircuitArrayOutputWithContext

func (o VirtualCircuitArrayOutput) ToVirtualCircuitArrayOutputWithContext(ctx context.Context) VirtualCircuitArrayOutput

type VirtualCircuitInput

type VirtualCircuitInput interface {
	pulumi.Input

	ToVirtualCircuitOutput() VirtualCircuitOutput
	ToVirtualCircuitOutputWithContext(ctx context.Context) VirtualCircuitOutput
}

type VirtualCircuitMap

type VirtualCircuitMap map[string]VirtualCircuitInput

func (VirtualCircuitMap) ElementType

func (VirtualCircuitMap) ElementType() reflect.Type

func (VirtualCircuitMap) ToVirtualCircuitMapOutput

func (i VirtualCircuitMap) ToVirtualCircuitMapOutput() VirtualCircuitMapOutput

func (VirtualCircuitMap) ToVirtualCircuitMapOutputWithContext

func (i VirtualCircuitMap) ToVirtualCircuitMapOutputWithContext(ctx context.Context) VirtualCircuitMapOutput

type VirtualCircuitMapInput

type VirtualCircuitMapInput interface {
	pulumi.Input

	ToVirtualCircuitMapOutput() VirtualCircuitMapOutput
	ToVirtualCircuitMapOutputWithContext(context.Context) VirtualCircuitMapOutput
}

VirtualCircuitMapInput is an input type that accepts VirtualCircuitMap and VirtualCircuitMapOutput values. You can construct a concrete instance of `VirtualCircuitMapInput` via:

VirtualCircuitMap{ "key": VirtualCircuitArgs{...} }

type VirtualCircuitMapOutput

type VirtualCircuitMapOutput struct{ *pulumi.OutputState }

func (VirtualCircuitMapOutput) ElementType

func (VirtualCircuitMapOutput) ElementType() reflect.Type

func (VirtualCircuitMapOutput) MapIndex

func (VirtualCircuitMapOutput) ToVirtualCircuitMapOutput

func (o VirtualCircuitMapOutput) ToVirtualCircuitMapOutput() VirtualCircuitMapOutput

func (VirtualCircuitMapOutput) ToVirtualCircuitMapOutputWithContext

func (o VirtualCircuitMapOutput) ToVirtualCircuitMapOutputWithContext(ctx context.Context) VirtualCircuitMapOutput

type VirtualCircuitOutput

type VirtualCircuitOutput struct{ *pulumi.OutputState }

func (VirtualCircuitOutput) ElementType

func (VirtualCircuitOutput) ElementType() reflect.Type

func (VirtualCircuitOutput) ToVirtualCircuitOutput

func (o VirtualCircuitOutput) ToVirtualCircuitOutput() VirtualCircuitOutput

func (VirtualCircuitOutput) ToVirtualCircuitOutputWithContext

func (o VirtualCircuitOutput) ToVirtualCircuitOutputWithContext(ctx context.Context) VirtualCircuitOutput

func (VirtualCircuitOutput) ToVirtualCircuitPtrOutput

func (o VirtualCircuitOutput) ToVirtualCircuitPtrOutput() VirtualCircuitPtrOutput

func (VirtualCircuitOutput) ToVirtualCircuitPtrOutputWithContext

func (o VirtualCircuitOutput) ToVirtualCircuitPtrOutputWithContext(ctx context.Context) VirtualCircuitPtrOutput

type VirtualCircuitPtrInput

type VirtualCircuitPtrInput interface {
	pulumi.Input

	ToVirtualCircuitPtrOutput() VirtualCircuitPtrOutput
	ToVirtualCircuitPtrOutputWithContext(ctx context.Context) VirtualCircuitPtrOutput
}

type VirtualCircuitPtrOutput

type VirtualCircuitPtrOutput struct{ *pulumi.OutputState }

func (VirtualCircuitPtrOutput) Elem added in v3.2.0

func (VirtualCircuitPtrOutput) ElementType

func (VirtualCircuitPtrOutput) ElementType() reflect.Type

func (VirtualCircuitPtrOutput) ToVirtualCircuitPtrOutput

func (o VirtualCircuitPtrOutput) ToVirtualCircuitPtrOutput() VirtualCircuitPtrOutput

func (VirtualCircuitPtrOutput) ToVirtualCircuitPtrOutputWithContext

func (o VirtualCircuitPtrOutput) ToVirtualCircuitPtrOutputWithContext(ctx context.Context) VirtualCircuitPtrOutput

type VirtualCircuitState

type VirtualCircuitState struct {
	// UUID of Connection where the VC is scoped to
	ConnectionId pulumi.StringPtrInput
	// Description for the Virtual Circuit resource
	Description pulumi.StringPtrInput
	// Name of the Virtual Circuit resource
	Name pulumi.StringPtrInput
	// Equinix Metal network-to-network VLAN ID
	NniVlan pulumi.IntPtrInput
	// Nni VLAN ID parameter, see https://metal.equinix.com/developers/docs/networking/fabric/
	NniVnid pulumi.IntPtrInput
	// UUID of the Connection Port where the VC is scoped to
	PortId pulumi.StringPtrInput
	// UUID of the Project where the VC is scoped to
	ProjectId pulumi.StringPtrInput
	// Speed of the Virtual Circuit resource
	Speed pulumi.StringPtrInput
	// Status of the virtal circuit
	// * `vnid`
	Status pulumi.StringPtrInput
	// Tags for the Virtual Circuit resource
	Tags pulumi.StringArrayInput
	// UUID of the VLAN to associate
	VlanId pulumi.StringPtrInput
	// VNID VLAN parameter, see https://metal.equinix.com/developers/docs/networking/fabric/
	Vnid pulumi.IntPtrInput
}

func (VirtualCircuitState) ElementType

func (VirtualCircuitState) ElementType() reflect.Type

type Vlan

type Vlan struct {
	pulumi.CustomResourceState

	// Description string
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Facility where to create the VLAN
	Facility pulumi.StringPtrOutput `pulumi:"facility"`
	Metro    pulumi.StringPtrOutput `pulumi:"metro"`
	// ID of parent project
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// VLAN ID, must be unique in metro
	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 Equinix Metal, refer to

* <https://metal.equinix.com/developers/docs/networking/layer2/> * <https://metal.equinix.com/developers/docs/networking/layer2-configs/>

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-equinix-metal/sdk/v3/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := equinix - metal.NewVlan(ctx, "vlan1Vlan", &equinix-metal.VlanArgs{
			Description: pulumi.String("VLAN in New Jersey"),
			Facility:    pulumi.String("sv15"),
			ProjectId:   pulumi.Any(local.Project_id),
		})
		if err != nil {
			return err
		}
		_, err = equinix - metal.NewVlan(ctx, "vlan1Index_vlanVlan", &equinix-metal.VlanArgs{
			Description: pulumi.String("VLAN in New Jersey"),
			Metro:       pulumi.String("sv"),
			ProjectId:   pulumi.Any(local.Project_id),
			Vxlan:       pulumi.Int(1040),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource can be imported using an existing VLAN ID (UUID)

```sh

$ pulumi import equinix-metal:index/vlan:Vlan metal_vlan {existing_vlan_id}

```

func GetVlan

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

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

func NewVlan

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

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

func (*Vlan) ElementType

func (*Vlan) ElementType() reflect.Type

func (*Vlan) ToVlanOutput

func (i *Vlan) ToVlanOutput() VlanOutput

func (*Vlan) ToVlanOutputWithContext

func (i *Vlan) ToVlanOutputWithContext(ctx context.Context) VlanOutput

func (*Vlan) ToVlanPtrOutput

func (i *Vlan) ToVlanPtrOutput() VlanPtrOutput

func (*Vlan) ToVlanPtrOutputWithContext

func (i *Vlan) ToVlanPtrOutputWithContext(ctx context.Context) VlanPtrOutput

type VlanArgs

type VlanArgs struct {
	// Description string
	Description pulumi.StringPtrInput
	// Facility where to create the VLAN
	Facility pulumi.StringPtrInput
	Metro    pulumi.StringPtrInput
	// ID of parent project
	ProjectId pulumi.StringInput
	// VLAN ID, must be unique in metro
	Vxlan pulumi.IntPtrInput
}

The set of arguments for constructing a Vlan resource.

func (VlanArgs) ElementType

func (VlanArgs) ElementType() reflect.Type

type VlanArray

type VlanArray []VlanInput

func (VlanArray) ElementType

func (VlanArray) ElementType() reflect.Type

func (VlanArray) ToVlanArrayOutput

func (i VlanArray) ToVlanArrayOutput() VlanArrayOutput

func (VlanArray) ToVlanArrayOutputWithContext

func (i VlanArray) ToVlanArrayOutputWithContext(ctx context.Context) VlanArrayOutput

type VlanArrayInput

type VlanArrayInput interface {
	pulumi.Input

	ToVlanArrayOutput() VlanArrayOutput
	ToVlanArrayOutputWithContext(context.Context) VlanArrayOutput
}

VlanArrayInput is an input type that accepts VlanArray and VlanArrayOutput values. You can construct a concrete instance of `VlanArrayInput` via:

VlanArray{ VlanArgs{...} }

type VlanArrayOutput

type VlanArrayOutput struct{ *pulumi.OutputState }

func (VlanArrayOutput) ElementType

func (VlanArrayOutput) ElementType() reflect.Type

func (VlanArrayOutput) Index

func (VlanArrayOutput) ToVlanArrayOutput

func (o VlanArrayOutput) ToVlanArrayOutput() VlanArrayOutput

func (VlanArrayOutput) ToVlanArrayOutputWithContext

func (o VlanArrayOutput) ToVlanArrayOutputWithContext(ctx context.Context) VlanArrayOutput

type VlanInput

type VlanInput interface {
	pulumi.Input

	ToVlanOutput() VlanOutput
	ToVlanOutputWithContext(ctx context.Context) VlanOutput
}

type VlanMap

type VlanMap map[string]VlanInput

func (VlanMap) ElementType

func (VlanMap) ElementType() reflect.Type

func (VlanMap) ToVlanMapOutput

func (i VlanMap) ToVlanMapOutput() VlanMapOutput

func (VlanMap) ToVlanMapOutputWithContext

func (i VlanMap) ToVlanMapOutputWithContext(ctx context.Context) VlanMapOutput

type VlanMapInput

type VlanMapInput interface {
	pulumi.Input

	ToVlanMapOutput() VlanMapOutput
	ToVlanMapOutputWithContext(context.Context) VlanMapOutput
}

VlanMapInput is an input type that accepts VlanMap and VlanMapOutput values. You can construct a concrete instance of `VlanMapInput` via:

VlanMap{ "key": VlanArgs{...} }

type VlanMapOutput

type VlanMapOutput struct{ *pulumi.OutputState }

func (VlanMapOutput) ElementType

func (VlanMapOutput) ElementType() reflect.Type

func (VlanMapOutput) MapIndex

func (VlanMapOutput) ToVlanMapOutput

func (o VlanMapOutput) ToVlanMapOutput() VlanMapOutput

func (VlanMapOutput) ToVlanMapOutputWithContext

func (o VlanMapOutput) ToVlanMapOutputWithContext(ctx context.Context) VlanMapOutput

type VlanOutput

type VlanOutput struct{ *pulumi.OutputState }

func (VlanOutput) ElementType

func (VlanOutput) ElementType() reflect.Type

func (VlanOutput) ToVlanOutput

func (o VlanOutput) ToVlanOutput() VlanOutput

func (VlanOutput) ToVlanOutputWithContext

func (o VlanOutput) ToVlanOutputWithContext(ctx context.Context) VlanOutput

func (VlanOutput) ToVlanPtrOutput

func (o VlanOutput) ToVlanPtrOutput() VlanPtrOutput

func (VlanOutput) ToVlanPtrOutputWithContext

func (o VlanOutput) ToVlanPtrOutputWithContext(ctx context.Context) VlanPtrOutput

type VlanPtrInput

type VlanPtrInput interface {
	pulumi.Input

	ToVlanPtrOutput() VlanPtrOutput
	ToVlanPtrOutputWithContext(ctx context.Context) VlanPtrOutput
}

type VlanPtrOutput

type VlanPtrOutput struct{ *pulumi.OutputState }

func (VlanPtrOutput) Elem added in v3.2.0

func (o VlanPtrOutput) Elem() VlanOutput

func (VlanPtrOutput) ElementType

func (VlanPtrOutput) ElementType() reflect.Type

func (VlanPtrOutput) ToVlanPtrOutput

func (o VlanPtrOutput) ToVlanPtrOutput() VlanPtrOutput

func (VlanPtrOutput) ToVlanPtrOutputWithContext

func (o VlanPtrOutput) ToVlanPtrOutputWithContext(ctx context.Context) VlanPtrOutput

type VlanState

type VlanState struct {
	// Description string
	Description pulumi.StringPtrInput
	// Facility where to create the VLAN
	Facility pulumi.StringPtrInput
	Metro    pulumi.StringPtrInput
	// ID of parent project
	ProjectId pulumi.StringPtrInput
	// VLAN ID, must be unique in metro
	Vxlan pulumi.IntPtrInput
}

func (VlanState) ElementType

func (VlanState) ElementType() reflect.Type

type Volume

type Volume struct {
	pulumi.CustomResourceState

	Attachments      VolumeAttachmentTypeArrayOutput `pulumi:"attachments"`
	BillingCycle     pulumi.StringOutput             `pulumi:"billingCycle"`
	Created          pulumi.StringOutput             `pulumi:"created"`
	Description      pulumi.StringPtrOutput          `pulumi:"description"`
	Facility         pulumi.StringOutput             `pulumi:"facility"`
	Locked           pulumi.BoolPtrOutput            `pulumi:"locked"`
	Name             pulumi.StringOutput             `pulumi:"name"`
	Plan             pulumi.StringOutput             `pulumi:"plan"`
	ProjectId        pulumi.StringOutput             `pulumi:"projectId"`
	Size             pulumi.IntOutput                `pulumi:"size"`
	SnapshotPolicies VolumeSnapshotPolicyArrayOutput `pulumi:"snapshotPolicies"`
	State            pulumi.StringOutput             `pulumi:"state"`
	Updated          pulumi.StringOutput             `pulumi:"updated"`
}

Resource `Volume` was removed in version 3.0.0, and the API support was deprecated on June 1st 2021. See https://metal.equinix.com/developers/docs/storage/elastic-block-storage/#elastic-block-storage for more details.

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.

func (*Volume) ElementType

func (*Volume) ElementType() reflect.Type

func (*Volume) ToVolumeOutput

func (i *Volume) ToVolumeOutput() VolumeOutput

func (*Volume) ToVolumeOutputWithContext

func (i *Volume) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

func (*Volume) ToVolumePtrOutput

func (i *Volume) ToVolumePtrOutput() VolumePtrOutput

func (*Volume) ToVolumePtrOutputWithContext

func (i *Volume) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumeArgs

type VolumeArgs struct {
	BillingCycle     pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Facility         pulumi.StringInput
	Locked           pulumi.BoolPtrInput
	Plan             pulumi.StringInput
	ProjectId        pulumi.StringInput
	Size             pulumi.IntInput
	SnapshotPolicies VolumeSnapshotPolicyArrayInput
}

The set of arguments for constructing a Volume resource.

func (VolumeArgs) ElementType

func (VolumeArgs) ElementType() reflect.Type

type VolumeArray

type VolumeArray []VolumeInput

func (VolumeArray) ElementType

func (VolumeArray) ElementType() reflect.Type

func (VolumeArray) ToVolumeArrayOutput

func (i VolumeArray) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArray) ToVolumeArrayOutputWithContext

func (i VolumeArray) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeArrayInput

type VolumeArrayInput interface {
	pulumi.Input

	ToVolumeArrayOutput() VolumeArrayOutput
	ToVolumeArrayOutputWithContext(context.Context) VolumeArrayOutput
}

VolumeArrayInput is an input type that accepts VolumeArray and VolumeArrayOutput values. You can construct a concrete instance of `VolumeArrayInput` via:

VolumeArray{ VolumeArgs{...} }

type VolumeArrayOutput

type VolumeArrayOutput struct{ *pulumi.OutputState }

func (VolumeArrayOutput) ElementType

func (VolumeArrayOutput) ElementType() reflect.Type

func (VolumeArrayOutput) Index

func (VolumeArrayOutput) ToVolumeArrayOutput

func (o VolumeArrayOutput) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArrayOutput) ToVolumeArrayOutputWithContext

func (o VolumeArrayOutput) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeAttachment

type VolumeAttachment struct {
	pulumi.CustomResourceState

	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
}

Resource `VolumeAttachment` was removed in version 3.0.0, and the API support was deprecated on June 1st 2021. See https://metal.equinix.com/developers/docs/storage/elastic-block-storage/#elastic-block-storage for more details.

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.

func (*VolumeAttachment) ElementType

func (*VolumeAttachment) ElementType() reflect.Type

func (*VolumeAttachment) ToVolumeAttachmentOutput

func (i *VolumeAttachment) ToVolumeAttachmentOutput() VolumeAttachmentOutput

func (*VolumeAttachment) ToVolumeAttachmentOutputWithContext

func (i *VolumeAttachment) ToVolumeAttachmentOutputWithContext(ctx context.Context) VolumeAttachmentOutput

func (*VolumeAttachment) ToVolumeAttachmentPtrOutput

func (i *VolumeAttachment) ToVolumeAttachmentPtrOutput() VolumeAttachmentPtrOutput

func (*VolumeAttachment) ToVolumeAttachmentPtrOutputWithContext

func (i *VolumeAttachment) ToVolumeAttachmentPtrOutputWithContext(ctx context.Context) VolumeAttachmentPtrOutput

type VolumeAttachmentArgs

type VolumeAttachmentArgs struct {
	DeviceId pulumi.StringInput
	VolumeId pulumi.StringInput
}

The set of arguments for constructing a VolumeAttachment resource.

func (VolumeAttachmentArgs) ElementType

func (VolumeAttachmentArgs) ElementType() reflect.Type

type VolumeAttachmentArray

type VolumeAttachmentArray []VolumeAttachmentInput

func (VolumeAttachmentArray) ElementType

func (VolumeAttachmentArray) ElementType() reflect.Type

func (VolumeAttachmentArray) ToVolumeAttachmentArrayOutput

func (i VolumeAttachmentArray) ToVolumeAttachmentArrayOutput() VolumeAttachmentArrayOutput

func (VolumeAttachmentArray) ToVolumeAttachmentArrayOutputWithContext

func (i VolumeAttachmentArray) ToVolumeAttachmentArrayOutputWithContext(ctx context.Context) VolumeAttachmentArrayOutput

type VolumeAttachmentArrayInput

type VolumeAttachmentArrayInput interface {
	pulumi.Input

	ToVolumeAttachmentArrayOutput() VolumeAttachmentArrayOutput
	ToVolumeAttachmentArrayOutputWithContext(context.Context) VolumeAttachmentArrayOutput
}

VolumeAttachmentArrayInput is an input type that accepts VolumeAttachmentArray and VolumeAttachmentArrayOutput values. You can construct a concrete instance of `VolumeAttachmentArrayInput` via:

VolumeAttachmentArray{ VolumeAttachmentArgs{...} }

type VolumeAttachmentArrayOutput

type VolumeAttachmentArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentArrayOutput) ElementType

func (VolumeAttachmentArrayOutput) Index

func (VolumeAttachmentArrayOutput) ToVolumeAttachmentArrayOutput

func (o VolumeAttachmentArrayOutput) ToVolumeAttachmentArrayOutput() VolumeAttachmentArrayOutput

func (VolumeAttachmentArrayOutput) ToVolumeAttachmentArrayOutputWithContext

func (o VolumeAttachmentArrayOutput) ToVolumeAttachmentArrayOutputWithContext(ctx context.Context) VolumeAttachmentArrayOutput

type VolumeAttachmentInput

type VolumeAttachmentInput interface {
	pulumi.Input

	ToVolumeAttachmentOutput() VolumeAttachmentOutput
	ToVolumeAttachmentOutputWithContext(ctx context.Context) VolumeAttachmentOutput
}

type VolumeAttachmentMap

type VolumeAttachmentMap map[string]VolumeAttachmentInput

func (VolumeAttachmentMap) ElementType

func (VolumeAttachmentMap) ElementType() reflect.Type

func (VolumeAttachmentMap) ToVolumeAttachmentMapOutput

func (i VolumeAttachmentMap) ToVolumeAttachmentMapOutput() VolumeAttachmentMapOutput

func (VolumeAttachmentMap) ToVolumeAttachmentMapOutputWithContext

func (i VolumeAttachmentMap) ToVolumeAttachmentMapOutputWithContext(ctx context.Context) VolumeAttachmentMapOutput

type VolumeAttachmentMapInput

type VolumeAttachmentMapInput interface {
	pulumi.Input

	ToVolumeAttachmentMapOutput() VolumeAttachmentMapOutput
	ToVolumeAttachmentMapOutputWithContext(context.Context) VolumeAttachmentMapOutput
}

VolumeAttachmentMapInput is an input type that accepts VolumeAttachmentMap and VolumeAttachmentMapOutput values. You can construct a concrete instance of `VolumeAttachmentMapInput` via:

VolumeAttachmentMap{ "key": VolumeAttachmentArgs{...} }

type VolumeAttachmentMapOutput

type VolumeAttachmentMapOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentMapOutput) ElementType

func (VolumeAttachmentMapOutput) ElementType() reflect.Type

func (VolumeAttachmentMapOutput) MapIndex

func (VolumeAttachmentMapOutput) ToVolumeAttachmentMapOutput

func (o VolumeAttachmentMapOutput) ToVolumeAttachmentMapOutput() VolumeAttachmentMapOutput

func (VolumeAttachmentMapOutput) ToVolumeAttachmentMapOutputWithContext

func (o VolumeAttachmentMapOutput) ToVolumeAttachmentMapOutputWithContext(ctx context.Context) VolumeAttachmentMapOutput

type VolumeAttachmentOutput

type VolumeAttachmentOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentOutput) ElementType

func (VolumeAttachmentOutput) ElementType() reflect.Type

func (VolumeAttachmentOutput) ToVolumeAttachmentOutput

func (o VolumeAttachmentOutput) ToVolumeAttachmentOutput() VolumeAttachmentOutput

func (VolumeAttachmentOutput) ToVolumeAttachmentOutputWithContext

func (o VolumeAttachmentOutput) ToVolumeAttachmentOutputWithContext(ctx context.Context) VolumeAttachmentOutput

func (VolumeAttachmentOutput) ToVolumeAttachmentPtrOutput

func (o VolumeAttachmentOutput) ToVolumeAttachmentPtrOutput() VolumeAttachmentPtrOutput

func (VolumeAttachmentOutput) ToVolumeAttachmentPtrOutputWithContext

func (o VolumeAttachmentOutput) ToVolumeAttachmentPtrOutputWithContext(ctx context.Context) VolumeAttachmentPtrOutput

type VolumeAttachmentPtrInput

type VolumeAttachmentPtrInput interface {
	pulumi.Input

	ToVolumeAttachmentPtrOutput() VolumeAttachmentPtrOutput
	ToVolumeAttachmentPtrOutputWithContext(ctx context.Context) VolumeAttachmentPtrOutput
}

type VolumeAttachmentPtrOutput

type VolumeAttachmentPtrOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentPtrOutput) Elem added in v3.2.0

func (VolumeAttachmentPtrOutput) ElementType

func (VolumeAttachmentPtrOutput) ElementType() reflect.Type

func (VolumeAttachmentPtrOutput) ToVolumeAttachmentPtrOutput

func (o VolumeAttachmentPtrOutput) ToVolumeAttachmentPtrOutput() VolumeAttachmentPtrOutput

func (VolumeAttachmentPtrOutput) ToVolumeAttachmentPtrOutputWithContext

func (o VolumeAttachmentPtrOutput) ToVolumeAttachmentPtrOutputWithContext(ctx context.Context) VolumeAttachmentPtrOutput

type VolumeAttachmentState

type VolumeAttachmentState struct {
	DeviceId pulumi.StringPtrInput
	VolumeId pulumi.StringPtrInput
}

func (VolumeAttachmentState) ElementType

func (VolumeAttachmentState) ElementType() reflect.Type

type VolumeAttachmentType

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

type VolumeAttachmentTypeArgs

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

func (VolumeAttachmentTypeArgs) ElementType

func (VolumeAttachmentTypeArgs) ElementType() reflect.Type

func (VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutput

func (i VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutput() VolumeAttachmentTypeOutput

func (VolumeAttachmentTypeArgs) ToVolumeAttachmentTypeOutputWithContext

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

type VolumeAttachmentTypeArray

type VolumeAttachmentTypeArray []VolumeAttachmentTypeInput

func (VolumeAttachmentTypeArray) ElementType

func (VolumeAttachmentTypeArray) ElementType() reflect.Type

func (VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutput

func (i VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutput() VolumeAttachmentTypeArrayOutput

func (VolumeAttachmentTypeArray) ToVolumeAttachmentTypeArrayOutputWithContext

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

type VolumeAttachmentTypeArrayInput

type VolumeAttachmentTypeArrayInput interface {
	pulumi.Input

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

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

VolumeAttachmentTypeArray{ VolumeAttachmentTypeArgs{...} }

type VolumeAttachmentTypeArrayOutput

type VolumeAttachmentTypeArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentTypeArrayOutput) ElementType

func (VolumeAttachmentTypeArrayOutput) Index

func (VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutput

func (o VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutput() VolumeAttachmentTypeArrayOutput

func (VolumeAttachmentTypeArrayOutput) ToVolumeAttachmentTypeArrayOutputWithContext

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

type VolumeAttachmentTypeInput

type VolumeAttachmentTypeInput interface {
	pulumi.Input

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

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

VolumeAttachmentTypeArgs{...}

type VolumeAttachmentTypeOutput

type VolumeAttachmentTypeOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentTypeOutput) ElementType

func (VolumeAttachmentTypeOutput) ElementType() reflect.Type

func (VolumeAttachmentTypeOutput) Href

func (VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutput

func (o VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutput() VolumeAttachmentTypeOutput

func (VolumeAttachmentTypeOutput) ToVolumeAttachmentTypeOutputWithContext

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

type VolumeInput

type VolumeInput interface {
	pulumi.Input

	ToVolumeOutput() VolumeOutput
	ToVolumeOutputWithContext(ctx context.Context) VolumeOutput
}

type VolumeMap

type VolumeMap map[string]VolumeInput

func (VolumeMap) ElementType

func (VolumeMap) ElementType() reflect.Type

func (VolumeMap) ToVolumeMapOutput

func (i VolumeMap) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMap) ToVolumeMapOutputWithContext

func (i VolumeMap) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeMapInput

type VolumeMapInput interface {
	pulumi.Input

	ToVolumeMapOutput() VolumeMapOutput
	ToVolumeMapOutputWithContext(context.Context) VolumeMapOutput
}

VolumeMapInput is an input type that accepts VolumeMap and VolumeMapOutput values. You can construct a concrete instance of `VolumeMapInput` via:

VolumeMap{ "key": VolumeArgs{...} }

type VolumeMapOutput

type VolumeMapOutput struct{ *pulumi.OutputState }

func (VolumeMapOutput) ElementType

func (VolumeMapOutput) ElementType() reflect.Type

func (VolumeMapOutput) MapIndex

func (VolumeMapOutput) ToVolumeMapOutput

func (o VolumeMapOutput) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMapOutput) ToVolumeMapOutputWithContext

func (o VolumeMapOutput) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeOutput

type VolumeOutput struct{ *pulumi.OutputState }

func (VolumeOutput) ElementType

func (VolumeOutput) ElementType() reflect.Type

func (VolumeOutput) ToVolumeOutput

func (o VolumeOutput) ToVolumeOutput() VolumeOutput

func (VolumeOutput) ToVolumeOutputWithContext

func (o VolumeOutput) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

func (VolumeOutput) ToVolumePtrOutput

func (o VolumeOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumeOutput) ToVolumePtrOutputWithContext

func (o VolumeOutput) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumePtrInput

type VolumePtrInput interface {
	pulumi.Input

	ToVolumePtrOutput() VolumePtrOutput
	ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput
}

type VolumePtrOutput

type VolumePtrOutput struct{ *pulumi.OutputState }

func (VolumePtrOutput) Elem added in v3.2.0

func (o VolumePtrOutput) Elem() VolumeOutput

func (VolumePtrOutput) ElementType

func (VolumePtrOutput) ElementType() reflect.Type

func (VolumePtrOutput) ToVolumePtrOutput

func (o VolumePtrOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumePtrOutput) ToVolumePtrOutputWithContext

func (o VolumePtrOutput) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumeSnapshotPolicy

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

type VolumeSnapshotPolicyArgs

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

func (VolumeSnapshotPolicyArgs) ElementType

func (VolumeSnapshotPolicyArgs) ElementType() reflect.Type

func (VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutput

func (i VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutput() VolumeSnapshotPolicyOutput

func (VolumeSnapshotPolicyArgs) ToVolumeSnapshotPolicyOutputWithContext

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

type VolumeSnapshotPolicyArray

type VolumeSnapshotPolicyArray []VolumeSnapshotPolicyInput

func (VolumeSnapshotPolicyArray) ElementType

func (VolumeSnapshotPolicyArray) ElementType() reflect.Type

func (VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutput

func (i VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutput() VolumeSnapshotPolicyArrayOutput

func (VolumeSnapshotPolicyArray) ToVolumeSnapshotPolicyArrayOutputWithContext

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

type VolumeSnapshotPolicyArrayInput

type VolumeSnapshotPolicyArrayInput interface {
	pulumi.Input

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

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

VolumeSnapshotPolicyArray{ VolumeSnapshotPolicyArgs{...} }

type VolumeSnapshotPolicyArrayOutput

type VolumeSnapshotPolicyArrayOutput struct{ *pulumi.OutputState }

func (VolumeSnapshotPolicyArrayOutput) ElementType

func (VolumeSnapshotPolicyArrayOutput) Index

func (VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutput

func (o VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutput() VolumeSnapshotPolicyArrayOutput

func (VolumeSnapshotPolicyArrayOutput) ToVolumeSnapshotPolicyArrayOutputWithContext

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

type VolumeSnapshotPolicyInput

type VolumeSnapshotPolicyInput interface {
	pulumi.Input

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

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

VolumeSnapshotPolicyArgs{...}

type VolumeSnapshotPolicyOutput

type VolumeSnapshotPolicyOutput struct{ *pulumi.OutputState }

func (VolumeSnapshotPolicyOutput) ElementType

func (VolumeSnapshotPolicyOutput) ElementType() reflect.Type

func (VolumeSnapshotPolicyOutput) SnapshotCount

func (o VolumeSnapshotPolicyOutput) SnapshotCount() pulumi.IntOutput

func (VolumeSnapshotPolicyOutput) SnapshotFrequency

func (o VolumeSnapshotPolicyOutput) SnapshotFrequency() pulumi.StringOutput

func (VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutput

func (o VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutput() VolumeSnapshotPolicyOutput

func (VolumeSnapshotPolicyOutput) ToVolumeSnapshotPolicyOutputWithContext

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

type VolumeState

func (VolumeState) ElementType

func (VolumeState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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